[Home] [Syllabus] [Assignments] [Resources]
Reading assignments are listed for the day when the material is first explained in class. You may read ahead the material ahead of the lecture or after, either way is fine.
Problem sets and labs are individual work, unless otherwise stated. While it's perfectly OK (and is encouraged) to discuss the problem sets in general terms with others in the class, your solution must be your own work. Copying any part of another person's solution (even if you modify the code) is considered academic dishonesty and will be dealt with according to the university's policy.
It is OK to use code found in a textbook or online, but such use must be credited (i.e. you have to state the exact source of the code and clearly explain how this code was used). Failure to credit the source constitutes academic dishonesty.
Using code samples from the book or from lecture notes as a starting point of your code is perfectly reasonable. However, using large chunks of code "as is" (with a proper credit) may significantly reduce your grade if your own contribution was small. If in doubt about what materials are appropriate to use and how, please ask the instructor.
Project work is done in groups. Members of the same group have free access to each other's code (and are encouraged to pair-program). Make sure to document contributions of each team member (in comments in the code or in a separate file). This will help me to properly grade your work in case the contributions of the team members where uneven. Communications with anyone outside of your group are limited to general discussion only, no code should be shared between groups.
Exams are open book, open notes. You may use the text books, your own notes, and code samples that you find helpful. If you would like to use a different text book on the test, please let me know ahead of time (please bring a copy) and I'll let you know if it it's OK.
Reading abbreviations in the syllabus:
HTML | HTML & XHTML: The Definitive Guide, Fifth Edition by Chuck Musciano, Bill Kennedy |
PHP | Web Database Applications with PHP & MySQL, 2nd Edition by Hugh E. Williams, David Lane |
Tuesday | Thursday | |
---|---|---|
Week 1: January 17 -- January 20 | ||
Course overview. Basics of client/server model. Reading: HTML Ch. 1, PHP Ch. 1 |
Basics of HTML: page layout, headers, paragraphs, links,
lists. Introduction to CSS. Reading: HTML Ch. 2.1 - 2.10, 3.1 - 3.8, 4.1 - 4.10, 5.1 - 5.3, 6.1 - 6.4, 7.1 - 7.4, 10.1 - 10. 2. |
|
Week 2: January 23 -- January 27 | ||
Lab: Formatting HTML with CSS. Reading: HTML Ch. 8 Problem set 1 posted: HTML, CSS. Due Tuesday, Feb 7 |
HTML & CSS (continue). | |
Week 3: January 30 -- February 3 | ||
Introduction to PHP, server-side processing, interleaving HTML and
PHP. Reading: PHP Ch. 2 pp. 16 - 28. |
PHP variables. Numbers and strings. | |
Week 4: February 6 -- February 10 | ||
Lab on PHP. Problem set 1 due Problem set 2 posted: basics of PHP. Due Tuesday, Feb. 21 |
PHP conditionals. Booleans. Reading: PHP Ch. 2 pp. 28-33. |
|
Week 5: February 13 -- February 17 | ||
Loops and arrays. Reading: PHP Ch. 2 pp. 33 - 36, Ch. 3 pp. 57 - 76. |
Lab on conditionals, loops and arrays. |
|
Week 6: February 20 -- February 24 | ||
Functions, global variables, static variables. Reading: PHP Ch. 2 (till the end) Code style and code refactoring. Problem set 2 due Problem set 3 posted: PHP loops, functions, and strings. Due Tuesady, March 14 |
More operations with PHP strings; dates and times. Reading: PHP Ch. 3 76 - 87, 97 - 103. Review for the midterm. |
|
Week 7: February 27 -- March 3 | ||
Midterm I |
Databases and SQL. Reading: PHP Ch. 5 |
|
March 6 -- March 10: SPRING BREAK, NO CLASSES | ||
Week 8: March 13 -- March 17 | ||
PHP and database functions. Pair-programming, documenting code. Reading: PHP Ch. 6 172- 188, 208 - 219 Problem set 3 due Project assignment 1 posted: displaying blog entries. Due Tuesday, March 28. |
Project work in the lab. | |
Week 9: March 20 -- March 24 | ||
HTML forms. Server-side form processing. Reading: HTML Ch. 9, PHP Ch. 6 188- 208 |
Validating form data (server side). Writing PHP code in multiple files. Reading: PHP Ch. 9 287 - 307, Ch. 2 51 - 53 |
|
Week 10: March 27 -- March 31 |
Storing data in a database. Handling errors. Reading: PHP Ch. 8 Project assignment 1 due Project assignment 2 posted: handling user requests, posting a message. Due Tuesday, April 11. |
Sessions and mechanisms for implementing them. PHP support for
sessions. Reading: PHP Ch. 10 |
Week 11: April 3 -- April 7 | ||
Session variables. |
PHP authentication. Reading: PHP Ch. 11. |
|
Week 12: April 10 -- April 14 | ||
Project work in the lab. Project assignment 2 due Project assignment 3 posted: commenting; user login. Due Thursday, April 20. |
Review for the midterm II. | |
Week 13: April 17 -- April 21 | ||
Midterm II. |
Object-oriented programming. Introduction to object-oriented PHP features. Reading: PHP Ch. 4 Project assignment 3 due Project assignment 4 posted: code refactoring, testing, additional features. Due Thursday, May 4 |
|
Week 14: April 24 -- April 28 | ||
Project work in the lab. | Case study: WordPress. | |
Week 15: May 1 -- May 5 | ||
Case study: WordPress (cont.) |
Project demonstrations and discussion. Project assignment 4 due |
|
Finished projects due on May 9th. |