Readings & Notes

It's difficult to pick one definitive text for a course on web development. The material we're working with changes so rapidly that most traditional textbooks become quickly outdated and even the good ones are often full of issues as the material evolves.

Given that, I share a comprehensive set of lecture notes that are published each week and are available on Github via These notes are your primary resources for this course, as they are customized to the material we're covering in lecture.

In addition to my notes, you will also rely heavily on the following online resources:

FAQ: Can notes be published ahead of time?

Every semester, there are determined and excited students wishing to get ahead, which on one hand is great. On the other hand, it creates some management problems.

As discussed above, content change fast in a course such as this. Every semester I update notes to keep them current with the latest technologies and procedures. If students work ahead from previous semester's notes, they're bound to hit bumps when instructions no longer work as described. It's also possible that I've improved something early on in the course and that change hasn't yet been cascaded to later notes.

When this happens, confusion tends to ensue as students start to post questions on topics we haven't yet covered. This causes some other students to panic, thinking they're behind or have missed something they should be doing. It also creates more volume in the course forum, making it harder for the teaching team to keep up with students asking questions about the current material.

Given all of the above, I will only post notes as we reach them.

FAQ: I still really like books. Can you recommend some books?

For PHP, see Learning PHP by David Sklar, April 2016.

For Laravel, see Laravel: Up and Running by Matt Stauffer, November 2016.

Note that these books were published in 2016 and some of the information may be out-dated. Because of this, I recommend these books only as supplemental material to study the broader concepts of these technologies. Always cross-reference with the up-to-date online documentation.

Other resources