SWE 211

This is a central course that presents the basic principles and concepts of software engineering and giving a firm foundation for many other courses that will follow this course. It gives broad coverage of the most important terminology and concepts in the software engineering discipline; basic understanding of software life cycle, software processes, project planning and management, requirements engineering processes, basic modeling and design techniques; basics of quality assurance and testing. A sensitization to ethics and professional practice in software engineering as well as the impact of software engineering in economy and society are also discussed. The students are also introduced to a second programming language other than Java (e.g. Python). Students participate in a group project that includes various aspects of software lifecycle such as planning, analysis, design and implementation as well the use of various software engineering tools.

Course Materials