Welcome to CSC 435
CSC435, 'Web Programming', is a upper division course within the American University's CS department. The course provides students with a strong foundation in the principles of web application development, starting from the fundamentals all the way to current technologies. Instead of website layouts and front-end design, the course focuses on back-end programming.Topics include creating interactive websites, web application architecture, server-side scripting, databases, client-server interactions and web security. Students will be introduced to specific sets of web programming tools such as HTML/CSS, JavaScript, PhP, Python CGI, and SQL. At the end of the course, students will understand some of the most important technologies that underlie popular websites they encounter everyday. The knowledge is both practical for creating modern web apps and intellectually interesting for a computer scientist.
Course syllubus is here: syllabus
Topics will include HTML, CSS, JavaScript, Python CGI, PHP, database SQL, dynamic web programming using Ajax and web framework (given time).
Course Info
Prerequisites:
Introduction to Programming, CSC 280.
Textbooks:
We don't require any textbooks. But I found the following textbooks great references.- Learning Web Design, 4th Edition A Beginner's Guide to HTML, CSS, JavaScript, and Web Graphics, by Jennifer Niederst Robbins. . Required.
- JavaScript: The Good parts; Douglas Crockford, O'Reilly Media Inc., 2008. Highly recommended.
- Web Standards: Programmer's Reference, Steven M. Schafer, Wiley Publishing, 2005.
- Teach Yourself Javascript in 24 Hours, Michael Moncur, Sams Publishing, 2007 Recommended.
- Learning SQL, Alan Beautieu, O'Reilly Media Inc., 2005. Recommended.
Hours:
Lectures: Mon/Thursday, 5:20-6:35pm MGC Rm 324
Office hours: Wed, 4-6pm SCAN 110 or by appointment
Grading Policy
50% Assignments (five projects), 15% Mid-term exam, 15% Final Project, 10% Class attendance (in-class performances and attendance) and 10% in-class quiz.
Homework policy:
Homework is all about programming. No plagiarism: only high-level discussions are allowed (i.e., not relating to a single line of code), and you have to declare who you discuss with. Homework is due on the assigned due date (end of the day ). The late home work is not accepted. All homework must be submitted via blackboard. No email submission is allowed.
Attendence
We will do lots of live-programming, discussion, and quiz in class. Again, it is very much like learning a foreign language. Class participation is an important chance to practice your skills. Missing two classes without valid reasons will cause 0% attendence grade. Late for class more than 20 mins is counted as missing a class.
Online Discussion
Please sign up for piazza here:
CSC 435 Piazza
Final Projects
The materials covered in CS435 culminates in a final project, where students work in teams (maximum 3 people) or individual to implement a web application. Examples of previous projects include:
- A web site for posting of free cultural events in DC
- Restaurant review systems
- Music player for one or more business locations
- Shopping website selling gourmet coffee and foods interacting with database
- A personal app to track your health and exercise progress.
- An Amazon Mechanial Turk experiment web and data collection.
A successful student project proposal is:
- Well-defined: you should know not only the specifics of your project (who would use it? how would they use it?), but what technologies you might use. You should also have a clear way of evaluating the project. Define what a successful project would look like.
- Well-scoped: I have to believe it can be successfully completed during the semester by an appropriate team of students.
- Well-paced: you should have concrete milestones and checkpoints with your mentor throughout the semester.
Student project proposals should be sent to bxiao at american.edu as early as possible and no later than the Feb 15th. Project proposals should include a paragraph pitching your project to students.
Other Information
Please let me know if you have any other questions we can help address! The instructor can always be contacted by sending an email to bxiao@american.edu. Please allow 48 hours for email responses.