Software Engineering

Masters (Masters)

Software Engineering

2 years Computing
The course provides an introduction to designing, building, and maintaining computer software in a systematic and reliable way. It combines technical skills with problem‑solving, teamwork, and creativity to develop applications, websites, and digital systems that people use every day. Students learn how software works, how to write clean code, and how to create solutions that are efficient, secure, and user‑friendly.

Software Engineering – Course Content

1. Introduction to Software Engineering

  • What software engineering is
  • Role of software engineers
  • Overview of the software development process

2. Software Development Life Cycle (SDLC)

  • Planning and requirements
  • Design
  • Development
  • Testing
  • Deployment and maintenance

3. Programming Fundamentals

  • Algorithms and problem‑solving
  • Variables, data types, loops, conditions
  • Introduction to programming languages (e.g., Python, Java, C#)

4. Software Design & Architecture

  • Designing software systems
  • Flowcharts, UML diagrams
  • Modular design and reuse of code

5. Web and Application Development

  • Front‑end basics (HTML, CSS, JavaScript)
  • Back‑end basics (APIs, databases)
  • Building simple applications

6. Databases and Data Management

  • Relational vs non‑relational databases
  • Basic SQL queries
  • Data storage and retrieval

7. Version Control Systems

  • Introduction to Git and GitHub
  • Managing code changes collaboratively

8. Software Testing & Quality Assurance

  • Types of testing (unit, integration, system)
  • Debugging and troubleshooting
  • Writing clean, maintainable code

9. Project Management & Teamwork

  • Agile and Scrum basics
  • Working in teams on software projects
  • Documentation and communication skills

10. Emerging Areas in Software Engineering

  • Artificial Intelligence & Machine Learning
  • Cloud computing
  • Cybersecurity fundamentals
  • Mobile app development