Skip to article frontmatterSkip to article content

Introduction to Software Engineering

CS 2450 - Utah Valley University

Utah Valley University

Course Overview

This course provides a comprehensive introduction to software engineering principles, methodologies, and best practices. Students will learn essential skills for developing high-quality software systems in team environments using Agile/Scrum methodologies.

Learning Outcomes

By the end of this course, students will be able to:

14-Week Course Journey

Our course follows a structured learning path with hands-on project development using 2-week Scrum sprints:

Project Timeline with Scrum Sprints

Weekly Course Breakdown

**Weeks 1-2: Foundations**
**Weeks 3-6: Agile & Requirements**
**Weeks 7-10: Design**
**Weeks 11-14: Quality & Wrap-up**

Week 1: Introduction to Software Engineering

  • Course overview & importance of software engineering
  • Historical context & software engineering vs programming
  • Project: Team formation, brainstorm ideas

Week 2: Version Control with Git & GitHub

  • Git basics: repositories, commits, branches
  • GitHub collaboration: remote repos, pull requests
  • Project: GitHub repo setup, initial commit
  • 🎭 Interactive Presentation - Premium Slidev presentation

Project Milestones & Deliverables

📋 Milestone 1

Week 3

  • Product Backlog
  • SRS Draft
  • User Stories
📝 Milestone 2

Week 5

  • Final SRS
  • MVP Definition
  • Initial UML
🎨 Milestone 3

Week 7

  • Wireframes
  • Mockups
  • Complete UML
⚙️ Milestone 4

Week 9

  • Core Implementation
  • Design Patterns
  • Code Review
🏁 Final Milestone

Week 11

  • Complete Application
  • Testing Suite
  • CI/CD Pipeline
  • Documentation

Scrum Framework Integration

Our project follows authentic Scrum practices:

👥 Scrum Roles
  • Students: Development Team members
  • Rotating Scrum Master: Different student each sprint
  • Product Owner: Instructor
🔄 Scrum Ceremonies
  • Sprint Planning: Start of each 2-week sprint
  • Daily Standups: Weekly progress checks
  • Sprint Review: Milestone presentations
  • Retrospectives: Post-milestone reflection
Scrum Artifacts
  • Product Backlog: Maintained throughout course
  • Sprint Backlog: Updated each milestone
  • Increment: Working software each sprint

Course Navigation

Key Course Highlights


Ready to become a software engineering professional? Let’s build something amazing together!

Start Here: Introduction to Software Engineering →