MOI UNIVERSITY
SCHOOL OF SCIENCE AND AEROSPACE STUDIES
DEPARTMENT OF …MATHEMATICS, PHYSICS AND COMPUTING
COURSE OUTLINE
Course Code: CSC 226 Course Title: Software Engineering
Academic Year: 2024/2025 Semester: 2
Lecturer: Samwel K. Tarus E-mail: sktarus@yahoo.co.in
(Instructional Hours = 42 Hrs)
Prerequisite: CSC 211
The Purpose of the courses
This course equips with knowledge, skills and attitude on software engineering.
The Course Objectives
This course seeks to facilitate learning about:
1. Software development lifecycle (SDLC)
2. Software requirement specification.
3. Verification and validation of software
4. Software and user documentation
The Expected learning Outcomes
By the end of this course, the learner should be able to:
1. Explain software development life cycle.
2. Describe Software requirement specification document
3. Exploit verification and validation activities throughout the life cycle
4. Develop Software requirement specification document.
The course content
Introduction: Overview, significance, Software development life cycle models, role of software
engineering in modern applications. Requirements Engineering: Gathering and analyzing
software requirements, Requirements specification and validation, Use cases, user stories, and
requirements documentation. Software Design and Architecture: Software design principles
and patterns, Architectural styles, design documentation and modeling techniques. Object-
Oriented Analysis and Design: Object-oriented concepts and modeling techniques (UML), Use
case modeling and class diagrams, Design principles (SOLID) and design patterns. Software
Testing and Quality Assurance: Fundamentals and types, testing techniques and test case
design, Quality assurance practices and metrics. Software Development Methodologies: Agile
methodologies, Waterfall model and hybrid methodologies, Continuous integration and
continuous delivery. Software Project Management: Project planning, estimation, and
scheduling, Risk management and change control, Team organization and collaboration tools.
Software Maintenance and Evolution: Importance of software maintenance, Bug tracking,
issue management, and version control, Legacy system modernization and refactoring. Software
Metrics and Measurement: Metrics for software quality and productivity, Software
measurement techniques and metrics analysis, Metrics-driven decision-making in software
projects. Software Engineering Ethics and Professionalism: Ethical considerations,
Professional responsibilities and codes of ethics, Social impact of software development.
Software Documentation and Communication: Importance, writing effective technical
documentation, Communication skills and collaboration in software teams.
Instructional Methods:
1. Lectures.
2. Discussions.
3. Demonstrations.
4. Tasks and assignments.
5. Laboratory experiments.
6. Case studies.
Instructional Materials/Equipment:
Text books, handouts, scientific papers, journals, audio visual, LCD projector and a laptop, white
board; Computers and relevant laboratory equipment.
Mode of Assessment:
The course will be assessed by a written end-semester examination and continuous assessment
tests and tasks (CATTS). The CATTS will comprise of i) written or take-away and ii) laboratory
reports or assignment
Mode of Assessment Type Weighting (%)
Continuous assessment tests and tasks 40%
Final examination 60%
Total 100%
Course Monitoring and Evaluation
Student’s class attendance lists, Supervision, Students evaluation of course/lecturer at the end of
the course, Students Progress Reports, External examiner’s reports, External and internal
auditor’s reports at the end of every semester of an academic year.
Core Reading Materials for the Course
1. Ian Sommerville (2005). Software Engineering (7th Ed.). Pearson Education. ISBN:
817808497X PDF Soft Copy Available
2. Pressman, R (2006). Software Engineering: A Practical Approach. (7th Ed.). PDF Soft
Copy Available.
3. Jalote, P. (2012). An integrated approach to software engineering. Springer Science &
Business Media.
4. Humphrey, W. S. (2000). Introduction to the team software process. Addison-Wesley
Professional.
Recommended Reference Materials
1. Jawadekar, W. S. (2008). Software Engineering: A Primer. Tata McGraw-Hill Education
Private Limited.
2. Mall, R. (2018). Fundamentals of software engineering. PHI Learning Pvt. Ltd..
3. Ghezzi, C., Jazayeri, M., & Mandrioli, D. (1991). Fundamentals of software engineering.
Prentice-Hall, Inc..
4. Behforooz, A., & Hudson, F. J. (1996). Software engineering fundamentals. Oxford
University Press, Inc..
5. Pohl, K. (2010). Requirements engineering: fundamentals, principles, and techniques.
Springer Publishing Company, Incorporated.
6. Larman, C. (2012). Applying UML and patterns: an introduction to object oriented
analysis and design and iterative development. Pearson Education India.
7. Lawrence, P. S. (1998). Software engineering: theory and practice. Pearson Education
India.
Course Journals
1. Acta Informatica ISSN 0001-5903
2. Advances in Computational Mathematics ISSN 1019-7168
3. Advances in data Analysis and Classification ISSN1 1862-5347
4. Annals Of software Engineering ISSN 1022-7091
Reference Journals
1. Journal of computer science and Technology ISSN 1000-9000
2. Journal of Science and Technology ISSN 1860-4749
3. Central European Journal Of Computer Science ISSN 1896-1533
4. Cluster computing ISSN 1386-7857
Signature …Lecturer’s Name: Mr. Samwel K. Tarus Date 7th April 2025