Difference between revisions of "Agile Software Development Course Schedule"

From Knowledge Kitchen
Jump to navigation Jump to search
m
m
(6 intermediate revisions by the same user not shown)
Line 31: Line 31:
 
| 9/9
 
| 9/9
 
| What software engineers do
 
| What software engineers do
* [[What is software engineering]]
+
* [[What is software engineering]] ([https://nyu-computer-science.github.io/software-engineering/what-is-software-engineering/ slides])
 
* [[Why do we need software engineering]]
 
* [[Why do we need software engineering]]
 
* [[Software development lifecycle]]
 
* [[Software development lifecycle]]
* [https://nyu-computer-science.github.io/software-engineering/what-is-software-engineering/ What is software engineering slides]
+
*  
 
|  
 
|  
 
Required:
 
Required:
Line 54: Line 54:
 
| 9/11
 
| 9/11
 
|  
 
|  
* [[Scrum development framework]]
+
* [[Scrum development framework]] ([https://nyu-computer-science.github.io/software-engineering/scrum/ slides])
* [https://nyu-computer-science.github.io/software-engineering/scrum/ Scrum slides]
 
  
 
|  
 
|  
Line 73: Line 72:
 
| 9/16
 
| 9/16
 
|  
 
|  
* [[Version control]]
+
* [[Version control]] ([https://nyu-computer-science.github.io/software-engineering/version-control-systems/ slides])
* [[Version control with Git and GitHub]]
+
* [[Version control with Git and GitHub]] ([https://nyu-computer-science.github.io/software-engineering/git-and-github/ slides])
* [https://nyu-computer-science.github.io/software-engineering/version-control-systems/ Version control slides] and [https://nyu-computer-science.github.io/software-engineering/git-and-github/ Git and GitHub slides]
 
 
|  
 
|  
 
Required:
 
Required:
Line 88: Line 86:
 
| 9/18
 
| 9/18
 
|  
 
|  
* [[Requirements engineering]]
+
* [[Requirements engineering]] ([https://nyu-computer-science.github.io/software-engineering/requirements-engineering/ slides])
* [[Domain modeling]]
+
* [[Domain modeling]] ([https://nyu-computer-science.github.io/software-engineering/domain-modeling/ slides])
* [https://nyu-computer-science.github.io/software-engineering/requirements-engineering/ Requirements engineering slides] and [https://nyu-computer-science.github.io/software-engineering/domain-modeling/ domain modeling slides]
 
 
|  
 
|  
 
|  
 
|  
Line 103: Line 100:
 
| 9/23
 
| 9/23
 
| System modeling and design
 
| System modeling and design
* [[Universal Modeling Language diagrams|UML diagrams]]
+
* [[Universal Modeling Language diagrams|UML diagrams]] ([https://nyu-computer-science.github.io/software-engineering/uml-diagrams/ slides])
 
* [[Software engineering team project assignments]]
 
* [[Software engineering team project assignments]]
* [https://nyu-computer-science.github.io/software-engineering/uml-diagrams/#1 UML slides]
 
 
|  
 
|  
 
|  
 
|  
Line 118: Line 114:
 
| 9/25
 
| 9/25
 
| Team formation
 
| Team formation
* [[Software engineering teamwork]]
+
* [[Software engineering teamwork]] ([https://nyu-computer-science.github.io/software-engineering/team-psychology/ slides])
* [[GitHub for team collaboration]]
+
* [[GitHub for team collaboration]] ([https://nyu-computer-science.github.io/software-engineering/github-for-collaboration/ slides])
* [https://nyu-computer-science.github.io/software-engineering/team-psychology/ Teamwork slides], [https://nyu-computer-science.github.io/software-engineering/github-for-collaboration/ GitHub collaboration slides]
 
 
|  
 
|  
 
|  
 
|  
Line 137: Line 132:
 
| 10/2
 
| 10/2
 
| Sprint planning
 
| Sprint planning
* [[Software engineering project kickoff|Project kickoff]]
+
* [[Software engineering project kickoff|Project kickoff]] ([https://nyu-computer-science.github.io/software-engineering/project-kickoff/ slides])
* [https://nyu-computer-science.github.io/software-engineering/project-kickoff/ Project kickoff slides]
 
 
|  
 
|  
 
Required:
 
Required:
Line 157: Line 151:
 
| 10/7
 
| 10/7
 
| Testing
 
| Testing
* [[Software testing]]
+
* [[Software testing]] ([https://nyu-computer-science.github.io/software-engineering/software-testing/ slides])
* [[Unit testing]]
+
* [[Unit testing]] ([https://nyu-computer-science.github.io/software-engineering/unit-testing/ slides])
* [https://nyu-computer-science.github.io/software-engineering/software-testing/#1 Software testing slides] and [https://nyu-computer-science.github.io/software-engineering/unit-testing/#20 unit testing slides]
 
 
|  
 
|  
 
|  
 
|  
Line 196: Line 189:
 
Sprint planning
 
Sprint planning
 
* [[Scrum_development_framework#Sprint_planning|Sprint 1 Planning]]
 
* [[Scrum_development_framework#Sprint_planning|Sprint 1 Planning]]
* [[Feature branch version control workflow]]
+
* [[Feature branch version control workflow]] ([https://nyu-computer-science.github.io/software-engineering/feature-branch-workflow/ slides])
* [https://nyu-computer-science.github.io/software-engineering/feature-branch-workflow/ Feature branch workflow slides]
 
 
|
 
|
 
|
 
|
Line 210: Line 202:
 
| 10/21
 
| 10/21
 
| Shell scripting
 
| Shell scripting
* [[Bash shell and scripting]]
+
* [[Bash shell and scripting]] ([https://nyu-computer-science.github.io/software-engineering/bash-scripting/ slides])
* [https://nyu-computer-science.github.io/software-engineering/bash-scripting/ Bash shell and scripting slides]
 
 
|  
 
|  
 
|  
 
|  
Line 225: Line 216:
 
| 10/23
 
| 10/23
 
|  
 
|  
* [[System building]]
+
* [[System building]] ([https://nyu-computer-science.github.io/software-engineering//build-tools/ slides])
** [[Popular system build tools]]
+
* [[Popular system build tools]]
* [https://nyu-computer-science.github.io/software-engineering//build-tools/ Build tools slides]
 
 
 
 
|  
 
|  
 
Required:
 
Required:
Line 246: Line 235:
 
| 10/28
 
| 10/28
 
|  
 
|  
* [[Continuous integration]]
+
* [[Continuous integration]] ([https://nyu-computer-science.github.io/software-engineering/continuous-integration slides])
 
* [[Using Travis CI for continuous integration]]
 
* [[Using Travis CI for continuous integration]]
* [https://nyu-computer-science.github.io/software-engineering/continuous-integration Continuous integration slides]
 
 
|  
 
|  
 
|  
 
|  
Line 304: Line 292:
 
| 11/11
 
| 11/11
 
| Code design and quality
 
| Code design and quality
* [[Design patterns]]
+
* [[Design patterns]] ([https://nyu-computer-science.github.io/software-engineering/design-patterns/ slides])
 
* [[Code quality]]
 
* [[Code quality]]
* [https://nyu-computer-science.github.io/software-engineering/design-patterns/ Design Patterns slides]
 
 
|  
 
|  
 
Required:
 
Required:
Line 321: Line 308:
 
| 11/13
 
| 11/13
 
|  
 
|  
[https://docs.google.com/presentation/d/1nzY5nbNGJ7rDCtgrUZYQu9H_QIeWK23jM202vK0AFBg/edit?usp=sharing User experience design]
+
[https://docs.google.com/presentation/d/1nzY5nbNGJ7rDCtgrUZYQu9H_QIeWK23jM202vK0AFBg/edit?usp=sharing User experience design] ([https://nyu-computer-science.github.io/software-engineering/user-experience-design/ slides])
 
* [[Site maps]]
 
* [[Site maps]]
 
* [[Wireframe diagrams]]
 
* [[Wireframe diagrams]]
* [https://nyu-computer-science.github.io/software-engineering/user-experience-design/#1 User experience design slides]
 
 
|  
 
|  
 
|  
 
|  
Line 352: Line 338:
 
| 11/20
 
| 11/20
 
|  
 
|  
Continuous deployment  
+
Continuous deployment ([https://nyu-computer-science.github.io/software-engineering/continuous-deployment/ slides])
* [https://nyu-computer-science.github.io/software-engineering/continuous-deployment/ slides]
 
 
|  
 
|  
 
|  
 
|  
Line 366: Line 351:
 
| 20
 
| 20
 
| 11/25
 
| 11/25
| Work session
+
| Project work session
 
|  
 
|  
 
|  
 
|  
Line 382: Line 367:
 
| 12/2
 
| 12/2
 
| Containers
 
| Containers
* [[Introduction to containers]]
+
* [[Introduction to containers]] ([https://nyu-computer-science.github.io/software-engineering/containers slides])
 
* [[Introduction to Docker]]
 
* [[Introduction to Docker]]
 
|  
 
|  
Line 398: Line 383:
 
| 23
 
| 23
 
| 12/4
 
| 12/4
| Projects
+
| Stakeholder demos
 
|  
 
|  
 
|  
 
|  
Line 411: Line 396:
 
| 12/9
 
| 12/9
 
| Projects
 
| Projects
* [[Amazon Web Services EC2 Elastic Compute Cloud|Amazon EC2]]
 
 
* [[Change management]]
 
* [[Change management]]
 
* [[Release management]]
 
* [[Release management]]
Line 424: Line 408:
 
| 25
 
| 25
 
| 12/11
 
| 12/11
| Projects
+
| Project work session
 
|  
 
|  
 
Required:
 
Required:
Line 437: Line 421:
 
|-
 
|-
 
!colspan=5|Part 14 - Release
 
!colspan=5|Part 14 - Release
 
|-
 
|
 
| 12/18 12:00pm
 
| Final exam
 
|
 
|
 
  
 
|-
 
|-
Line 451: Line 428:
 
|  
 
|  
 
|  
 
|  
 +
* '''Final exam'''
  
 
|}
 
|}

Revision as of 11:55, 4 December 2019


Day Date Topic Reading done Assignment due
Part 1 - Introduction
1 9/4 Course overview

Required:

2 9/9 What software engineers do

Required:

Individual assignments:

Part 2 - Basics
3 9/11

Required:

Quizes:

Individual assignments:

4 9/16

Required:

Part 3 - System specification
5 9/18

Quizzes:

Individual assignments:

6 9/23 System modeling and design

Individual assignments:

Part 4 - Sprint 0
7 9/25 Team formation

Quizzes:

9/30 No class
8 10/2 Sprint planning

Required:

Team assignments:

Scrum:

Part 5 - Sprint 0
9 10/7 Testing

Quizzes:

Scrum:

10/9 No class
10/14 No class
10/15 No class
10 10/16

Sprint planning

Scrum:

Part 6 - Sprint 1
11 10/21 Shell scripting

Individual assignments:

Scrum:

12 10/23

Required:

Quizzes:

Scrum events:

Part 7 - Sprint 1
12 10/28

Quizzes:

Scrum:

Part 8 - Sprint 2
13 10/30 Review before exam

Individual assignments:

Quizzes:

Scrum:

14 11/4 Midterm exam

Scrum:

Part 9 - Sprint 2
15 11/6 Stakeholder demos

Scrum:

16 11/11 Code design and quality

Required:

Scrum:

Part 10 - Sprint 3
17 11/13

User experience design (slides)

Scrum:

18 11/18 Stakeholder demos

Quizzes:

Scrum:

Part 11 - Sprint 3
19 11/20

Continuous deployment (slides)

Team assignments:

Scrum:

20 11/25 Project work session

Quizzes:

Scrum:

Part 12 - Sprint 4
22 12/2 Containers

Individual assignments:

Scrum:

23 12/4 Stakeholder demos

Scrum:

Part 13 - Sprint 4
24 12/9 Projects

Scrum:

25 12/11 Project work session

Required:

Quizzes:

Scrum:

Part 14 - Release
12/18 12:00PM - 1:50PM Final project presentations
  • Final exam