ECS 89H - Beginning Web Programming
Spring 2014

CRN: #43609
Lecture: MWF, 10:00-10:50 am, 107 Cruess

Instructor: Prof. Nina Amenta
Office hour: Tu, 1:30-2:30, 2123 Kemper Hall.

Discussion: Th, 12-1 pm, 107 Cruess

Teaching Assistant: Jesse Smith
Office hours: M 4-5 PM and Wds, 1:15-3:15, 2103 Academic Surge.

Prerequisites: ECS 10 or equivalent programming experience.

This is a course on Web programming for beginning Python programmers. We will develop simple Web applications, for instance to let a user search a database over the Web or to present dynamic information provided by a constantly updating online source as a graph or chart. The focus will be more on using the Web as a user interface for interesting programs, rather than on designing beautiful Web pages.

Students in this course should be familiar with Python programmng at the level of ECS 10 or better. We will work on more advanced Python programming, including object-oriented programming. We will also cover some elements of HTML5, CSS and Javascript, for making dynamic Web pages. Our server-side programs will run in the Unix operating system, but prior knowledge of Unix is not required; we will cover this as needed. We will use the Django server-side programming framework.

More advanced programmers should be aware that this is a lower-division course, and it cannot be used towards the CS major. It is intended for someone at the level of ECS 30.

It is certainly not appropriate for students who have completed or are taking ECS 40; they will find it repetitive and frustrating. A better option for learning Web programming would be the courses offered through the extension school. Another possiblity is the excellent free online course on Web development from Udacity.

Students who have completed ECS 15 but not ECS 10 or an equivalent programming course will likely not be prepared for this course; we will do a lot of programming and students will need a solid foundation. Feel free to contact the instructor if you feel you have equivalent experience.

Resources

We will mostly use online books and tutorials. There really is not a textbook for a course like this.

Software

You already have HTML, CSS and Javascript (in your browser!).

You should install Python 2.7.6 if you do not already have a version of Python 2.

Django is installed on our Web server already.