INTRODUCTION TO SOFTWARE ENGINEERING

Fall 2018

Week 1. Introduction to Software Engineering (Sept 6, 2018)

  • Course Overview and Admin [PDF]

  • Introduction to Software Engineering - [PDF]

  • Git Basics - [PDF]

Recommended Readings:

Week 2. Clean Code and Testing (Sept 13, 2018)

  • Clean code [PDF]

  • Class Code Review [PDF]

  • Testing [PDF]

Week 3. Software Processes, Change and Risk

  • Software Processes [PDF]

  • Change and Risk [PDF]

  • Code Review and Java/Android Concepts [PDF]

Recommended Readings:

  • Chapter 1-3, Android Programming: The Big Nerd Ranch Guide (3rd Edition) 2017

Week 4. Agile, Scrum, and Software Design

  • Scrum [PDF]

  • Agile, XP and TDD [PDF]

  • Software Design in Teams [PDF]

Recommended watching:

  • Passing data from one Android activity to another [YouTube]

Week 5. System Modelling and Teamwork

This week, your team will meet for the first time to accomplish a practice exercise. See project teams here.

  • System Modeling [PDF]

  • Teamwork [PDF]

  • Git / Gitlab Workflow [PDF]

Recommended watching:

Week 6. Project Kick-Offs

  • Stakeholder Presentation [PDF]

  • Introduction of project.

  • Requirements elicitation [PDF]

  • Team kick-offs:

    • Scrums to submit team name.

    • POs may ask questions to client (Dr. Lim).

    • Team should meet (perform user story sizing, issue assignments, prototyping/design if time permits)

Week 7. Quiz and UI/UX

  • The quiz will take place from 5:30-6:20pm

  • UI/UX Talk from 6:40pm [PDF] [Full Slides]

  • Feedback on your UI + Open Office hour with TA (CSIL)

Notes on Oct. 18 quiz:

  • The Oct. 18 quiz (worth 10%) will cover everything we've done until Week 5. There will be general questions on software engineering, version control, testing, including coding questions focusing on clean code, Java, and JUnit. There may be some questions on Android-specific framework code, but it will be less emphasized and only cover what was in the book Ch. 1-4 and in Assignment 3.

*This is a non-binding description of the quiz but should give you a general idea of what will be tested.

Week 8. Sprint Reviews, Retrospective, Kick-Off

  • Sprint 1 Reviews Check your team's time [Coursys-protected schedule]

  • After reviews, teams do a Sprint Retrospective

  • 8:05pm - Sprint 2 Kick-Off in CSIL. See Sprint 2 requirements on project page.

Week 9. Software Design Patterns, CI and Legal / Ethics

  • Quiz solution overview

  • Legal, Information Protection and Privacy, Ethics [PDF]

  • Continuous Integration [PDF]

  • Software Design Patterns [PDF]

Week 10. Sprint Reviews, Retrospective, Kick-off

  • Sprint 2 Reviews Check your team's time (changed since last sprint) [Coursys-protected schedule]

  • After reviews, teams do a Sprint Retrospective

  • 8:05pm - Sprint 3 Kick-Off in CSIL (last one!)

Week 11. Testing, Concurrency, and Interview Questions

  • Testing, Concurrency, and Interview Questions [PDF]

Week 12. Final Sprint Reviews, Retrospective

  • Sprint 3 Reviews Check your team's time [Coursys-protected schedule]

  • After reviews, teams do a Sprint Retrospective

  • Remember to complete your peer reviews (see Coursys activity for link) by Nov. 23.

Week 13. Project Debrief, Final Exam Review, Guest Lecture

  • Project debrief and "honorable mention" awards [PDF]

  • Course review [PDF]

  • Guest lecture [PDF]

  • Robotics final demonstration (volunteers requested)