Software Engineering
Undergraduate course, BINUS University, School of Computer Science, 2025
COMP6100001 - Software Engineering | This 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
- The Nature of Software and Software Engineering
- Software Processes and Development Life Cycle Models
- Agile Principles and Scrum Framework
- Metrics and Measurement
- Software Process Improvement
- Requirements Elicitation and Analysis
- System Modeling and UML Diagrams
- Software Design Principles
- Software Architecture Design Concepts and Styles
- Software Architecture Design Documentation and Patterns
- Project Management and Planning
- Project Estimation Techniques
- Project Scheduling
- Risk Analysis and Management
- Software Configuration Management
- Version Control Systems and Dependency Management
- Fundamentals of Software Testing
- Automated Testing and Test-Driven Development (TDD)
- Software Maintenance Fundamentals
- Managing Technical Debt
- Introduction to DevOps Culture and Principles
- DevOps Toolchains and Continuous Monitoring
- Secure Software Development
- Reliability Engineering and Fault Tolerance
- Legal Issues, Social Impact, and Professional Ethics in Software Engineering
- Emerging Trends in Software Engineering
Tutorial
- Agile/Scrum Simulation
- UML Diagramming
- Project Estimation
- Git and Version Control Practical
- Test-Driven Development (TDD) Coding Session
- DevOps Pipeline Setup and Automation
Repositories
The following are tutorial repositories used in the tutorial sessions: