This class is aimed at graduate students and seniors/juniors who are strong/competent programmers. Graduate students should have taken ECE 551 and ECE 550, and be in (or have already taken) ECE 650 [or have equivalent background]. Undergraduates should have had CS 308, ECE/CS 250, and be in (or have already taken) Networking, and Databases.
I will assume you are a completely capable programmer at the start of this course.
- We will be using Piazza for class discussions/questions etc. I will also post various announcements, assignment corrections/clarifications, and so forth here.
- The course syllabus (Spring 2018)
- OIT's vcm site, where you will obtain your VM. Details of specific provisioning requirements coming soon.
- Recommended list of package to install on your VM: gcc g++ make valgrind emacs screen git postgresql-9.5 python python3-pip libssl-dev libxerces-c-dev libpqxx-dev manpages-posix-dev
- A quick intro to Python
- The Django Tutorial is here
- The midterm from 2017.
- Event RSVP Website
- Caching Web Proxy
- Security Analysis of Another Group's Hwk 1+2
- Scalable "Exchange Matching" server
- Project description .
This is what I expect for a schedule, but (except for exam dates) is subject to change:
|Tuesday Lecture||Thursday Lecture|
|Jan 9: (no class: Winter Break)||Jan 11: Intro/VM Setup|
|Jan 16: Server Software||Jan 18: (Snow day)|
|Jan 23: Protocol/Server Concepts||Jan 26: Web Protocols/Technologies|
|Jan 30: Unix Daemons||Feb 1: Unix Daemons (cont'd)|
|Feb 6: Guest lecture: Drew Stinnett||Feb 8: Containers|
|Feb 13: Guest lecture: CI/CD||Feb 15: Errors/Exceptions|
|Feb 20: Security: Intro/Authentication||Feb 22: Security: Cryptography|
|Feb 27: High Availability (Tyler Bletsch)||Mar 1: Disaster Recovery (Tyler Bletsch)|
|Mar 6: Security: Attacks||Mar 8: Defense in Depth|
|Mar 13: Spring Break (no class)||Mar 15: Spring Break (no class)|
|Mar 20: Midterm Exam||Mar 22: Performance + Scalability|
|Mar 27:Performance + Scalability||Mar 29: Performance + Scalability|
|April 3: IO Performance (Tyler Bletsch)||April 5: Guest Lecture: Salman Azhar|
|April 10: Guest Lecture: Ken Edwards||April 12: Guest Lecture Ravi Soundararajan|
|April 17: Guest Lecture: Vlad Petric||April 19: Guest Lecture: Jim Posen|