Building Dynamic Websites

Computer Science E-75

Harvard Extension School
Today's websites are increasingly dynamic. Pages are no longer static HTML files but instead generated by scripts and database calls. User interfaces are more seamless, with technologies like Ajax replacing traditional page reloads. This course teaches students how to build dynamic websites with Ajax and with Linux, Apache, MySQL, and PHP (LAMP), one of today's most popular frameworks. Students learn how to set up domain names with DNS, how to structure pages with XHTML and CSS, how to program in JavaScript and PHP, how to configure Apache and MySQL, how to design and query databases with SQL, how to use Ajax with both XML and JSON, and how to build mashups. The course explores issues of security, scalability, and cross-browser support and also discusses enterprise-level deployments of websites, including third-party hosting, virtualization, colocation in data centers, firewalling, and load-balancing.

This is OpenCourseWare.

Computer Science E-75 is a course at Harvard Extension School (also known as Computer Science S-75 at Harvard Summer School).

Even if you are not a student at Harvard, you are welcome to "take" this course via cs75.tv by following along via the Internet. (The course's own website is at www.cs75.net.) Available at left are videos of lectures along with PDFs of projects. Sample solutions to the latter are not available, but if you have questions or would like to discuss the material with others, do join the course's Google Group.

If you're a teacher, you are welcome to adopt or adapt these materials for your own course, per the license.

Special thanks to Chris Thayer and Harvard Extension School for the course's videos.

djm

Creative Commons License

Copyright © 2010 – 2014, David J. Malan of Harvard University

This course's content is licensed by David J. Malan of Harvard University under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License, which means that you are not only welcome to "take" this course,

you are free:

  • to Share — to copy, distribute, and transmit this content
  • to Remix — to adapt this content
under the following conditions:
  • Attribution — You must attribute this content to David J. Malan of Harvard University but not in any way that suggests endorsement of you or your use of the work.
  • Noncommercial — You may not use this content for commercial purposes.
  • Share Alike — If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.
with the understanding that:
  • Waiver — Any of the above conditions can be waived if you get permission from David J. Malan of Harvard University
  • Other Rights — In no way are any of the following rights affected by the license:
    • Your fair dealing or fair use rights;
    • Apart from the remix rights granted under this license, the author's moral rights;
    • Rights other persons may have either in the work itself or in how the work is used, such as publicity or privacy rights.
  • Notice — For any reuse or distribution, you must make clear to others the license terms of this work. The best way to do this is with a link to http://creativecommons.org/licenses/by-nc-sa/3.0/.

So that folks (like you!) have a place to turn with questions, we've created a Google Group called cs75-discuss, which is like a message board and mailing list rolled into one.

Once you've joined, you'll be able to email the group at cs75-discuss@googlegroups.com and browse past discussions at https://groups.google.com/forum/?fromgroups#!forum/cs75-discuss.