The recent report by the ACM Job Migration Task Force points to the immediate need to teach "programming-in-the-large", the skills to work with and develop large and complex production-grade software and systems, so young computing professionals can stay competitive in the face of IT globalization and offshoring of software [4, 13]. However, current computer science curricula are inadequate to prepare college graduates to meet the reality of computing. Most course projects fall into the "programming-in-the-small" mode, in which students implement small, isolated projects to explore the course subject matter and with little emphasis on how the smaller pieces can be integrated to build sophisticated larger scale systems.This paper presents a modern IDE-based approach to address this inadequacy. We develop RobotStudio --- an extensible framework for building IDEs targeting a simple yet versatile educational robot platform. Student projects are implemented as plugin modules of RobotStudio and, when put together, they form a comprehensive IDE for programming the robotic environment.This paper describes the architecture of the RobotStudio framework, its extension mechanisms, and the teaching practice of using RobotStudio in an introductory compiler construction class to illustrate "programming-in-the-large" principles.
Read full abstract