Computer Science II: Software Engineering
Rationale
The field of software engineering (SE) is concerned with all aspects of software development, from the early stages of system specification to maintaining the system after it has gone into use. This includes technical processes of software development as well as activities such as software project management and the development of tools, methods, and theories to support software development. This course focuses on helping students to develop a good understanding of the fundamental concepts and principles for the cost-effective engineering of high-quality software systems.
Course Description
This course provides the student with a working knowledge of the terms, principles, and methods of Software Engineering, with emphasis on the topics described in the IEEE’s Software Engineering Body of Knowledge, http://www.swebok.org. It also addresses other topics and skills essential for a career in software engineering including project management, open source software, and management. This course establishes bedrock knowledge necessary to practice software engineering in software projects and to pursue further courses in software engineering.
Learning Outcomes
On completion of this course, students should be able to:
- Discuss and explain the major issues in contemporary software development and maintenance as related to complex and critical software systems;
- Apply the methods and practices typically used in software development and management of software.
- Explain leading practices in software engineering
- Analyze key principles of systems engineering and explain how they apply to software development.
- Evaluate new methods and practices in Software engineering
- Apply what they have learnt to more advanced courses in software engineering and use their skills gained efficiently in the world of work.
Assessment Summary
Introduction to Computer Science II: Software Engineering: A Guide for Colleges and Universities – 1 EDITION
CHAPTER | TASK | ASSESSMENT METHODOLOGY | Due Date | Time | Weighting | Learning Outcome |
CHAPTER 1: Introduction CHAPTER 2: Software Requirements | 1. | Chapter 1 Practical Activity Group ProjectCase StudyResearch Project Chapter 2 Practical Activity Group Project Case StudyResearch Project | 26th September 2023 | 11:59 mid night | 20% | 1 |
CHAPTER 3: Software Estimation CHAPTER 4: Software Engineering | 2 | Chapter 3 Practical Activity # 1Practical Activity # 2Group Project Case StudyResearch Project Chapter 4 Practical Activity Group Project Case StudyResearch Project | 09th of October 2023 | 11:59 mid night | 20% | 2 |
CHAPTER 5: Software Quality CHAPTER 6: Software Architecture and Design | Chapter 5 Practical Activity Group Project Case StudyResearch Project Chapter 6 Practical Activity Group Project Case StudyResearch Project | 30th of October 2023 | 11:59 mid night | 20% | 3 | |
CHAPTER 7: Techniques CHAPTER 8: Object-Oriented Analysis | 4 | Chapter 7 Practical Activity Group Project Case StudyResearch Project Chapter 8 Practical Activity Group Project Case StudyResearch Project | 13th of November 2023 | 11:59 mid night | 20% | 4 |
CHAPTER 9: Methodologies CHAPTER 10: Human Computer Interaction | 5 | Chapter 9 Practical Activity Group Project Case StudyResearch Project Chapter 10 Practical Activity Group Project Case StudyResearch Project | 27th of November 2023 | 11:59 mid night | 20% | 5, 6 |
Nb: Dates are subjected to be changed.
Recommended Text/Material
Reading List
- Frederick P. Brooks, Jr. (1995). The mythical man-month: Essays on software engineering. (20thAnniversary Edition). Boston, MA: Addison Wesley Professional
- Hunt , A., & Thomas, D. (2000). The pragmatic programmer: from Journeyman to master.   Indianapolis, In: Addison Wesley.
- McConnell, S. (2004).Code complete: A practical handbook of software construction(2nd).        Redmond, Washington: Microsoft Press.
- I. (2015). Software engineering(10thed.). Boston, MA: Addison-Wesley
The course was very enjoyable and informative in teaching Software Engineering.