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:
- Hello, World: HTML, HTTP, and the Web
- Structuring Web sites
- Unit and functional tests
- Storing and retrieving information from an SQL database
- Data models and database architecture; object databases
- Security thoughts: cookies, XSS, SQL injection attacks
- Scalability and back-end architecture
- Asynchronous page updates (AJAX) and JavaScript
- Continuous integration and regression tests
Technologies: Python, JavaScript/AJAX, PostgreSQL, Linux
Prerequisites: Intro Programming
Textbook: Dreaming in Code
Legacy Comments
Posted by Grig Gheorghiu on 2007-02-04 at 22:41.
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 on 2007-02-05 at 09:27.
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 on 2007-02-05 at 10:44.
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 on 2007-02-16 at 17:52.
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 <a href="http://alice.org/">alice</a>.
Comments !