We will cover these areas of the software development life-cycle:
Requirements analysis and project planning
Software architecture and system design
Implementation tools and techniques
Verification and validation
Deployment and maintenance
The day-by-day schedule is shown below, including all deadlines. You can import it into Google calendar or other apps using the ‘ics’ link to the right.
Wed Jan 18
Meeting 1 at 11 am. Software Development Lifecycle (Waterfall)
Mon Jan 23
Meeting 2 at 11 am. Mythical man-month, second-system syndrome, prototyping. Perceptrons.
Tue Jan 24
Check-in 1 due at 23:59.
Wed Jan 25
Meeting 3 at 11 am. Perceptron learning rule, Python doctest module.
Mon Jan 30
Meeting 4 at 11 am. Demonstrate OpenAI universe, implement perceptron learning.
Wed Feb 1
Meeting 5 at 11 am. Version control.
Sun Feb 5
Milestone 1 due at 23:59. Check-in 2 due at 23:59.
Mon Feb 6
Meeting 6 at 11 am. Git hashes and internal representation.
Wed Feb 8
Meeting 7 at 11 am. Adapt perceptron to hill-climbing, apply to cart-pole.
Mon Feb 13
Meeting 8 at 11 am. Deeper recap on perceptron model, what is gym doing?
Wed Feb 15
Meeting 9 at 11 am.
Sun Feb 19
Milestone 2 due at 23:59.
Tue Feb 21
Meeting 10 at 11 am. Introducing lunar lander problem, matrix operations, and numpy.
Wed Feb 22
Meeting 11 at 11 am. More tool and techniques for unit-testing in Python, including unittest and coverage modules.
Mon Feb 27
Meeting 12 at 11 am. Property-based testing and fault injection.
Tue Feb 28
Check-in 3 due at 23:59.
Wed Mar 1
Meeting 13 at 11 am.
Mon Mar 6
Meeting 14 at 11 am. Reinforcement learning overview.
Tue Mar 7
Milestone 3 due at 23:59.
Wed Mar 8
Meeting 15 at 11 am. Implementing and optimizing k-bandit agents.
Sun Mar 19
Check-in 4 due at 23:59.
Mon Mar 20
Meeting 16 at 11 am. Delta-rule approximation vs exact averages in k-bandit agents, and the recency effect.
Wed Mar 22
Meeting 17 at 11 am. Value function calculation for grid world problems.
Mon Mar 27
Meeting 18 at 11 am. Specified a new, finite grid world problem for M4.
Wed Mar 29
Meeting 19 at 11 am. Assertive programming, design by contract, and Hoare logic.
Sun Apr 2
Milestone 4 due at 23:59. Check-in 5 due at 23:59.
Mon Apr 3
Meeting 20 at 11 am. Policy improvement for solving grid world of M4.
Wed Apr 5
Meeting 21 at 11 am. Tiling a continuous space
Sun Apr 9
Milestone 5 due at 23:59.
Mon Apr 10
Meeting 22 at 11 am. Apply tiling to cartpole
Wed Apr 12
Meeting 23 at 11 am. Training multi-layer perceptrons with scikit-neuralnetwork
Sun Apr 16
Check-in 6 due at 23:59.
Mon Apr 17
Meeting 24 at 11 am. Minesweeper
Wed Apr 19
Meeting 25 at 11 am. More minesweeper coding, using constraints
Sun Apr 23
Milestone 6 due at 23:59.
Mon Apr 24
Meeting 26 at 11 am. Start on a constraint solver
Wed Apr 26
Meeting 27 at 11 am. Solution to M6, plugging constraints into Minesweeper
Sun Apr 30
Check-in 7 due at 23:59.
Mon May 1
Meeting 28 at 11 am.
Sun May 7
Milestone 7 due at 23:59. Final submission of all project materials.
Mon May 8
Final exam due at 23:59.