Lectures
All Lectures
Weekly lecture materials, PDFs, and lab exercises
Available Lectures
Select a week to view its lecture materials, summaries, and practical exercises.
Introduction to Software Development and Design
Coupling, Cohesion, DRY, SOLID Principles, Design Patterns
Module Coupling and Cohesion
Types of Coupling, Types of Cohesion, Design Principles
Software Testing
Testing Types, Methodologies, Lifecycle, Unit Testing
Web Testing with JavaScript
ATDD, Three Amigos, Selenium, Testing Tools, CI Integration
User Testing
CHI Pioneers, Nielsen's Heuristics, Usability Metrics, Testing Methods
Version Control Systems
Git Basics, Branching, Merging, Collaboration, DVCS
Robust and Secure Programming
Input Validation, Memory Management, Authentication, Encryption, Concurrency
Usability Testing
Heuristic Evaluation, Think-Aloud, SUS, A/B Testing, User Metrics
Comprehensive Revision
SOLID Principles, DRY, Anti-Patterns, Refactoring, Unix, Code Quality
Final Lecture & Exam Prep
Advanced Tools, API Design, CI/CD, Profiling, Code Reviews, Mock Exam