10 Apr 2011 - Solution to Assignment 10 is available.
1 Apr 2011 - Solution to Assignment 9 is available.
14 Mar 2011 - Solution to Assignment 7 is available.
9 Mar 2011 - Due to lectura's recent issues, Assignment 7 is extended to 10 Mar, 11:59pm.
5 Mar 2011 - Please make sure to create a Unix group with MySQL on the CS servers before class on Wednesday. It can take up to a few hours to be processed; plan accordingly so that the group will be ready by class time. Your second group member should be one of the following: cgidummy12, cgidummy13, or cgidummy14.
5 Mar 2011 - If you would like to use a working base code from Assignment 6 in order to complete Assignment 7, that is now available here.
2 Mar 2011 - Due to lectura's recent issues, Assignment 6 is extended until 3 Mar, 11:59pm.
17 Feb 2011 - HW5 includes a required task for setting up a secure area before we start doing any PHP development, as requested by lab staff. Make sure to complete it before class next week.
2 Feb 2011 - HW3 includes a separate extra credit assignment. If you're interested in more practice with CSS, especially working specifically with styling divs, take a few minutes to try and complete it as well.
11 Jan 2011 - Due to classes being cancelled for 12 Jan, the first day of class has been pushed back to 19 Jan. The previous news announcement still holds, but now for 19 Jan.
11 Jan 2011 - Anyone who is not present at the beginning of the first day of class will be administratively dropped to make room for students on the course waitlist.
| Course Information | |
|---|---|
| Course Description | This course is intended primarily for CS students who are comfortable programming in Java but are interested in a brief overview of web development. This will include general discussion of web servers, server-side scripting languages, and databases as well as working specifically with PHP and MySQL to develop small related projects. It will also cover how to use HTML and CSS to lay out web pages and how JavaScript and AJAX can be used to enrich your web services. Security concerns (such as SQL injection, XSS, CSRF) will be addressed with each topic along with details of how to prevent these vulnerabilities in your web applications. |
| Lecture | Wednesdays, 6:00 - 7:50 pm in the Gould-Simpson 930 lab. You will need your CatCard to enter the lab. |
| Instructor | Jesse Gunsch (gunsch@cs).
Office hours: GS 228, W 1:30 - 2:30 pm, R 2:30 - 3:30 pm. CSc 335 students get priority, but I will be glad to help you if you show up. Rick Mercer - Instructor of Record Office: GS 727 For questions regarding web development or about homework, email Jesse. For administrative concerns (add/drop forms, etc.), contact Mercer. |
| Syllabus | A thorough description of the class policies can be found in the syllabus (PDF). |
| Resources | |
| Online CS Services | https://www.cs.arizona.edu/computing/services/main.html |
| Homework Turnin/Grades | http://qxlp.net/cs397b/turnin |
| Tenative Schedule | |
| 19 Jan 2011 | Intro to the class! How do HTTP requests work? Get started with HTML.
|
| 26 Jan 2011 | More with HTML. Text formatting, data presentation, other
miscellaneous tags. Forms.
|
| 2 Feb 2011 | Page layouts. Introduction to CSS and its purpose. Using
CSS for text formatting, page layouts, and forms.
|
| 9 Feb 2011 | The role of client-side scripting on web sites. Introduction to JavaScript. Language features, syntax, basic behavior and functionality. Traversing the DOM. |
| 16 Feb 2011 | More topics in JavaScript. Arrays, objects, prototyping, form validation.
|
| 23 Feb 2011 | Prototyping, closures, JavaScript libraries. Introduction to PHP. Language features, basic syntax and functionality.
|
| 2 Mar 2011 | More topics in PHP. Functions, session handling, file uploads, and related security concerns.
|
| 9 Mar 2011 | Introduction to MySQL. Basic database design concepts, how to write CREATE TABLE, INSERT, and SELECT statements.
|
| 23 Mar 2011 | Integrating MySQL into PHP scripts to make complete web applications. SQL injection attacks and how to avoid them.
|
| 30 Mar 2011 | AJAX in web applications. The XMLHttpRequest object, how to use it. |
| 6 Apr 2011 | Web software vs. traditional software. General considerations when developing web applications.
|
| 13 Apr 2011 | How to set up your own web site. DNS resolution, registrars, comparison of types of web hosts. |
| 20 Apr 2011 | Scalability concerns. Connection issues, database bottlenecks, |
| 27 Apr 2011 | Overview of HTML5/CSS3 and what's now available. |
| 4 May 2011 | Final project due at 5:59pm. Project presentations! |