All those topics are critical for the discipline of aviation. Some other courses, from the ACM palette, can be selected for other domains. Group projects of two to five students are assigned in each course and student teams develop software artifacts based both on the course material and the application domain. The topics cover graphic rendering, relational data bases, knowledge acquisition, expert systems, discrete event simulation, object-oriented methodology, concurrency, tasking, and interprocess communication. The topics were selected as they are relevant to aviation discipline and proctical in aviation applications.
Various courses concentrate on various elements of the software lifecycle.
Some emphasise the requirement and specification stage, some are putting emphasis on design and project management, other on implementation and testing. In addition to the above mentioned applications courses, the curriculum includes a senior design project course that concentrates on a semester-long team project involving a computer application in the aviation domain. The purpose of this component is to give each student an opportunity to participate in a formal software development cycle. This capstone course allows the students to play roles in a software development team and produce software engineering artifacts related to a project in the application domain. The students' work and the project artifacts are used to assess the entire Computer Science program.