Class Schedule
Week 0
11 Jan; 13 Jan
- Chapter 1
- Introduction to databases
- outline of course
- lab 1 – your own wiki – (making sure course software is installed and working correctly)
- problems setting root password? try SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘eF8g3ka’);
- slides
Week 1
18 Jan; 20 Jan
- Chapters 1 & 2
- RAT 1 – Tuesday – on Chapter 1 – 1 3×5 card of notes
- worksheet 1: basic queries using the world2.sql database.
- whichFlicks – designing a database.
- intro to PHP — slides in PDF
- interested in web design? check out smashingmagazine.com
Week 2
25 Jan; 27 Jan
- Chapter 3
- PHP and MySQL in 15 slides (or so)
- aliens website zip file
- Intro to PHP
- RAT 2 – Thursday – ch 2 & 3 – one 3×5 card of notes
- part of the RAT is a picky test about syntax. use your 3×5 card wisely.
- SECTION 1: average 40; Standard deviation: 13 (before snow-adjustment)
- SECTION 2: average 41; Standard deviation: 11 (before snow-adjustment)
- snow adjustment: + 10%
Week 3
1 Feb; 3 Feb
- Chapter 4
- Demos of PHP & SQL lab.
- Git Intro (Git video)
- Git assignment.
- Team creates project on github containing at least 3 files
- Every person on the team must make identifiable commit to project.
- Session Control and Dangerous Characters
- Lightning Round 0
Week 4
8 Feb; 10 Feb
- Chapter 5
- Git assignment demo
- Discussion of Project
- Do you want to be told what to do?
- Requirements of First Sprint
- Idea generation – 5 minutes.
- Self-organize into teams. (2-4 people)
- Project Design Meeting – 20 min. on Thursday.
- Sprint email due Friday 11:59pm.
- PHP useful odds and ends
- hidden input and how to upload files (demo avatar.zip)
- Sessions and dangerous characters (pdf of slides)
- PHP session code: git://github.com/zacharski/session.git
- Damien Katz video
Week 5
15 Feb; 17 Feb
- Chapter 6
- RAT 3 chapters 4-6. 1 3×5 card of notes allowed. Tuesday
- Yee Haw! A Lightning Round for the young buckaroos
- umw.sql
- world.sql (you probably already have this)
- tomatoes2.sql
Week 6
22 Feb; 24 Feb
- Chapter 7
- Cookies — a short everything-you-need-to-know
- Optional Individual Task for 20XP. Convert you session site to what I demo’d in class including:
- implement cookies so when you close your browser (but still logged in) then re-open it, it remembers the zip code (in addition to session variables).
- logout still works correctly
- rename search.php to index.php. rename index.html to login.html. Add login link to new index.php.
- logout link should take you to index.php
- when you are not logged in and search for coffee or movies you should see entire list of matching entries rather than an empty list.
- due 8 March
- finally the Damien Katz video!!!
- Scrum Sprint 1 Demo Day 24 Feb.
- White Board Study Group git://github.com/pstalcup/Whiteboard.git
- Travel Guide git://github.com/asams/travelGuide.git
- Theme Park git://github.com/rroyste2/theParks.git
- Zombie Survial git://github.com/amelia/ZombieDB.git
- Videogames git:/github.com/wesley4/vgdatabase.git
- The Supernatural git://github.com/cardin/thesupernatural.git
- Campus Meetup git://github.com/aclemmer/Campus-Meetup..git
- Dish in a Flash git://github.com/emilyfhoffman/CPSC-350-Team-2.git
- Fantasy UFC github.com/gfranko/Greg_Franko_CPSC_350.git
Week 7
1 Mar; 3 Mar
- Spring Break
Week 8
8 Mar; 10 Mar
- Chapter 8
- Tuesday: trying to figure out what we were doing before spring break
- SCRUM design meeting. 20 min.
- requirements for this sprint
- all tables in 1NF
- some queries involve multiple tables
- demos of optional cookie task
- SQL injection lecture, video & lab
- General Comments on Sprint 1. Here is a list of why points were deducted ordered by frequency.
- Scrum process: 25 XP. I deducted 5 points for not following the Scrum process at meetings. This is the easiest way to gain 5 points for the next sprint. Just go around the team answering the three questions. I also deducted points if multiple team members wrote “Entire team” as the responsible person for backlog items or if a team member did not know the backlog list.
- GIT procedure: 20 XP. I deducted 5 points if a team member did not make git commits. I deducted 5 points if a team did not use Git throughout the development cycle but only checked it code at the last minute.
- Install: 10XP. I deducted points if the install was not super-easy. I added points if a team had (even a brief) readme file explaining how to install the site.
- Quality: 20XP. I awarded up to 5 additional points depending on ‘wow’ factor.
- Use of database: 25XP. The criteria was that multiple people committed code that contained SQL queries. Nearly all teams received full credit.
- Thursday: RAT 4: chapters 7 &8; one 3×5 card
Week 9
15 Mar; 17 Mar
- Chapter 9
- Final exam draft 1 Sections 1 & 2
Turn in before 1 April for 10% bonus XP. Due date 26 April 6pm. - Lightning Round 3
- 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.)
Week 10
22 Mar; 24 Mar
- Chapter 10
- 22 Mar: Sprint 2 demo day
- Final Sprint Requirements
- all tables 3nf
- add an index to a table and have at least one query that uses the index (see p539-540 of our textbook)
- OPTIONAL: add one other feature described in our textbook from ch9 through appendix i, your choice. For ex., a subqueries or outer joins.
- XSS: Cross Site Scripting
Week 11
29 Mar; 31 Mar
- Chapter 11
- 29 Mar: Morning class cancelled — sorry. Need to attend meeting.
- Please listen to the FLOSS Weekly podcast on MongoDB. The talk on MongoDB starts about 12 minutes into the podcast.
- 31 Mar RAT 5 , Chapters 9-11; temporary tables p 534 # 5; indexing p539-40 #9. unlimited self-produced notes allowed. 12 or fewer questions. Each question will be worth 5 points.
- The tables used for the RAT.
- RESULTS: section 1 before any adjustment: mean: 51; standard deviation: 14.28. To normalize this, I added 5 to your score and multiplied that by 1.1. That resulted in a mean of 62 and a standard deviation of 15.71.
- RESULTS Section 2: mean 49; standard deviation: 14.31. I used the same normalization as section 1.
- Comments on previous Sprint.
- mongoDB discussion
Week 12
5 Apr; 7 Apr
- Final Lightning Round
- new database: imdb_small.sql
- 7 Apr: Sprint 3: FINAL SQL SPRINT
- New Version of Final including sections 3 & 4. 10% bonus for those sections if turned in by 15 April 11:59pm.
- NoSQL Project Requirements
- I will give a demo of a very simple mongoDB/PHP application in class. Projects of this complexity will earn 100XP (assuming 3 person teams).
- You can gain additional XP by either adding to the complexity of the site or trying new software
- Adding to complexity of site. As shown in class, this Lojong Mind Training site is so 2003. If you design and implement a nice version of this in mongoDB and PHP, populated, say with data from 10 slogans, that would be close to a 200XP project. Projects with similar complexity would also be worth that much.
- Trying new technology. I have a personal interest in using mongoDB with node.js (instead of PHP). There are a number of 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, the blog rolling tutorial looks fairly complex and something along those lines would be worth 200xp.
- Trying new technology II. You can use a different noSQL server. Using CouchDB instead of mongoDB (for ex., a CouchDB/PHP app) add at least 25XP. If you feel particularly adventurous you can try another noSQL server, which would be worth at least 50XP.
- You can combine new technology and adding complexity. For example a Lojong Mind Training site using mongoDB/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. I am assuming that a 3 person team can implement the equivalent of a Lojong Mind Training site in 3 hrs. That’s the level of work I am looking for. If there are more than 3 people on the team I will expect more output. For example, that mongoDB/Node.js Lojong site implemented by a 5 person team probably would be around 200XP.
- GIT? yes. Backlog (with the project’s git link) due 12 April 11:59pm to submit.o.bot_AT_gmail_DOT_com
- Other teams will not be downloading your code and evaluating it in class. Instead, I would like you to give an extended demo of your project ~10-15min.
Week 13
12 Apr; 14 Apr
- 30 min. for teams to plan noSQL project.
- PDF of MongoDB Quickstart slides.
- Javascript info: See Javascript resource links from my 110 resource page
- demo of
- mongoDB from the command line
- mongoDB / PHP simple web app
- 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”
- MongoDB, Redis, and node.js in the news: CloudFoundry by VMWare.
- Great node info at How to Node.
Week 14
19 Apr; 21 Apr
- 19 April: Evaluation Day: class evals and peer evals.
- Final version of exam. Due26 April 6pm
- 21 April: NoSQL project demo
- link to node.js chat
Week 15
26 Apr; 28 Apr
- 26 Apr 6pm: Final Exam due (via email to submit.o.bot_AT_gmail_DOT_com)