INF1011Fall 2025Software
← Back to university path
Software Engineering
Detailed view of the course, studied concepts, technologies used, and major academic work associated with it.
Code
INF1011
Session
Fall 2025
Domain
Software
Overview
Course focused on the fundamental principles of software engineering and the production of quality software. It helped me deepen my understanding of reusable and maintainable design, quality assurance, testing, software project management, and software evolution, while applying design patterns and design principles in a session project.
Technologies used
UMLGRASPSOLIDDesign PatternsTests unitaires
Key concepts covered
- Fundamental principles and concepts of software engineering
- Software product and quality characteristics
- Software engineering processes
- Lifecycle models
- Prototyping
- Standards and process maturity
- Lightweight processes and agile methods
- Encapsulation, types, and interfaces
- Composition versus inheritance
- Unit testing
- Dependency inversion
- GRASP design principles
- SOLID design principles
- Software reuse
- Design patterns
- Object-oriented programming
- Other programming paradigms
- Validation and verification
- Testing process: techniques, strategies, planning, and execution
- Software quality and metrics
- Quality control
- Software project management
- Software maintenance and evolution
- Reengineering
- Technical documentation
- Teamwork on a software project
Coursework and evaluated components
- Team session project
- Project phase 1 with presentation
- Project phase 2 with final presentation
- Case studies and exercises on design principles
- Midterm exam
- Final exam