CSE 491: Concepts Database-Backed Web Development

Instructor: C. Titus Brown, ctb@msu.edu.


CSE 491, section 2; fall 2009, Tu 4:30 PM - 5:50 PM, 1225 Engineering (lecture); Th 4:30 PM - 5:50 PM 3353 Engineering (lab).

80 min lecture / 80 min lab

Office hours: 9:15-11:15pm Monday (the night before the homework is due) unless otherwise stated. Arrange private hours via e-mail.

Office: Egr 3137 (office hours or by appointment); Giltner 318(a) the rest of the time.

Prerequisites: CSE 232. Knowledge of Python is strongly suggested.

The goal of this course is to introduce students to the theory and practice of database-backed Web site development. By the end of the course, students will have implemented a simple but complete interactive "Web 2.0" multiuser Web site in Python with asynchronous JavaScript (AJAX) features and an SQL database. Students will learn basic HTML, CSS, SQL, and JavaScript, while gaining an understanding of client-server programming, software architecture considerations, automated tests, and basic software carpentry (version control, source code management, and tools for collaboration). See the syllabus for more information.

Justification: database-backed Web development exposes students to a plethora of modern (and immediately relevant) technologies. Actually implementing a simple Web site will introduce students to modern network programming, client-server architecture, and software architecture design and deployment considerations -- all practical skills with deep underpinnings in computer science. I'm hoping to foster an increased awareness of effective programming tactics and skills with this course, as well as exposing them to a variety of technologies and theoretical considerations.

Additional topics, if they can be worked in: usability consideration; statelessness; REST; scalability; OS/network stack; OS process/thread/event handling; the Semantic Web; remote APIs and RPC; trust networks; and social engineering.

Mailing list

To keep up to date with the planned course, please join the announcements mailing list.

Course materials and online resources

All of the course materials are accessible here.

You can also view the mailing list archives.

Lab of Genomics, Evolution and Development / ctb@msu.edu