Course overview
Within the context of a semester-long, group-based software engineering project, this course provides an introduction to the production of high quality software solutions to large tasks. Among the topics covered in this course are the following: models of the software life-cycle, requirements analysis and specification, program design techniques and paradigms, software specification techniques, configuration management and version control, quality assurance, integration and testing, project management, risk analysis, case study of ethical considerations in Software Engineering.
Course learning outcomes
- Discuss software development techniques and methodologies
- Apply various Computer Science methods and algorithms
- Apply in group-based software developmen
- tDemonstrate appropriate professional conduct
- Discuss professional codes of conduct of Computer Scientists and Engineers
- Demonstrate skills in investigating, analyzing, and using software tools