🎓 University of Aliens — Course Portal
AI EngineeringSE101 › Week 1
⚙️ AI Engineering Week 1 of 14 BSc · Y1 ⏱ ~50 min

Week 1: SDLC, Design Patterns & Version Control

Learn the software development lifecycle, SOLID design principles, version control workflows, testing strategies, and agile methodology for AI projects.

UA
University of Aliens
SE101 — Lecture 1 · BSc Y1
🎬 CC Licensed Lecture
0:00 / —:—— 📺 MIT OpenCourseWare (CC BY-NC-SA)
🎯 Learning Objectives
  • Apply SOLID principles to Python software design
  • Use Git workflows (GitFlow, trunk-based) for team collaboration
  • Write unit, integration, and end-to-end tests
  • Understand agile/scrum ceremonies and artifacts
Topics Covered This Lecture
SOLID Principles & Design Patterns
Git Workflows & Code Review
Testing: Unit, Integration, E2E
Agile/Scrum for AI Projects
📖 Lecture Overview

This first lecture establishes the foundational framework for Software Engineering Principles. By the end of this session, you will have the conceptual grounding and practical starting point needed for the rest of the course.

Why this matters Learn the software development lifecycle, SOLID design principles, version control workflows, testing strategies, and agile methodology for AI projects. This lecture sets up everything that follows — make sure you understand the core concepts before proceeding to Week 2.

Key Concepts

The lecture introduces the four main pillars of this course: SOLID Principles & Design Patterns, Git Workflows & Code Review, Testing: Unit, Integration, E2E, Agile/Scrum for AI Projects. Each will be explored in depth over the 14-week curriculum, with hands-on projects reinforcing theory at every stage.

# Quick Start: verify your environment is ready for SE101 import sys print(f"Python {sys.version}") # Check key libraries are installed try: import numpy, pandas, matplotlib print("✅ Core libraries ready") except ImportError as e: print(f"❌ Missing: {e} — run: pip install numpy pandas matplotlib")

This Week's Focus

Focus on mastering: SOLID Principles & Design Patterns and Git Workflows & Code Review. These are the prerequisites for everything in Week 2. The concepts build on each other — do not skip the practice exercises.

📋 Project 1 of 3 50% of Final Grade

SE101 Project 1: Refactor a Data Pipeline to SOLID Standards

Take a messy data processing script and refactor it following SOLID principles. Add a full test suite, set up CI with GitHub Actions, and document with docstrings and a README.

  • Refactored Python codebase (SOLID-compliant)
  • Full test suite with >80% code coverage
  • GitHub Actions CI pipeline (lint, test, type-check)
  • README and API documentation
50%
3 Projects
20%
Midterm Exam
30%
Final Exam
📝 Sample Exam Questions

These represent the style and difficulty of questions you'll see on the midterm and final. Start thinking about them now.

Conceptual Short Answer

Explain the Single Responsibility Principle with a real code example. Why does it matter?

Analysis Short Answer

What is the difference between unit tests and integration tests? Give examples for an ML pipeline.

Applied Code / Proof

Describe the GitFlow branching strategy and explain when to use a hotfix branch.