knowledge-kitchen / courses / course-notes

Agile Software Development & DevOps

New York University

Department of Computer Science

Schedule

Process

Date Class Topics Notes Helpful resources Quiz due Scrum tasks due Exercise due
9/3 1 Welcome - Course intro
- Syllabus
       
9/8 2 Scrum - Discord for Education
- Scrum
- Notes on using GitHub for Scrum
- Manifesto for Agile Software Development, by Beck et al
- Principles behind the Agile Manifesto, by Beck et al
- The Scrum GuideTM, by Ken Schwaber and Jeff Sutherland
Student intake questionnaire   - Complete consent form
- Join Discord
- Create GitHub account
- Join Figma
- Install Node.js
9/10 3 Version control - Version control
- Git & GitHub
- GitHub for collaboration
Video tutorials:
- How to start an assignment from GitHub
- How to submit an assignment to GitHub
Scrum   Project proposal

The Mobile Web

Date Class Topics Notes Helpful resources Quiz due Scrum tasks due Exercise due
9/15 4 The Web The Web - Google’s Markdown Style Guide
- Atlassian git workflow comparison
Git & GitHub   Vote on project proposals
9/17 5 Javascript - Javascript
- Example Javascript code
- Exploring ES6, by Alex Rauschmayer
- Eloquent Javascript, by Marijn Haverbeke
- The Modern Javascript Tutorial, by javascript.info
The Web   - Git/GitHub configuration
- Git/GitHub workflow practice
9/22 6 Javascript          
9/24 n/a no class (Professor out)          
9/29 7 Full stack mobile web app preview Example full stack app   Javascript    

Sprint 0 - Rapid prototyping

An informal short sprint focused on completing a clickable prototype of the application.

Date Class Topics Notes Helpful resources Quiz due Scrum tasks due Exercise due
10/1 8 Project Kick-Off          
10/6 9 Rapid Prototying - User experience design
- Figma essentials
- Example prototype
How to Wireframe by Figma Marketing     - Full-stack app
10/8 n/a no class (Professor out)          
10/13 n/a no class (Fall break)          
10/14 10 Project work - Coding conventions
- Implementing Scrum using GitHub
- Feature branch workflow
  User experience design - Project setup
- Sprint 0 planning
 
10/15 11 Stakeholder demos       Daily standup Parts of Sprint 0:
- app map & wireframes
- prototype

Sprint 1 - Front-end development

A Scrum sprint focused on knocking out the front-end of the application.

Date Class Topics Notes Helpful resources Quiz due Scrum tasks due Exercise due
10/20 12 React.js - React.js
- Example simple React.js app
- Project kickoff
- React.js official site, including tutorials and documentation.
- Video: React Router Tutorial, by Dev Ed.
- Video course: React for Web Designers, by Joe Chellman
Sprint 0 feedback - Stakeholder demo
- Sprint 1 planning
Remaining parts of Sprint 0:
- project setup
- sprint planning
10/22 13 React.js - React.js starter app     Daily standup  
10/27 14 Project work     React.js Daily standup  
10/29 15 Stakeholder demos          

Sprint 2 - Back-end development

A Scrum sprint focused on knocking out the back-end of the application.

Date Class Topics Notes Helpful resources Quiz due Scrum tasks due Exercise due
11/3 16 Express.js - Express.js
- Express.js starter app
- Express.js official site, including tutorials and documentation.
- Video: Build A Restful Api With Node.js Express & MongoDB, by Dev Ed.
- Video course: Dynamic websites with Node and Express, by Daniel Khan
Sprint 1 feedback - Stakeholder demo
- Sprint 2 planning
Completed Sprint 1:
- React.js front-end
11/5 17 Software testing - Software testing
- Unit testing
  Express.js Daily standup  
11/10 18 Project work     Software testing Daily standup  
11/12 19 Stakeholder demos       Daily standup  

Sprint 3 - Database integration

A Scrum sprint focused on integrating databases into the application.

Date Class Topics Notes Helpful resources Quiz due Scrum tasks due Exercise due
11/17 20 Data storage - Data storage
-Example data storage app
- Video course: Databases for Node.js Developers, by Daniel Khan
- Mongoose official site, including tutorials and documentation.
Sprint 2 feedback - Stakeholder demo
- Sprint 3 planning
Completed Sprint 2:
- express.js back-end
11/19 21 Authentication Authentication   Data storage Daily standup  
11/24 22 Project work       Daily standup  
11/26 n/a no class (Legislative day)          
12/1 23 Stakeholder demos       Daily standup  

Sprint 4 - Deployment

A Scrum sprint focused on finishing up and deploying the application.

Date Class Topics Notes Helpful resources Quiz due Scrum tasks due Exercise due
12/3 24 Deployment Deployment Digital Ocean referral link Sprint 3 feedback - Stakeholder demo
- Sprint 4 planning
Completed Sprint 3:
- database integration
12/8 25 Project work          

Release

Presenting the finished product to stakeholders and end-users.

Date Class Topics Notes Helpful resources Quiz due Scrum tasks due Exercise due
12/10 27 Project presentations Project presentations   Due after all presentations:
- Sprint 4 feedback
- Student outtake questionnaire (submit once all presentations are complete)
  Completed Sprint 4:
- deployment
(No late work accepted beyond this date)
TBD 26 Project presentations