Welcome to Software Engineering WiSe 2025/26! 👋
Aalen University of Applied Sciences Bachelor’s Program in Computer Science
Dear students,
Welcome to our Software Engineering course for the Winter Semester 2025/26! This website serves as your central hub for all lecture materials and course content.
📚 What you’ll find here:
After each lecture session, you will find the corresponding lecture notes and materials posted in the Lectures section below. These will include:
- 📝 Detailed lecture notes covering the topics we discussed
- � Code examples and practical demonstrations
- 🔗 Additional resources and references
- � Assignments and exercises when applicable
🕒 When content is available:
Lecture materials will be uploaded shortly after each class session, typically within 24 hours of our meeting. This ensures you have access to fresh, relevant content that reflects exactly what we covered together.
🚀 Course Focus:
This semester, we’ll explore modern software engineering practices with a special emphasis on:
- AI-assisted development workflows
- Automation tools and best practices
- Current industry standards and technologies
- Practical, hands-on experience with cutting-edge tools
We’re excited to have you on this journey into the world of modern software engineering! 🎯
📖 About the Appendix Lectures
In addition to our regular lectures, you’ll find Appendix lectures that provide deeper understanding of specific topics. These supplementary materials:
- Help you master concepts useful for project assignments and real-world applications
- Are designed for self-study — work through them at your own pace
- Are not mandatory for passing the final exam, but can certainly help
- Cover topics that extend beyond what we can address in class time
Think of them as your reference library for when you want to dig deeper into a subject!
🤖 LLMs will guide us the way
The cost function for a neural network with \(m\) training examples:
\[J(\theta) = \frac{1}{2m} \sum_{i=1}^{m} (h_\theta(x^{(i)}) - y^{(i)})^2 + \frac{\lambda}{2m} \sum_{j=1}^{n} \theta_j^2\]Lectures
- 2025-10-07: Introduction to Modern Software Engineering in the Age of Generative AI
- 2025-10-07: 01 Modern Development Tools: Repositories, Git, GitHub, and AI-Powered IDEs
- 2025-10-09: 01 Modern Development Tools: Implementation Skills for Modern Software Development
- 2025-10-14: 02 Code Quality in Practice: From Working Code to Professional Software
- 2025-10-16: 02 Code Quality in Practice: Feature Branch Development - From Cowboy Coding to Professional Workflows
- 2025-10-21: 02 Code Quality in Practice: Automation and CI/CD - Building Quality into Every Commit
- 2025-10-23: 02 Code Quality in Practice: Refactoring - From Monolith to Modules
- 2025-10-28: Appendix 1: Advanced Git Workflows and Conflict Management
- 2025-10-28: Appendix 2: Understanding Python Modules, Packages, and Imports
- 2025-11-04: 03 Testing Fundamentals: Basics
- 2025-11-11: 03 Testing Fundamentals: Unit Testing - Equivalence Classes
- 2025-11-13: 03 Testing Fundamentals: Boundary Analysis and LLM-Assisted Testing
- 2025-11-13: Appendix 3: Pytest Assertion Reference - Beyond the Basics
- 2025-11-18: Appendix 4: Web APIs, Pydantic, Dash, and Python Decorators
- 2025-12-02: 03 Testing Fundamentals: Automated Testing in CI & Test Coverage
- 2025-12-04: 03 Testing Fundamentals: Testing Theory, Coverage, and Requirements
- 2025-12-11: 04 Requirements Engineering: From Tests to Specifications
- 2025-12-18: 04 Requirements Engineering: From Process to Practice
- 2026-01-08: 05 Agile Development Part 1: Philosophy, Practices, and User Stories
- 2026-01-13: 05 Agile Development Part 2: Scrum Framework and Real-World Application
- 2026-01-15: 06 Software Architecture Part 1: Foundations and Architectural Views
- 2026-01-20: 06 Software Architecture Part 2: Architectural Patterns and Application
- 2026-01-22: 07 Multi-Language Projects Part 1: C++ Development Fundamentals
- 2026-01-29: 07 Multi-Language Projects: C++ Code Quality and Testing
- 2026-01-29: 07 Multi-Language Projects: Building Python C Extensions
Exercises
- 2025-10-01: 00 Catch Up Guide
- 2025-10-07: 01 Quiz: Modern Development Tools
- 2025-10-09: 01 Quiz: Modern Python Implementation
- 2025-10-14: 02 Quiz: Code Quality in Practice
- 2025-10-14: 02 Exercise: PEP 8 - Level 2: Multiple Issues
- 2025-10-14: 02 Exercise: PEP 8 - Level 4: Before/After Comparison
- 2025-10-16: 02 Exercise: Understanding Git Pointers and Branches
- 2025-10-16: 02 Quiz: Feature Branch Development
- 2025-10-21: 02 Quiz: Automation and CI/CD
- 2025-11-04: 03 Quiz: Testing Fundamentals - Unit Testing and Clean Code
- 2025-11-04: 03 Exercise: Test Quality Comparison
- 2025-11-11: 03 Quiz: Equivalence Classes
- 2025-12-11: 04 Quiz: Requirements Engineering
- 2025-12-18: 04 Quiz: Requirements Engineering - Process & Practice
- 2025-12-18: 04 Requirements Engineering: The Christmas Client Challenge
- 2026-01-08: 05 Quiz: Scrum Fundamentals
- 2026-01-08: 05 Exercise: The Telephone Game
- 2026-01-13: 05 Exercise: The Sprint Game
- 2026-01-15: 06 Quiz: Software Architecture
- 2026-01-20: 06 Quiz: Architectural Patterns
- 2026-01-20: 04 Exercise: Requirement Quality Review
- 2026-01-20: 04 Exercise: Code-to-Requirements Extraction
- 2026-01-20: 06 Exercise: Architectural Layer Classification
- 2026-01-20: 06 Exercise: MVC Refactoring
Interactive Quizzes
- 2025-12-02: 03 Quiz: Coverage Concepts70% to pass
- 2025-12-02: 03 Exercise: CFG Tracing70% to pass
- 2025-12-02: 03 Exercise: Coverage Detective70% to pass
- 2025-12-09: 04 Quiz: Requirements Engineering70% to pass
- 2025-12-18: 04 Quiz: Requirements Engineering - Process & Practice70% to pass
- 2026-01-08: 05 Quiz: Scrum Fundamentals70% to pass
- 2026-01-15: 06 Quiz: Software Architecture70% to pass
- 2026-01-20: 06 Quiz: Architectural Patterns70% to pass
Projects
- 2025-12-02: 03 Testing Fundamentals: Coverage Self-Study Guide
- 2025-12-02: 03 Testing Fundamentals: Coverage Concepts Quiz
- 2025-12-02: 03 Testing Fundamentals: CFG Tracing Exercise
- 2025-12-02: 03 Testing Fundamentals: Coverage Detective Exercise
Literature
-
Software Engineering at Google
O'Reilly
Comprehensive guide to software engineering practices at Google. Available to read online for free from O'Reilly.