Software Engineering – MSIT 5250
This course equips students with essential knowledge and practical skills in software development, design, testing, maintenance, and documentation. This course aligns with current industry trends, focusing on AI and Machine Learning methodologies, DevOps practices, cloud technologies, AI integration, and cybersecurity. It emphasizes real-world problem-solving through project-based learning and hands-on assignments. Students will explore roles such as software architect, quality assurance engineer, full-stack developer, mobile developer, security engineer, and project manager. The course highlights collaborative teamwork, software lifecycle management, and business impact analysis. By the end of the course, students will be able to apply software engineering principles effectively in diverse professional settings.
Learning Objectives and Outcomes:
Program Learning Objectives
PLO 1: Students will be able to apply the principles of information technology, computer science, business administration and other disciplines to the analysis of complex computing problems.
PLO 2: Students will be able to design and evaluate solutions to complex computing problems using industry-recognized best practices and standards.
PLO 3: Students will be able to analyze user needs in the development and implementation of computing-based solutions.
PLO4: Students will be able to assess the ethical considerations in the development, implementation, evaluation, and management of IT systems.
PLO 5: Students will be able to construct clear, well-organized arguments supported by credible research-based evidence.
Course Learning Objectives:
By the end of this course, students will be able to:
1. Apply fundamental software engineering concepts in the software lifecycle, covering design, development, testing, maintenance, and documentation.
2. Explain industry trends such as AI and Machine Learning methodologies, DevOps, cloud technologies, and cybersecurity.
3. Employ problem-solving through project-based learning and real-world software engineering applications.
4. Explore roles in software engineering, including architect, QA engineer, full-stack developer, and security engineer.
5. Assess key skills, manage the software lifecycle, and evaluate the business impact of software solutions.
Course Schedule and Topics
This course will cover the following topics in eight learning sessions, with one Unit per week.
Week 1: UNIT 1: Introduction to Software Engineering Concepts
Week 2: UNIT 2: Software Design and Architecture
Week 3: UNIT 3: Emerging Industry Trends in Software Engineering
Week 4: UNIT 4: Advanced Problem-Solving in Software Engineering
Week 5: UNIT 5: Role-Specific Skills in Software Engineering
Week 6: UNIT 6: Team Collaboration and Agile Practices
Week 7: UNIT 7: Real-World Applications and Problem Solving
Week 8: UNIT 8: Evaluating the Business Impact of Software Solutions
Learning Guide
The following is an outline of how this course will be conducted, with suggested best practices for students.
UNIT 1: Introduction to Software Engineering Concepts
- Watch/Read early enough in the unit to enable completion of the related assignments – suggest by 3rd-4th day of the unit.
- Discussion first response due by the 4th day of the week.
- Discussion replies due by the 7th day of the week.
UNIT 2: Software Design and Architecture
- Watch/Read early enough in the unit to enable completion of the related assignments – suggest by 3rd-4th day of the unit.
- Assignment Activity submission due 7th day of the week.
UNIT 3: Emerging Industry Trends in Software Engineering
- Watch/Read early enough in the unit to enable completion of the related assignments – suggest by 3rd-4th day of the unit.
- Discussion first response due by the 4th day of the week.
- Discussion replies due by the 7th day of the week.
UNIT 4: Advanced Problem-Solving in Software Engineering
- Watch/Read early enough in the unit to enable completion of the related assignments – suggest by 3rd-4th day of the unit.
- Discussion first response due by the 4th day of the week.
- Discussion replies due by the 7th day of the week.
- Assignment Activity submission due 7th day of the week.
UNIT 5: Role-Specific Skills in Software Engineering
- Watch/Read early enough in the unit to enable completion of the related assignments – suggest by 3rd-4th day of the unit.
- Discussion first response due by the 4th day of the week.
- Discussion replies due by the 7th day of the week.
- Assignment Activity submission due 7th day of the week.
UNIT 6: Team Collaboration and Agile Practices
- Watch/Read early enough in the unit to enable completion of the related assignments – suggest by 3rd-4th day of the unit.
- Discussion first response due by the 4th day of the week.
- Discussion replies due by the 7th day of the week.
UNIT 7: Real-World Applications and Problem Solving
- Watch/Read early enough in the unit to enable completion of the related assignments – suggest by 3rd-4th day of the unit.
- Assignment Activity submission due 7th day of the week.
UNIT 8: Evaluating the Business Impact of Software Solutions
- Watch/Read early enough in the unit to enable completion of the related assignments -suggest by 3rd-4th day of the unit.
- Discussion first response due by the 4th day of the week.
- Discussion replies due by the 7th day of the week.