CSE 491: Introduction to Database-Backed Web Development

Instructor: C. Titus Brown, ctb@msu.edu; Egr 3137.


CSE 491, section 2; fall 2008, Tu 12:40 PM - 2:00 PM, 1202 Engineering (lecture); Th 12:40 PM - 2:00 PM 3353 Engineering (lab).

80 min lecture / 80 min lab

Office hours: 8:15-10pm the night before the homework is due (usually Wednesday) unless otherwise stated. Arrange private hours via e-mail.

Prerequisites: CSE 232. Knowledge of Python is suggested but not required.

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).

Graded work: weekly programming assignment and two short papers.

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 can be accessed here.

There is a Wiki, at http://msu-cse491-fall-2008.wikidot.com/; to join as a member, go here and enter the password 'spartannica'.

You can also view the mailing list archives.

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