CPS 410 - Software Engineering
CPS 410 covers the fundamentals of good software practices. Here we cover the software process lifecycle end-to-end (requirements elicitation, design, implementation, testing, maintenance). Students complete this class with experience working in a team to develop software that is continued in CPS 498.
To attend the class virtually, please connect via webex at: https://cmich.webex.com/meet/redei1a
Lecture Slides:
For lectures there is a <link for powerpoint slides> - Video < followed by a link to the video>.
Week 1 - Introduction
Lecture 1 - Introduction
Lecture 2 - Version Control - Video (8 min)
Lecture 3 - GitHub Hands On
Week 2 - Software Development Life Cycle
Lecture 4 - Software Development Life Cycle - Video (6 min)
Lecture 5 - Software Process Models - Video (12 min)
Week 3 - Team Formation
Lecture 6 - Project Inspiration
Lecture 7 - Team Formation
Career Fair (Virtual)
Week 4 - Agile
Lecture 9 - Agile Team Composition
AutoOwners Visit
Lecture 10 - Agile Manifesto - Video (13 min)
Lecture 10 - Functional vs Non-Functional Requirements
Meetings: Team 1 / Team 2
Week 5 - Team Meetings (Cont).
Meetings: Team 3 / 4
Meetings: Team 5
Week 6 - Agile (Cont.)
Lecture 14 - Review of Requirements
Whiteboard Notes
Lecture 15 - Sprint Overview
Week 7 - The Scrum Board
[M] Wellness Day - no class!
Lecture 15 - Scrum Board - Video (8 min)
Lecture 15 - Scrum Story Board Simulation
Lecture 16 - Story Points - Video (5 min)
Week 8 - Ceremonies & Artifacts
Lecture 18 - Traceability Matrix
Lecture 17 - Artifacts of Scrum
Week 9 - Midterm
Lecture 19 - Midterm Review
Midterm Exam
Week 10 - Planning Poker
Lecture 21 - Software Estimation w/ Planning Poker
Planning Poker Simulation on Whiteboard
Week 11 - Kanban
Lecture 22 - Kanban vs Scrum
Week 12 - Final Project Expectations
End of Semester Planning
Lecture 25 - The Unified Modeling Language (UML)
Week 13 - Thanksgiving
Lecture 26 - UML Association Types
Week 14 - No class
Week 15 - Team Presentations
[M] - Team 4
[W] - Team 3 / Team 2
[F] - Team 1 / Team 5
Week 16 - FINAL
Project Parts:
Part 1 - Concept (due September 29th)
Part 2 - Specification (due October 22nd 25th)
Part 3 - Design (due Nov 29th Dec 3rd)
Part 4 - Prototype (due December 10th)
Handouts
Midterm
Final
Study Session on 12/11 (Video 1hr 10min)
Tips & Tricks
Tip #1 - Video: Retirement Accounts (5 min)
DIY Budget Spreadsheet
DIY Financial Tracker (has 1 macro to create charts)
DIY Financial Tracker (w/o macros)
Project Ideas
Hatz Classic Bi-Plane (Sims / Visualizations)
Develop the software for simulating an American designed kit airplane in Microsoft Flight Simulator 2020.
Tutorials for modeling and airplane in MSFS 2020
Build PCB + Middleware for Rollercoaster (IOT)
Design and fabricate a PCB to drive a rollercoaster and build the controller software for it. More details to come
Into the Abyss (Gaming)
Continue the development of the horror-thriller game: Into the Abyss
DroneZone (Autonomous Systems)
Build a drone and develop software to control it from a groundstation, reading back the telemetry data from the drone.
Number of students: 55
(29 in the 10am section and 26 in the noon section)