Software Engineering

Undergraduate course, BINUS University, School of Computer Science, 2025

COMP6100001 - Software EngineeringThis course provides a comprehensive examination of the principles, methodologies, and tools necessary for the structured development, deployment, and maintenance of high-quality software systems. Aimed at aspiring software engineers, it connects theoretical foundations with practical applications, equipping students to address real-world challenges in the software industry. The course is relevant to Object-Oriented Software Engineering and Advanced Topics in Software Engineering.

Topics

  1. The Nature of Software and Software Engineering
  2. Software Processes and Development Life Cycle Models
  3. Agile Principles and Scrum Framework
  4. Metrics and Measurement
  5. Software Process Improvement
  6. Requirements Elicitation and Analysis
  7. System Modeling and UML Diagrams
  8. Software Design Principles
  9. Software Architecture Design Concepts and Styles
  10. Software Architecture Design Documentation and Patterns
  11. Project Management and Planning
  12. Project Estimation Techniques
  13. Project Scheduling
  14. Risk Analysis and Management
  15. Software Configuration Management
  16. Version Control Systems and Dependency Management
  17. Fundamentals of Software Testing
  18. Automated Testing and Test-Driven Development (TDD)
  19. Software Maintenance Fundamentals
  20. Managing Technical Debt
  21. Introduction to DevOps Culture and Principles
  22. DevOps Toolchains and Continuous Monitoring
  23. Secure Software Development
  24. Reliability Engineering and Fault Tolerance
  25. Legal Issues, Social Impact, and Professional Ethics in Software Engineering
  26. Emerging Trends in Software Engineering

Tutorial

  1. Agile/Scrum Simulation
  2. UML Diagramming
  3. Project Estimation
  4. Git and Version Control Practical
  5. Test-Driven Development (TDD) Coding Session
  6. DevOps Pipeline Setup and Automation

Repositories

The following are tutorial repositories used in the tutorial sessions:

Git and Version Control Tutorial Test-Driven Development (TDD) Tutorial Test-Driven Development (TDD) Tutorial part 2 DevOps Pipeline Tutorial