Instructor Ben Delaware bendy at cs.utexas.edu
When MW 10:00 - 11:00a Office Hours: MTh 11:00a - 12:00p
GDC 7.412B
Where GDC 2.506
What (Unique Number) 53220
Ground Rules Code of Conduct and Academic Honesty
Grades Blackboard
Discussion Group Google Discussion Group

Course Overview

The goal of this course is to introduce students to the basics of building modern webages using a combination of HTML, PHP, SQL, and JavaScript. Students will begin by learning how to design static webpages using HTML and CSS, and will then see how PHP can be used to extend this foundation to create dynamic websites. The course will also cover how to manage persistent using SQL, how to use JavaScript for client-side computation, and how to integrate these four technologies to build interactive webpages.

Prerequisites: A grade of at least C- in Computer Sciences 307, 313E, 314, 314H, or Electrical Engineering 422C (or 322C). While the course does not assume any experience with the various languages covered, it does rely on some familiarity with object-oriented programming in order to focus on topics specific to web programming.

Resources

Lecture slides will be posted after class for your perusal; click on a topic to see a pdf of the associated lecture. There is no required textbook, although I recommend Nixon's Learning PHP, MySQL, JavaScript, and CSS as a solid introductory reference text. A digital version of this book is available from the library.

In order to cover HTML, PHP, SQL, and JavaScript, the lectures will not be able to delve into every detail of each language. Thankfully, there is no shortage of good references available online.

Grading

The bulk of the course grade will come from four to five homework assignments. Assignments will need to be posted on the webspace on z.cs.utexas.edu and the source code for each needs to be submitted using turnin. (Don't forget to include your name with each submission.)

Turnin Instructions

The remainder of the grade will come from class participation- attendence and completion of in-class activities. Bonus points may be awarded for exemplary participation.

Final grades will be calculated from these two components using the following weights:

Assignments: 75%
Class Participation 25%

Late submissions. There will be a 25% penalty for every day that a homework assignment is late. If you are worried that you will miss a deadline, contact me as soon as possible. I'm willing to work with you if there are exceptional circumstances.

If you feel that an error was made in grading an assignments, you must request a regrade in writing within a week of receiving the grade in question. Keep in mind that I may regrade the entire assignment.

ANNOUNCEMENTS
3/5 HW4 Posted. [Show]
HW4 posted; it is due on April 8th.
3/5 HW3 Updated. [Show]
HW3 has been updated.
2/25 HW3 Posted. [Show]
HW3 is up now. It is due March 8th.
2/7 HW2 Posted. [Show]
HW2 is up now. It is due Feburary 20th.
1/30 Monday's class in GDC. [Show]
Currently we're slated to have class in the teaching lab in Gates (room GDC 2.506) on Monday, although things could still change. Stay tuned to this website.
1/16 HW1 Posted. [Show]
HW1 is up now. It is due Feburary 4th.
1/16 Join the Google Group [Show]
Everyone should join the google discussion group . I sent out email invitations to the class, request an invite if you did not receive one.
1/09 No Class on 1/23 [Show]
I'll be in Rome on Wednesday 23rd, so there won't be class on that day.
1/09 CS IDs Needed! [Show]
I need everyone's CS IDs in order to secure webspace and MySQL accounts for the class.

Schedule

DATE TOPIC NOTES
1/14 Course Overview + Introduction to HTML and CSS Hello World
Tag Zoo
Styled Tag Zoo
1/16 HTML Forms and introducing PHP Personality Test
PHP Hello World
Personality Source
1/21 MLK Jr. Holiday: no class
1/23 Class is cancelled for POPL
1/28 Object-Oriented Programming in PHP
1/30 Introduction to Relational Databases and SQL SQL Walkthrough
2/4 Joins in MySQL HW1 due Today.
SQL Joins Walkthrough
2/6 Using SQL with PHP Customers Source
Add Cust Source
Edit Cust Source
Update Cust Source
2/11 Security, Sessions, and Cookies Add Orders Source
Update Orders Source
Sessions Demo
Sessions Login Source
Sessions Email Source
2/13 Introduction to Javascript
2/18 Using the Dom with Javascript Demo 1
Demo 2
Demo 3
2/20 Broken A/V Day
2/25 Javascript + Dom Music Map Demo Music Map Source
get_info.php Source
2/27 Scripted HTTP (AJAX) JSONP Map Source
get_info2.php Source
AJAX Music Map get_info3 Source
get_city Source
set_event_coords Source
get_city Source
get_events Source
3/4 JQuery JQuery Music Map
3/6 Course Wrap up and Evals
3/11 Spring Break!!