Typo Fixed

Assignment 4s "edit-image.php" File has a typo when suggesting student's use PATHINFO_BASENAME. Student's should actually use PATHINFO_FILENAME. This will return just the filename sample without the extension. If you haven't gotten up to that point yet, the assignment has been updated, just download a new copy of the instructions and you won't even notice it.


Details on the Final Exam

The Final Exam is scheduled for the 22nd. It will cover Lectures 1-8 and Assignments 1-4. Each lecture will have questions totalling at minimum 10%, the remaining 20% will be additional coding questions.

The majority of the exam will require coding. Syntax will be graded leniently as long as the concepts are understood and the correct functions to solve each problem are choosen.

The best way to study for the exam is not to review the notes, but the assignments. If you've successfully completed all the assignments, I am confident that you will do well on the exam.


Assignment 4 is Uploaded

Assignment 4 is uploaded, There is no cut off penalty for this assignment, but get started early and pace yourself! Make sure to submit on time as I will submit grades shortly after the Due Date.

Extra note regarding assignments, partial credit is based on how many pages are working 100%. Stop sending me broken stuff! Ask questions so I can help you get it working. Don't skip sections, as soon as you get stuck send an email.


Twitter API Requirements

Next class we will be working on the Twitter API, if you want to follow along you need an account with them and have your Mobile Number verified to use the OAUTH API,


April 20 - Class is Cancelled

Class is Cancelled Today. Our next meeting will be on 4/24/2017. Work on your homework! Email me any questions


Assignment 3 is Uploaded (Double Value)

Assignment 3 is finally uploaded, Delay was mainly due to me underestimating the scope of the assignment.

This is a very large assignment. Word count clocks in at 3400. For comparison assignment 2 was only 1500

This assignment is so large, it will be worth two assignment grades. We will have one last assignment after this to make it five grades total. You will have 2 weeks to complete this assignment with an extra week before the cutoff if needed.

As a side note: please note that the last day to drop classes is today. The final exam will involve code writing, so if you feel completely lost in the class, do consider your options.


Midterm Exam is scheduled for March 27th 2017

Lectures 1-5 and Assignments 1-2 are covered.


Assignment 1 is Graded & Assignment 2 is Ready

This goal of the second assignment is to create a data driven website. Similiar to our login registration in class example, you will need to write SQL and PHP to manage different types of data. Use forms example 4-6 as a guide when working on this assignment.


Welcome to the Course

It is my pleasure to be covering this course. This semester's CS 090.3 is a special topics course focused on exploring the technology that drive's the Internet's largest websites. We will learn how these technologies work and then implement our own versions of them. This is a programming course so be ready to code!

Keys to succeeding in this class

Writing code - I want to make a clear distinction between writing code and copy and pasting code. Try to minimize copy and pasting from slides and examples unless instructed to.

Manually typing out each statement forces your mind to consider what each line does. It's vital for learning how different files interact with one another (For larger projects understanding how each file is connected is crucial to building a working application) This is imperative for first time coders [Those with less than two years full time coding experience]. If I could have one wish for my students, it would be they spend more time writing code, than reading code.

Lecture Strategy

  1. Write code to solve a project together in class
  2. Have a "better" version on the website
  3. Explain the differences between [1] and [2]
  4. If a project spans multiple lectures (many will!), in each subsequent lecture students will be instructed to download [2] to ensure all students start with the same codebase.

Dont' Fall Behind

In the event that you miss class

  1. Download the last file you worked on [A] and the most recent copy of the files. [B]
  2. Starting from [A] and using [B] as a reference, manually copy (type) line by line to understand what we did in class. (Do Not Copy and Paste) I want to stress how important it is to write code, especially if you missed the lecture. This alone is not a suitable replacement for the lecture, but it's better than nothing.
  3. Get class notes and explanations from a classmate.

I wish you the best of luck in this course and hope you find the material fascinating. I will try my best to keep you engaged at all times. If you have any questions please do not hesitate to contact me.

A course syllabus can be found on the course material page.