Resource Collection
Software Engineering Resources
Curated resources covering the full software engineering lifecycle including design, architecture, testing, DevOps, and project management.
Introduction to Software Engineering (Foundation)
-
Introduction to Software Engineering - IBM
Site: Coursera (audit)
Overview of software engineering including lifecycle, roles, processes, and development methodologies. -
Software Engineering Fundamentals - Coding Temple
Free bootcamp-style course covering SDLC, Agile workflows, Git, and project structure. -
Software Engineering: Introduction - University of Minnesota
Covers software engineering principles, requirements, design, and testing fundamentals. -
MIT 6.005 Software Construction
MIT course focusing on abstraction, testing, refactoring, and modular software design. -
Software Engineering Basics - edX
Introduction to the full software development lifecycle and modern engineering practices.
Software Development Life Cycle (SDLC) & Process Models
-
Software Development Lifecycle Specialization - University of Minnesota
Covers Waterfall, Agile, Spiral, V-Model, and DevOps integration. -
Software Processes and Agile Practices - IBM
Comparison of Waterfall, Agile, Lean, and Kanban processes. -
Agile Development - University of Virginia
Scrum, XP, Kanban, user stories, and sprint planning. -
Software Engineering Methods - NPTEL (IIT)
Comprehensive overview of process models and CASE tools.
Requirements Engineering
-
Requirements Engineering Fundamentals - University of Colorado
Requirements elicitation, analysis, and specification techniques. -
Software Requirements - University System of Georgia
Functional vs non-functional requirements and traceability. -
Requirements Analysis & Specification Writing
SRS documentation templates and IEEE standards.
System Modeling (UML Diagrams)
-
Object-Oriented Design - University of Alberta
UML class diagrams, sequence diagrams, and use case modeling. -
UML Class Diagrams Tutorial
UML diagram examples and explanations. -
Software Modeling and Design - University of Colorado
UML 2.0 modeling techniques and system design patterns.
Software Design Principles & Patterns
-
Design Patterns - University of Alberta
Gang of Four design patterns including Singleton, Factory, Observer, and Strategy. -
Software Design and Architecture Specialization
SOLID principles, GRASP patterns, and architectural design concepts. -
Refactoring Guru Design Patterns
Visual catalog of common design patterns with examples. -
Clean Architecture - Robert C. Martin
Explains layered architecture, dependency rules, and system boundaries.
Architectural Design
-
Software Architecture - University of Alberta
Architectural styles including monolithic, layered, microservices, and event-driven systems. -
Microservices Architecture - University of Alberta
Covers domain-driven design, CQRS, and event sourcing. -
Pattern-Oriented Software Architecture - Frank Buschmann
Architectural patterns such as Pipe & Filter, Broker, and MVC.
Coding Practices & Implementation
-
Clean Code - University of Minnesota
Coding conventions including naming, formatting, and error handling. -
Code Complete (Free Excerpts)
Best practices for writing maintainable and reliable code. -
Google Engineering Practices Documentation
Code review standards, testing strategies, and engineering guidelines.
Version Control (Git)
-
Version Control with Git - Atlassian
Comprehensive Git tutorial covering branching and collaboration workflows. -
Git Pro Book
Complete reference for Git from fundamentals to advanced topics. -
GitHub Learning Lab
Interactive tutorials for Git and GitHub workflows.
Software Testing (Unit, Integration, System)
-
Software Testing Fundamentals - University of Minnesota
Covers black-box testing, white-box testing, unit testing, and integration testing. -
Test-Driven Development - University of Colorado
Red–green–refactor cycle and test-first development techniques. -
Unit Testing Principles - Kent Beck
Best practices for unit testing including test doubles and mocking.
Software Quality Assurance (SQA)
-
Software Quality Assurance - University of Minnesota
Quality metrics, defect tracking, and process audits. -
Software Metrics - IEEE Standards
Metrics including cyclomatic complexity, coupling, and cohesion.
DevOps & CI/CD
-
Continuous Delivery & DevOps - University of Virginia
CI/CD pipelines, Jenkins, Docker, and automated deployment. -
DevOps Culture and Practice - University of California
Infrastructure as code, monitoring, and DevOps principles. -
Docker Tutorial - Official Docs
Containerization fundamentals and Docker Compose usage.
Agile Practices (Scrum, Kanban)
-
Agile Project Management - Google
Scrum roles, ceremonies, sprint planning, and backlog management. -
Scrum Fundamentals - SCRUMstudy
Introduction to Scrum framework and certification preparation. -
Kanban Tutorial - Atlassian
Workflow visualization, WIP limits, and Kanban methodology.
Project Management
-
Software Project Management - University of Minnesota
Estimation techniques, scheduling, risk analysis, and project tracking. -
Earned Value Management Tutorial
Project performance measurement and forecasting techniques.
Software Documentation
-
Technical Writing - Google
Writing API documentation, READMEs, and developer documentation. -
Google API Documentation Style Guide
Standard documentation guidelines for technical writing.
Software Maintenance & Evolution
-
Software Evolution and Maintenance
Concepts including refactoring, technical debt, and legacy system maintenance. -
Refactoring - Martin Fowler
Catalog of refactoring techniques and code smells.
Configuration Management
- Configuration Management Principles
Version control systems, baselines, and change management processes.
Team Collaboration
-
Collaborative Software Development
Code review workflows, pair programming, and collaboration strategies. -
Effective Code Reviews - Google
Code review best practices and checklists.
Ethics & Professional Responsibility
-
ACM Code of Ethics
Ethical guidelines for computing professionals. -
Ethics in Computing - University of Washington
Topics including privacy, intellectual property, and security.
Complete Curriculums & Bootcamps
-
Alison Software Engineering Courses
Collection of 50+ free software engineering courses. -
LaunchCode Software Development Program
Full curriculum covering software development and job placement training. -
edX Software Engineering Courses
University-level software engineering programs. -
Coursera Software Engineering Courses
Large catalog of courses from universities and companies.
UI/UX Design
-
Google UX Design Certificate
User-centered design, wireframing, and prototyping. -
Human-Computer Interaction - UC San Diego
Usability testing and interaction design principles.
Advanced Topics
-
Domain-Driven Design - Eric Evans
Concepts including bounded contexts, aggregates, and ubiquitous language. -
CQRS & Event Sourcing - Martin Fowler
Architectural pattern separating command and query responsibilities. -
Microservices Patterns - Chris Richardson
Patterns such as Saga, API Gateway, and service mesh.
Reference Guides
-
SEI CMMI Model
Capability Maturity Model Integration for software process improvement. -
ISO/IEC 25010 Quality Model
Software quality characteristics framework. -
IEEE 829 Testing Standard
Standard for software test documentation.