Class Schedule
Prior to semester start
If you have time during break, and are looking for something fun to do, here are some possibilities:
- install a MySQL and Apache webserver on your laptop using XAMPP
- play around with node.js – a javascript web server – way cool.
- see the resources listed under April 5th – node.js day, below
- start learning PHP
- learn how to use the git versioning system and github.
Week 1
Tuesday – 17 January
- Intro to Course
- Intro to DB
Thursday – 19 January
- lab 1: the XAMPP stack – handout
- preferred alternative install for Linux: https://help.ubuntu.com/community/ApacheMySQLPHP
Week 2
Chapters 1 & 2
Tuesday – 24 January
- RAT 1: chapter 1: 1 3×5 card of notes
- intro to PHP (PDF of slides)
- alien abduction zip file.
Thursday – 26 January
- worksheet – simple queries on the world2.sql database
- interested in web design? check out smashingmagazine.com
Week 3
Chapter 3
Tuesday – 31 January
- Intro to PHP continued
- PHP and MySQL in 15 slides (or so)
- forthcoming – zip file of sample website
Thursday – 2 February
- RAT 2: chapters 2 & 3: 1 3×5 card of notes (test is picky about syntax)
Week 4
Chapter 4
Tuesday – 7 February
- Lightning round
- tomatoes.sql & world.sql
Thursday – 9 February
- Intro to GIT (Git video)
- Git Cheat Sheets: This one, and another
- GIT assignment –
- Discussion of project
- Requirements of First Sprint
- idea generation
- Session control and dangerous characters
Week 5
Chapter 5 & start of project
Tuesday – 14 February
- GIT assignment demo
- The project
- self-organize into teams (2-4 people per team)
- Project design meeting ~ 20 minutes
- Sprint email due Wednesday 11:59pm
- PHP – Sessions and dangerous characters
- session code at git://github.com/zacharski/session.git — do git clone
- pdf of slides
Thursday – 16 February
- PHP odds and ends
Week 6
Chapter 6
Tuesday – 21 February
- RAT 3 – chapters 4-6 – 1 3×5 card
Thursday – 23 February
- Lightning Round
- umw.sql
- world.sql (you probably already have this)
- tomatoes2.sql
Week 7
Chapter 7
Tuesday – 28 February
- SPRINT 1 DEMO
- Photopony – git://github.com/arkalark/Photopony.git
- xmenage – git://github.com/tcpugh05/XMen_Project.git
- Cub Scout Popcorn Sales – git://github.com/ tuxy117/350-Project.git
- LuchaLink – git://github.com/dlederle/Luchalink.git
- Doodle in Class – git://github.com/otirbproductions/Doodle-In-Class.git
- Major Life – git://github.com/trinklehall/MajorLife.git
- Jive Whale – git://github.com/samdubusc/FOOBARs.git
Thursday – 1 March
- cookies – the essentials – what you need to know
- SCRUM design meeting 20 min. Requirements of this sprint:
- All tables in 1NF
- some queries involve multiple tables
Week 8
Chapter 8
Tuesday – 6 March – Spring Break
Thursday – 8 March – Spring Break
Week 9
Chapter 9
Tuesday – 13 March
- RAT 4 chapters 7 & 8
Thursday – 15 March
- SPRINT 2 DEMO
- SCRUM design meeting
Week 10
Chapter 10
Tuesday – 20 March
Thursday – 22 March
- Exploits, hacking, and protecting your site
- SQL Injection
- PDF of slides:
- SQL Injection
- XSS Cross Site Scripting
- SQL Injection Basics Demonstration Video
- How to steal passwords and credit card numbers – video
- Project Repositories –
- Car Book: git://github.com/EvanTucker/Car-Book.git
- Cub Scout Popcorn: git://github.com/tuxy117/350-Project.git
- Doodle-In-Class: git://github.com/otirbproductions/Doodle-In-Class.git
- Drink Recipes: git://github.com/itsjess/DrinkRecipes.git
- Game Exploitation: git://github.com/Rszura874/Gaming-exploitation-web-site.git
- Game Cycler: git://github.com/shannotate/Gamecycler.git
- Jive Whale: git://github.com/samdubusc/FOOBARs.git
- Luchalink: git://github.com/dlederle/Luchalink.git
- Major Life: git://github.com/oguobadia/NewMajorLife.git
- Mary Massacre Budget: git://github.com/rossannamarie/MaryMassacreBudget.git
- Photo Pony: git://github.com/arkalark/Photopony.git
- Pre-Owned Fun: git://github.com/JimUpdike/PreownedFun.git
- UMW Connections: git://github.com/bmeans/UMWConnections.git
- UMW Textbook: git://github.com/dzim1/umwTextbookSwap.git
- X-men: git://github.com/tcpugh05/XMen_Project.git
Week 11
Tuesday – 27 March
- Lightning Round
- Chinook database
- Movies
- World (You probably already have this)
- UMW course schedule (Since we altered the table in the previous lightning round, you probably want to re-source this file.)
Thursday – 29 March
- RAT 5: chapters 9 – 11; temporary tables p534 #5 unlimited self-produced notes. 12 or fewer questions (postponed)
- Final exam part 1
- imdb small
Week 12 – Month long mini course on noSQL
Tuesday – 3 April
- Final SQL Sprint
- COMPLETION OF SQL PORTION OF COURSE
Thursday – 5 April – node.js day
- FINAL RAT: RAT #5: chapters 9 – 11; temporary tables p534 #5 unlimited self-produced notes. 12 or fewer questions
- we will watch the start of a great video on Node.js by Ryan Dahl, the creator of Node.js.
- Ryan Dahl with a 30 min. hands on tutorial on node.js — “Hilarity ensues”
- Great node info at How to Node.
Week 13
Tuesday – 10 April
- Introduction to noSQL
- Introduction to MongoDB (pdf of slides)
- Please listen to the FLOSS Weekly podcast on MongoDB. The talk on MongoDB starts about 12 minutes into the podcast.
- noSQL Project Requirements.
- This assignment is optional. You can earn between 100 and 250XP. For amazing work you can earn 350 or even 500 XP
- I will give a demo of a very simple mongoDB/PHP application in class. Projects of this complexity will earn 100XP (assuming 2 person teams). To earn more XP you can use a new technology, add to the complexity of the site, or both.
- I have a personal interest in using mongoDB with node.js (instead of PHP). There are a number of good mongoDB/node.js tutorials on the web (for ex., Getting Started with MongoDB and Node.js and Blog Rolling with mongoDB, express, and Node.js). A good, basic mongoDB/node.js site would be worth 150XP (again, assuming two person teams). The blog rolling tutorial looks fairly complex and something along those lines would be worth at least 200XP.
- You can use a different noSQL server. Using CouchDB will add at least 25XP, and a different noSQL server will add at least 50XP.
- You can combine new technology and add complexity. For example, a complete Lojong Mind Training Site using MongoDB and node.js would be worth at least 250XP.
- Time assumptions. I am assuming that one person can implement the simple site I demoed in an evening’s worth of work. A 3 person team should be able to implement a complete Lojong site in 3 hrs. This is the level of work I am looking for. I assume more output for larger teams.
- You will be giving an extended demo of your project 26 April.
Thursday – 12 April
- Mongo Resources
- slides from Tuesday’s talk
- example php files from my Lojong example
- lojong.php
- add.html
- we will watch the start of a great video on Node.js by Ryan Dahl, the creator of Node.js.
- Ryan Dahl with a 30 min. hands on tutorial on node.js — “Hilarity ensues”
- Great node info at How to Node.
- MongoRAT – optional – due by Sunday.
Week 14
Tuesday – 17 April
- Intro to Redis
Thursday – 19 April
- Final Exam – new version
- The scoop on Map Reduce
- Cluster Computing and Map Reduce
- CouchDB – short description
- Introduction to CouchDB
- Info on CouchApp
- CouchDB: Relaxing Offline Javascript
- Hadoop – comedy
Week 15
Tuesday – 24 April
- Quick intro to CouchDB
- CouchApps – Chris Anderson Video and a video by Max Ogden
- Couch in 15 minutes
Thursday – 26 April
- noSQL Project DEMO