MSCS: MCS 503 – Software Engineering
Categories: MS in Computer Science
About Course
- This course provides a comprehensive overview of the methodologies and tools used in software development, focusing on key phases such as requirements analysis, design, testing, and maintenance.
- Students will gain hands-on experience with industry-standard practices and tools, emphasizing the importance of adhering to best practices and established standards in software engineering.
- The course is designed to prepare students to tackle real-world software development challenges effectively and efficiently.
Course Content
Week 1: Introduction to Software Engineering
-
Week 1: Introduction to Software Engineering
04:11 -
LO1: Define key terms and concepts of Software Engineering
08:37 -
LO2: Describe the Software Development Life Cycle (SDLC)
09:51 -
LO3: Compare traditional and modern approaches to Software Development
16:40 -
Multiple Choice Questions
-
True/False Questions
-
Scenario-Based Multiple Choice Questions
-
Key Terms and Concepts Questions
-
Short Answer Questions
-
Written Assignment
-
Presentation Task
-
Role-Playing Activity
-
Peer Review Task
-
Exercises and Activities Adaptation
Week 2: Software Development Methodologies
-
Week 2: Software Development Methodologies
03:01 -
LO1: Discuss the Waterfall Development Model, its Advantages, and Limitations
13:39 -
LO2: Explain the Agile Development Model, its Advantages, and Limitations
13:23 -
LO3: Compare the features of other Development Models
10:38 -
Multiple Choice Questions
-
True/False Questions
-
Scenario-Based Multiple Choice Questions
-
Key Terms and Concepts Questions
-
Short Answer Questions
-
Written Assignment
-
Presentation Task
-
Role-Playing Activity
-
Peer Review Task
-
Exercises and Activities Adaptation
Week 3: Requirements Engineering
-
Week 3: Requirements Engineering
03:03 -
LO1: Discuss the concept of Software Requirements(Functional and Non-functional)
09:10 -
LO2: Develop use case scenarios for a proposed Software System
11:33 -
LO3: Analyse the completeness and clarity of a Requirement Specification
10:46 -
Multiple Choice Questions
-
True/False Questions
-
Scenario-Based Multiple Choice Questions
-
Key Terms and Concepts Questions
-
Short Answer Questions
-
Written Assignment
-
Presentation Task
-
Role-Playing Activity
-
Peer Review Task
-
Exercises and Activities Adaptation
Week 4: Software Design Principles
-
Week 4: Software Design Principles
02:59 -
LO1: Describe key Software Design Principles and their Objectives
08:57 -
LO2: Classify common Software Architectural Styles and Patterns
09:53 -
LO3: Apply appropriate Design Patterns to solve Software Problems
10:10 -
Multiple Choice Questions
-
True/False Questions
-
Scenario-Based Multiple Choice Questions
-
Key Terms and Concepts Questions
-
Short Answer Questions
-
Written Assignment
-
Presentation Task
-
Role-Playing Activity
-
Peer Review Task
-
Exercises and Activities Adaptation
Week 5: Object-Oriented Design
-
Week 5: Object-Oriented Design
03:01 -
LO1: Define Object-oriented Design Principles
11:03 -
LO2: Construct UML Class and Sequence Diagrams for System Requirements
12:47 -
LO3: Analyse Object-oriented Design solutions for Cohesion and Coupling
12:25 -
Multiple Choice Questions
-
True/False Questions
-
Scenario-Based Multiple Choice Questions
-
Key Terms and Concepts Questions
-
Short Answer Questions
-
Written Assignment
-
Presentation Task
-
Role-Playing Activity
-
Peer Review Task
-
Exercises and Activities Adaptation
Week 6: Software Testing Strategies
-
Week 6: Software Testing Strategies
02:52 -
LO1: Identify different levels and types of Software Testing
10:05 -
LO2: Explain the role of Test-driven Development in Software quality
12:36 -
LO3: Design Test cases for Unit and Integration Testing
11:15 -
Multiple Choice Questions
-
True/False Questions
-
Scenario-Based Multiple Choice Questions
-
Key Terms and Concepts Questions
-
Short Answer Questions
-
Written Assignment
-
Presentation Task
-
Role-Playing Activity
-
Peer Review Task
-
Exercises and Activities Adaptation
Week 7: Quality Assurance and Software Metrics
-
Week 7: Quality Assurance and Software Metrics
02:53 -
LO1: Define Software Quality Attributes and Assurance Techniques
12:18 -
LO2: Explain how Software Metrics are used to Measure Code Quality
11:38 -
LO3: Discuss a Peer Code Review and Identify Quality Issues
14:35 -
LO4: Analyse the impact of Quality Metrics on Software Maintenance
10:22 -
Multiple Choice Questions
-
True/False Questions
-
Scenario-Based Multiple Choice Questions
-
Key Terms and Concepts Questions
-
Short Answer Questions
-
Written Assignment
-
Presentation Task
-
Role-Playing Activity
-
Peer Review Task
-
Exercises and Activities Adaptation
Week 8: Midterm Test
-
Mid Term Review
06:37 -
Multiple Choice Questions
-
True/False Questions
-
Short Answer Questions
-
Scenario-Based Questions
Week 9: Software Maintenance and Evolution
-
Week 9: Software Maintenance and Evolution
03:54 -
LO1: Describe different types of Software Maintenance
12:10 -
LO2: Apply Refactoring Techniques to improve existing Code
11:01 -
LO3: Analyse the challenges in Maintaining Legacy Systems
14:51 -
LO4: Evaluate Maintenance Strategies for Long-term System Sustainability
12:01 -
Multiple Choice Questions
-
True/False Questions (5 Questions)
-
Scenario-Based Multiple Choice Questions
-
Key Terms and Concepts Questions
-
Short Answer Questions
-
Written Assignment
-
Presentation Task
-
Role-Playing Activity
-
Peer Review Task
-
Exercises and Activities Adaptation
Week 10: Software Configuration Management
-
Week 10: Software Configuration Management
03:18 -
LO1: Identify the Components and Tools of Configuration Management
11:58 -
LO2: Discuss the use of Version Control Systems (eg, Git)
11:21 -
LO3: Compare Branching Strategies in Collaborative Environments
09:49 -
Multiple Choice Questions
-
True/False Questions
-
Scenario-Based Multiple Choice Questions
-
Key Terms and Concepts Questions
-
Short Answer Questions
-
Written Assignment
-
Presentation Task
-
Role-Playing Activity
-
Peer Review Task
-
Exercises and Activities Adaptation
Week 11: Agile Software Development
-
Week 11: Agile Software Development
03:18 -
LO1: Explain core Agile Principles and Values
12:52 -
LO2: Describe the Roles and Events in a Scrum Framework
12:08 -
LO3: Apply Agile Practices to manage Small-scale Software Projects
10:37 -
LO4: Assess the effectiveness of Agile Methodologies in Iterative Development
12:52 -
Multiple Choice Questions
-
True/False Questions
-
Scenario-Based Multiple Choice Questions
-
Key Terms and Concepts Questions
-
Short Answer Questions
-
Written Assignment
-
Presentation Task
-
Role-Playing Activity
-
Peer Review Task
-
Exercises and Activities Adaptation
Week 12: DevOps and Continuous Integration
-
Week 12: DevOps and Continuous Integration
03:41 -
LO1: Define key concepts of DevOps and CI/CD
11:59 -
LO2: Explain how Automation tools support Continuous Integration
15:09 -
LO3: Demonstrate a simple CI Pipeline using relevant Tools
11:07 -
Multiple Choice Questions
-
True/False Questions
-
Scenario-Based Multiple Choice Questions
-
Key Terms and Concepts Questions
-
Short Answer Questions
-
Written Assignment
-
Presentation Task
-
Role-Playing Activity
-
Peer Review Task
-
Exercises and Activities Adaptation
Week 13: Software Documentation and Technical Writing
-
Week 13: Software Documentation and Technical Writing
04:11 -
LO1: Identify types of Software Documentation and their purposes
12:45 -
LO2: Create User-facing and Technical Documentation based on Specifications
10:56 -
LO3: Evaluate the clarity and usefulness of given Documentation samples
12:27 -
Multiple Choice Questions
-
True/False Questions
-
Scenario-Based Multiple Choice Questions
-
Key Terms and Concepts Questions
-
Short Answer Questions
-
Written Assignment
-
Presentation Task
-
Role-Playing Activity
-
Peer Review Task
-
Exercises and Activities Adaptation
Week 14: Ethical Issues in Software Engineering
-
Week 14: Ethical Issues in Software Engineering
02:39 -
LO1: Recognise common Ethical issues in Software Development
05:42 -
LO2: Discuss Privacy and Security Implications in Software Systems
13:37 -
LO3: Analyse real-world cases of Ethical Breaches in Software Engineering
11:24 -
Multiple Choice Questions
-
True/False Questions
-
Scenario-Based Multiple Choice Questions
-
Key Terms and Concepts Questions
-
Short Answer Questions
-
Written Assignment
-
Presentation Task
-
Role-Playing Activity
-
Peer Review Task
-
Exercises and Activities Adaptation
Week 15: Review and Case Studies
-
Week 15: Review and Case Studies
04:17 -
LO1: Summarise key concepts covered throughout the course
09:12 -
LO2: Integrate knowledge to analyse Comprehensive Software Case Studies
10:21 -
LO3: Solve Real-world Software Engineering problems
00:00 -
Multiple Choice Questions
-
True/False Questions
-
Scenario-Based Multiple Choice Questions
-
Key Terms and Concepts Questions
-
Short Answer Questions
-
Written Assignment
-
Presentation Task
-
Role-Playing Activity
-
Peer Review Task
-
Exercises and Activities Adaptation
Week 16: Final Test
-
Final Exam Review
06:48 -
Multiple Choice Questions
-
True/False Questions (5 Questions)
-
Scenario-Based Multiple Choice Questions
-
Key Terms and Concepts Questions
-
Short Answer Questions
-
Written Assignment
-
Presentation Task
-
Role-Playing Activity
-
Peer Review Task
-
Exercises and Activities Adaptation