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

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

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

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.
  • 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
  • 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

Week 14

19 Apr; 21 Apr

Week 15

26 Apr; 28 Apr

  • 26 Apr 6pm: Final Exam due (via email to submit.o.bot_AT_gmail_DOT_com)