[CSENews] Fwd: CSE 491 s001, spring 2013
Teresa Isela VanderSloot
iselava1 at cse.msu.edu
Thu Sep 12 11:18:44 EDT 2013
------
Database-Backed Web Programming
CSE 491 s1, Spring ‘14
Syllabus 9/10/13 (v0)
Lecture/lab: Tu/Th 3-4:20pm, 55 Union Bldg
Instructor: C. Titus Brown, ctb at msu.edu, BPS 2228(c)
Office hours: TBD
Objectives:
In this course, you will learn how the Web works by working on an HTTP server, a backend Web app (including database and HTML generation), and a front-end JavaScript interface. As part of this we will discuss concepts in client-server and peer-to-peer architectures and how all of this technology works “under the hood” on today’s Internet. We’ll also discuss issues and approaches to developing software with an eye to maintainability, and learn about the practical separation of concerns in Web application stacks, from browser through server. A key part of this course will be the use of git and github. This course will be programming intensive and you should expect to either know Python or be prepared to learn it fairly well.
Background: Everything will be done in Python (v2.7) on Linux, and you should have general familiarity with programming, including object-oriented programming and functions. There are no specific prerequisites, except CSE 335. People with some Web programming background should still find the course interesting.
Materials: There are no required books or materials, and everything I use will be freely available online.
Course scope: The course will include the following: advanced abstractions in Python; automated testing and code coverage analysis; network programming; HTTP protocol implementation; JavaScript and JQuery; HTML templating with Jinja2; simple Django programming (Python); Amazon Web Services and cloud computing; exceptions; and software installs and systems administration on Linux.
Course outline:
The course will be broken up into three major modules:
HTTP server development.
App development and database integration.
Front-end interface development.
Cross-cutting themes will include software engineering, security, testing, and scaling, as well as social considerations (i.e. how to get people to sign up for your Web site :)
---
If you are interested in this course, be sure to send me your student number, so I can give you an override.
Best,
TIV
More information about the CSENews
mailing list