| Date | Title | Description |
| Mar. 2008 | Robotics for fun and profit | I talk about some robotics platforms available for modest prices and how one might use them to interest a young person in exploring the study of computer science and robotics. |
| Jan. 2008 | Understanding software engineering: A student perspective | I had my software engineering students write a critique of an article that suggested that we abolish the term sofware engineering. I summarized the results of the papers and explained why I thought the students did such a good job of analyzing the article and developing their own throughful conclusions. |
| Dec. 2007 | Computing in a parallel universe | This column discusses concurrency in programs and how it is a technology that will become more important in software as the hardware systems we work on add to their parallel computing capabilities. |
| Nov. 2007 | Getting out of the comfort zone | How do we develop new habits? It's hard to give up our security blankets, whether they're physical or simply habits that we've developed over the years that have allowed us to cope with problems we face. In order to become proficient with new skills, we have to get out of that comfort zone and put ourselves out into a place where we are not the confident experts, but students once again. |
| Sep. 2007 | Where have all the CS majors gone? | I take a look at how the distribution of CS majors has changed, but how CS is more relevant than ever. |
| Aug. 2007 | Rails: The luxury line to professional Web sites | A high-level overview of Ruby on Rails and how the Rails framework simplifies the development of high-quality Web applications. |
| Jul. 2007 | Ruby: A gem of a language | A more detailed look at Ruby and some of the cool features that make it a favorite among programmers today. |
| Jun. 2007 | Dynamically speaking | A brief overview of some popular dynamic languages and why they are becoming more popular for mainstream applications. |
| Apr. 2007 | Collaboration in a flat world | This article looks at the importance of collaboration in software development and describes some of the work we've done in building collaborative tools in our Webfoot project at WPI. |
| Mar. 2007 | Agile software development: A tour of its origins and authors | Here I try to address the question of "what is agile?" If you read this, you'll see that this isn't an easy question. |
| Jan. 2007 | Anti-patterns for people and tools | It's not just processes that we abuse when we try to complete a software development project. Organizations have devised several ways to misuse the people and tools at their disposal. These result in equally disastrous projects. |
| Dec. 2006 | Process adoption anti-patterns: How -- not -- to make a process work for you | We have many processes that work. Yet so many software development projects fail? Why is this? Part of the problem is using a process incorrectly. This article explores some of the more common ways that people fail to use a process properly. |
| Nov. 2006 | Writing clean code | This column addresses the issue of writing code that works and writing clean code that works. There is a penalty that you pay for writing code that no one can understand. You may not pay the price immediately, but you will pay the price. |
| Oct. 2006 | Using mock objects for complex unit tests | This is a tutorial on how to take advantage of IDE capabilities, such as in Eclipse, to easily create mock objects for unit tests. |
| Sep. 2006 | Soft skills for software engineers | Grading students in software engineering classes is similar to reviewing the performance of software developers in industry. Unfortunately, there are few true/false or right/wrong answers to real problems. What should we look for, and how can we evaluate the soft skills that are important for software developers' success? |
| Aug. 2006 | Does process matter? | I examine the different types of processes that might exist in an enterprise and pose the question whether the specific process you choose really matters as long as it "plays well" with the other processes in the organization. |
| Jul. 2006 | Measures of success: RUP and the scientific method | This article suggests some ways to measure whether a team actually follows the process they claim to use in their development activities. |
| Jun. 2006 | Skills and tools for a flat world | I discuss issues like globalization and how we need to make students aware of such issues and the tools we need in order to fully participate in the "flat" world described by Tom Friedman in his book, The World is Flat. |
| May 2006 | Ethics and software development | A discussion of the relationship between ethics and software development and why it is important that we educate developers in ethics. |
| Mar. 2006 | Aspect-Oriented Programming: What is it good for | Updates my views on AOP and presents several cases where the technology has been, and can be used quite successfully. |
| Feb. 2006 | Software Development 101 | This is almost an update of my first column. In it I describe the way I teach software engineering (software development) in a way that simulates the "real world" in a fun, practical way. |
| Dec. 2005 | Teaching software development vs. software engineering | This column describes the difference between software engineering as it is presented in most textbooks on the subject, and software development as it is really practiced. Then I explain why I believe it's important for me to teach the latter. |
| Oct. 2005 | Beyond an objects-first approach | This column looks at structured versus object-oriented thinking, explains the benefits of an objects-first teaching approach, and speculates on the possibility of transitioning to an aspects-first approach, as the practices of aspect-oriented programming become more widespread. |
| Sep. 2005 | Teamwork: Setting up for success | This column takes a more pragmatic look at the similarities of how the great art masterpieces were constructed and how great software teams work today. |
| Aug. 2005 | Masters and masterpieces | Continuing the artistic thread, this article asks the reader to consider some of the great software masterpieces, like Smalltalk, Eclipse, and others. It discusses what I think makes something qualify as a masterpiece. |
| Jul. 2005 | Great art and the craft of software development | Having just returned from almost three weeks in Italy, this is the first of three articles that looks at the similarities of software development and the artistic masterpieces of the Renaissance. |
| Jun. 2005 | Why I teach Eclipse | Eclipse has become a mainstay in my courses and several of my colleague's courses. In this article I discuss the benefits that the open source IDE offers and how I use it in my classes. |
| May 2005 | Software engineering in China: The next big thing | China is producing software engineers at an amazing rate. In this article I look at what the Chinese engineers learn. Input for this article cam from a colleague, Prof.Haiqing Liu who spent a year at WPI learning how we teach software engineering. |
| Apr. 2005 | Joyful research: Finding meaningful metrics | This article discusses the concept of research, software metrics, and my Tracer project for a metrics workbench. Tracer hasn't gotten much traction, but may be subsumed by the Webfoot project. |
| Mar. 2005 | Books in theory and practice | This column was for the special "book" issue of the e-zine. I discuss some of my favorites and the different series of computer science and IT books that the readers might be interested in. |
| Feb. 2005 | How does academic research shape your future? | A look at some of the research projects by faculty in WPI's computer science department. |
| Dec. 2004 | How far have we come? | A retrospective on the history of software engineering and a look ahead. |
| Oct. 2004 | Agility comes of age | A report on the 2004 XP/Agile conference. |
| Sep. 2004 | Navigating with project metrics: Are we there yet? | Follows up on the previous column with useful team metrics and how to apply them. |
| Aug. 2004 | Measuring up | Discusses how to better estimate your work. Introduces Watts Humphrey's Personal Software Process (PSP) and a tool that does a nice job of helping you gather the data you need. |
| Jul. 2004 | Formally Speaking: How to apply OCL | An introduction to the Object Constraint Language (OCL) and how it can be used pragmatically in software development. |
| Jun. 2004 | Test before you code | An introduction to test-first programming (TFP). |
| May 2004 | Matching project and process | What does it take for a process to be effective? If you don't consider the project on which it will be applied, and the project-specific needs, the process will fail along with the project. |
| Mar. 2004 | Teaching vs. training | A look at the different goals of industrial training compared to the goals of the university / academy. |
| Feb. 2004 | A look at aspect-oriented programming | A general overview of AOP and some issues that might arise, especially when considering security and testing. |
| Jan. 2004 | Software development theory and practice in the college curriculum | My first column. It provides a description of my general approach to teaching at the time. It describes how I taught Object-Oriented Analysis and Design the first time. |
Modified:21-Mar-2008
Gary
Pollice