Difference between revisions of "Programming Web Databases Syllabus"

esse quam videri
Jump to: navigation, search
 
Line 233: Line 233:
  
 
This syllabus may be amended as the course proceeds. You will be notified of all changes.
 
This syllabus may be amended as the course proceeds. You will be notified of all changes.
 +
 +
[[Category:IAM Classes]][[Category:Programming Web Databases]]

Latest revision as of 18:41, 4 August 2008

Programming Web Databases | #35-2430-01 | Spring 2008

Walker Hamilton 312.493.8467

I am available via phone & email. Email is preferred.

Course Description: Developing effective, large scale websites requires the developer to take a dynamic, data-driven approach. This course focuses on developing student skills in programming relational, object-oriented web databases using server-side scripting languages.

Prerequisite: 35-2400 Designing for the Web

Course Rationale: Why are you in this class? Perhaps you want to build vampire facebook applications so you can bite (and annoy) your friends. Maybe you just want to build a portfolio for yourself that you can update easily and quickly later, when more important things are going on. This class will show you how to create sites with dynamic content, drawn from a database or your own design.

You will need a desire to do be a complete geek, free time, and plenty of coffee.

Goals and Objectives: This class will teach you to create dynamic web pages using PHP that change and are changed by a user's actions. There will be no javascript or flash in this class, but you may use them in your projects. If your project utilizes javascript, it must also work with javascript disable. The same does not apply to flash.

Required Text: Programming PHP (O'Reilly)

Grading Policy 10 Attendance 10 Personal Project 60 Daily Work 20 Final Project

Grading Scale

93 - 100 A

90 - 92 A-

87 - 89 B+

83 - 86 B

80 - 82 B-

77 - 79 C+

73 - 76 C

70 - 72 C-

60 - 69 D

59 and below F


Attendance Policy: Students are expected to attend every session and arrive prepared before class begins. Since you are here to learn, it is important that you participate in class.

Students are expected to engage in class discussions based on the assigned reading material and related programming topics.

It is the departmental policy that 3 absences or more will result in automatic failure of this class.

If you miss a class, please contact me via email _in advance_ and I will provide any notes or assignments that you will need to make up.


In line with Columbia's Student Code of Conduct, students are reminded that Columbia expects students to treat each other, faculty, and staff with respect.

Harassment of any kind is forbidden, as is exposing students or faculty to material and images that might be considered offensive.

Academic honesty is expected of all students. Any inappropriate use of materials or plagiarism will not be tolerated (See Academic Integrity Policies on pg. 18 of the Columbia Catalog).

A MINIMUM grade of 'C' is required in order for this course to count toward your major in Interactive Arts and Media. If you do not complete the course with a 'C' or better, you will be required to re-enroll in the course until you reach this benchmark. Be advised that if this course is a prerequisite for other courses, that the failure to achieve a grade of 'C' or better WILL impede the progress of your studies.

Incomplete Grade Policy An Incomplete Grade (I) can only be issued for an undergraduate student who has met the following criteria:

The student has successfully completed all course requirements to date but is faced with unexpected circumstances during the final weeks of the semester resulting in the inability to complete course requirements by the end of the semester.

The student must have, in the instructor's estimation, the ability to complete missed course requirements outside of class and by the end of the eighth week of the following semester. The instructor must agree to evaluate the student's work and replace the incomplete grade before the end of the following semester. An agreement specifying work to be completed and a due date must be signed by both instructor and student and approved by the Department Chair. In the event that an instructor is no longer employed by the College, a program Coordinator, Director, or the Department Chair can evaluate the work and assign the course grade.

Conaway Center

Students with disabilities are requested to present their accommodation letters to their instructor at the beginning of the semester so that accommodations can be arranged in a timely manner by the College, the department or the faculty member, as appropriate. Students with disabilities who do not have accommodation letters should visit the office of Services for Students with Disabilities in room 520 of the Congress building (312.344.8134/V or 312.360.0767/TTY). It is incumbent upon the student to know their responsibilities in this regard.


Course Calendar

This syllabus may be amended as the course proceeds. You will be notified of all changes.

A more up-to-date copy is available on our class site on oasis. All assignments are due at the beginning of the following week unless otherwise noted. If you cannot make it to class, you must email me a link to your assignments (or email the assignments themselves) before class starts.

January 28th

Intro Talk about what we'll be doing PHP & Sites that use it. Look at and practice using our server environment PHP Quiz PHP Crash course php info hello_world.php

Homework: String assignment. Homework: Read Programming PHP Chapter 2 Homework: Read MySQL Reference Chapter 9 (Data Types)

February 4th

Review Programming PHP Chapter 2 SQL Primer How to use phpMyAdmin MySQL Column Types (From Reference, CH 9)

Homework: Make a mySQL table on the subject of your choice. Homework: Read Programming PHP Chapter 3 Homework: Read PHP Reference - MySQL Functions

February 11th

Review Select Syntax How to use the mySQL Functions

Homework: display_database_info.php - create a formatted output of your database info Homework: Read Programming PHP Chapters 4 & 5 Homework: Read MySQL reference Chapter 11.2 - Data Manipulation Statements

February 18th

Review Programming PHP Chapters 4 & 5 Review the Insert syntax Create an HTML form processor

Homework: Read Programming PHP Chapters 7 & 8 (Skip relational Databases & SQL, Skip Pear DB) Homework: Re-read MySQL reference Chapter 11.2 - Data Manipulation Statements

February 25th

Review the Update syntax Create an HTML form processor. Start work on Project 1: Create List, View, Add, Edit, Delete application.

Homework: Read Programming PHP Chapter 6

March 3rd

Questions on Project 1 & Work time.

  • Homework: Finish personal project

March 10th

Present personal project

  • Homework: Read PHP reference on date and time functions
  • Re-read Session & Cookie PHP reference
  • Homework: Read Programming PHP Chapter 12
  • Make a function that converts MySQL datetime fields to unix time.

March 17th

Start talking about Final Project Review Objects. Talk about configuration objects assignment.

  • Homework: Code Library - Pseudo code your assigned object.
  • Homework: Start coding your assigned object.
  • Homework: Email me questions regarding your object.
  • Homework: Reply to my email answering your questions regarding your object.
  • Homework: Code a database connection object.

March 24th Spring Break.

March 31st

Review all code produced over break. Review project status. Create a login script.

  • Homework: Create a completed login example.
  • Homework: Work on your object for the Final Project.

April 7th

Work on final project objects. Answer questions.

  • Homework: Continue working on final project objects.

April 14th

All Final Project objects due. Talk about all final project pieces. Build an upload script. Define roles for last phase of final project.

April 21st

Work on final project.

April 28th

Work on final project.

May 5th

Work on final project.

May 12th

Final Project launches. Final Project postmortem.

This syllabus may be amended as the course proceeds. You will be notified of all changes.