Content area
For practicing computer engineers, the object model has become increasingly important. Recognizing this fact, elective courses in object-oriented programming (OOP) have been offered a number of years. At some point, however, it becomes desirable to integrate this technology throughout the computer engineering curriculum. Such an effort raises many questions, such as language selection and topic sequence. Some faculty members, comfortable with traditional software development techniques, have concerns about making the transition.
At the Milwaukee School of Engineering, we decided to go ahead. Based on input from stakeholders, including our industrial constituency, C++ was chosen as the primary language. Faculty and staff were offered a ten-week course in object concepts and C++, and many chose to participate. As a first step, we converted two freshman software courses from C to C++, and from a focus on structured programming to an object-oriented approach. The first course concentrates on programming basics and the use of existing class libraries, while the second introduces software design and class implementation.
Some lab projects involve the development of traditional stand-alone "console mode" programs from scratch, while others incorporate pre-written graphical user interfaces and class libraries. The latter projects are popular with students, since they resemble contemporary software products. An added bonus is the firsthand experience of the benefits of software reuse.
The computer engineering curriculum at the Milwaukee School of Engineering (MSOE) incorporates a series of software courses, beginning with introductory programming and progressing through software design, data structures, graphics, numerical methods, operating systems, software engineering, and other topics. While students use a variety of programming languages in these courses, one primary language has traditionally been emphasized.
The choice of primary programming language has been based on teaching objectives, available technology, and recommendations from various constituencies (employers, industrial partners, and alumni). In recent years, we have focused on the C programming language, with significant success. However, in light of industry and technology trends, we became convinced that a switch to an object-oriented language was desirable.
Preparing for OO
The process of introducing object technology at MSOE was probably not unusual, but may be of some interest to others still contemplating such a move. In the spring of 1995, a group of faculty
Details
Software;
C plus plus;
Curricula;
Engineering education;
Graphical user interface;
C (programming language);
C (programming language);
Numerical methods;
Students;
Programming languages;
Structured programming;
Data structures;
Engineering schools;
Computer engineering;
Engineers;
Software engineering;
Object-oriented languages;
Software reuse;
Object recognition;
Class libraries;
Software development;
Product design;
Educational technology;
Libraries;
Language;
Technology;
Engineering;
Computers;
Human-computer interaction;
Teaching;
Languages;
Interfaces;
Constituents;
Educational activities;
Graphical user interfaces;
College faculty;
Computer graphics;
Reuse;
Employers