CS418/518 - Web Programming

Meeting time Tuesday 4:20-7:00, Location Dragas 1117

Fall 2017

Old Dominion University Department of Computer Science

Lecturer: Dr. Justin F. Brunelle (jbrunelle@cs.odu.edu)

Office Hours: Friday afternoons (please schedule an appointment via email)
E&CS 3111

Course Information

The course will give best practice instruction and guidance in developing a messaging chatroom website like Slack using a LAMP stack, jQuery, PHP, and MySQL, along with other more modern technologies, languages, and systems.

While we will limit in-class discussions to these technologies, please feel free to use this course as an excuse to learn whatever new web technology you desire. However, adherence to assignment and milestone goals is still expected and deviation from the course materials will not be an acceptable excuse for not meeting expectations.

The course will focus on writing good code based both on best practice and code validation systems (e.g., JSLint). We will use git for version control via GitHub and project submission, so the code you generate in the course will serve as a publicly available example of the experience you obtain from the course.

Course material adapted from the Spring 2015 offering from Mat Kelly and Fall 2016 offering from Justin Brunelle.

Important Links


Date Topic Reading Notes
8/29 Syllabus
Git Cheat Sheet
Assignment 1
  • Guest Speaker From Dominion Enerprise, Jesse Wright
  • Docker deployment server demo
  • Assignment 1 review (private repos!!)
  • Intro to PHP
  • MySQL
  • Chapters 3-6 - PHP (O'Reilly)
    Chapter 2 - PHP Examples (Beginning PHP, Apache, MySQL Web Development)
    Chapter 8 - MySQL (O'Reilly)
    Chapter 4 - PHP-MYSQL Exercises (Beginning PHP, Apache, MySQL Web Development)
    RFC 2616 -- HTTP/1.1
    9/12 Chapter 7 - Validating User Input (Beginning PHP, Apache, MySQL Web Development)
    Chapter 8 - Error Handling Beginning PHP, Apache, MySQL Web Development
    Examples to review:
    9/19 Chapter 10 - Emailing with PHP (Beginning PHP, Apache, MySQL Web Development)
    Chapters 14-17 - Exploring JavaScript (O'Reilly)
    Chapter 18 - Ajax (O'Reilly)
    9/22 CS Colloquium
    Summer Internship Reports
    E & CS Building Auditorium (1st floor)
    Time: 10:30 (donuts) 10:40 (talk)
    Signed attendance sheets to be turned in with Milestone 1 report for 1-2 points of extra credit.
    10/3 Milestone 1 midway reports Reading Notes
    10/10 No Class -- Fall Break -- Office hours cancelled
    10/17 Milestone 1 due Milestone 2 assigned (grading rubric)
    • Milestone 2 Midway Presentations (2-minute max presentation time!)
    • Guest Speaker: Dorian Voegeli, MITRE: "Things you won't learn from Brunelle in CS518"
    Milestone 2 midway status report due
    10/31 Milestone 2 due
    Milestone 3 assigned (grading rubric)
    • Milestone 3 midway report
    • Open discussion/Q&A
    11/21 Shameless 432/532 plug
    Office hours cancelled this week (Thanksgiving)
    Milestone 3 due
    Milestone 4 assigned (grading rubric)
    • Bring a question to ask! Counts as Milestone 4 midway report
    11/29 Docker User Group with Sawood Alam +2 extra credit points for attending Include colloquium sheet in final write-up
    Class Cancelled due to travel (use as development period)
    MITRE Chair of the Federal Big Data Summit
    12/12 Final presentations (Exam Week)
    Demo Script
    No office hours this week Milestone 4 due
    Grad student projects & extra credit due
    Course held at final exam time (3:45-6:45)