Sun, 04 Feb 2007

Not in the Syllabus


In the spirit of Greg's Not on the Shelves post about books he'd like to see, here's one class I'd like to see taught:

Test-Driven Web Development

This class will introduce students to test-driven software engineering through the development of a database-backed Web site. Student development will be driven by requirements specified in acceptance tests on a weekly basis, with periodic code reviews and demo presentations. The course will cover test-driven software engineering, Web architecture, databases, JavaScript/AJAX, and good software development practices.

Rough outline:

  1. Hello, World: HTML, HTTP, and the Web
  2. Structuring Web sites
  3. Unit and functional tests
  4. Storing and retrieving information from an SQL database
  5. Data models and database architecture; object databases
  6. Security thoughts: cookies, XSS, SQL injection attacks
  7. Scalability and back-end architecture
  8. Asynchronous page updates (AJAX) and JavaScript
  9. Continuous integration and regression tests

Technologies: Python, JavaScript/AJAX, PostgreSQL, Linux

Prerequisites: Intro Programming

Textbook: Dreaming in Code

posted at: 13:18 | path: /feb-07 | 4 comments

Tags: , , ,


Comments:

Posted by Grig Gheorghiu at Sun Feb 4 19:41:53 2007:
Let me try stopping salivating for a while and say those MSU students are a lucky bunch! I hope videos of the lectures will be on the Web, in true Open Source fashion :-)

Grig

Posted by michael schurter at Mon Feb 5 06:27:53 2007:
The syllabus seems far too practical.  Perhaps each step should be followed by a discussion of an esoteric alternative programming paradigm which was popular among a small group of academics in the 70s and has really never been surpassed in functionality and elegance?  Now that's education!

Posted by Titus Brown at Mon Feb 5 07:44:06 2007:
Michael, I think you're right.

"Database-Backed Web Programming in ALGOL"?

;)

Seriously, although I do intend to provide plenty of practical information, for most of the items I do have plenty of more theoretical stuff to pass on.  I was thinking of trying to do a "1 on/1 off" lecture style, with one day of pure practical stuff ("here's how HTTP works, guys!") and one day of theory (REST,  stateless interactions, HTTP as a limited API).  I'll probably have to flesh that out a bit more.

--titus

Posted by Diane Trout at Fri Feb 16 14:52:15 2007:
Are you sure you're not part of the CIS department?

Back in at my university the CIS major was part of the school of business and they taught things like Visual Basic and Office Automation.

So of course the CS majors looked down on them for being clueless posers.

On the other hand my CS department didn't know how to teach people how to program. (The only people who passed CS101 already knew how to code.)

Now we've got CS classes who are trying so hard to make CS approachable that they're even useing alice.

Post a new comment:

Name:


E-mail:


URL:


Comment:


Note that comments must be manually approved; e-mail titus@idyll.org if your comment doesn't show up quickly.