CS465/CS565 -- Databases/Scripting Languages

Brad Vander Zanden

Where to Find Things

Teaching Philosophy

I expect you to come to class having read the assigned material. Once we get to the web programming portion of the course, you will be assigned participation activities from the Web Programming textbook that will force you to read the assigned material before class. The database portion of the course will resemble the lecture-oriented courses that you are familiar with but the web programming portion of the course will be more like a flipped classroom where you work on exercises from the textbook or your homework assignments. Unlike many courses that you take, I think that you can understand much of the web programming material by simply reading it and then practicing it. There will be new concepts that you may be unfamiliar with, such as regular expressions in PHP and Javascript, or some of the "plumbing" (i.e., infrastructure) underlying the communication between the client and server. In these cases I will cover the material in a traditional lecture format. However, there will also be material that while new, can probably be understood by reading the assigned sections of the textbook. This includes much of the material on syntax for loops, functions, or conditionals in the scripting languages or the syntax for html markup tags. In this case you should expect more hands-on exercises during class.

I will also be assigning regular quizzes that are due by the next lecture period and regular homework assignments. I find that material is best learned when it is rehearsed and the best way to get you to rehearse the material I teach is to have you work short problems as soon as possible after the material is presented. Unlike other programming courses there will not be long programming assignments because database queries and scripting languages are meant to be used for relatively short programs. Since query languages and scripting languages are interpreted rather than compiled, they are much slower than conventional languages and hence ill-suited for solving large, computation-intensive problems.

In the web programming portion of the course you will be actually working on a "project" that implements the client and server sides of a web-site, but you will be doing the project as regular homework assignments.