Skip to Main Content
The United States Military Academy prepares each and every one of its students for professional service as an Army officer. The general educational goal is to "enable its graduates to anticipate and to respond effectively to the uncertainties of a changing technological...world". It uses the "Engineer Thought Process" to help meet this general goal. Each student enrolled in the Academy selects a five-course engineering sequence. Students become familiar with analytical and empirical models representing components, systems or processes that are germane to the selected sequence. The final phase of the sequence is a capstone project in which the students must design and implement or prototype a solution to a real world technical problem. In order to comply with the standard Academy curricular model, we are moving to one computer science engineering sequence for not only CS majors, but also for our nonmajors taking the CS engineering sequence courses. The computer science capstone project requires students to build an extensive software system. This requires a breadth of knowledge in software design principles as well as sufficient depth in a particular programming language and environment. In this sense, students must be well trained in the use of the selected language. Yet, to serve its purpose as a viable system, students must also take into consideration the software engineering aspects of system development. This paper discusses the role of theory and application in both an applied programming course and the follow-on senior design sequence.