CSci 1101 Dynamic Web Programming: Syllabus

[Home] [Syllabus] [Resources] [Assignments and Labs] [Fall'06 course blog]


The syllabus will be updated throughout the semester. Dates, topics, assigned reading, and problem set due dates will be added or might change. All changes in assigned reading and due dates will be announced in class (and occasionally by e-mail). While I will do my best to update the web site accordingly, it is a student's responsibility to keep track of the problem set due dates and reading assignments. If you are not sure about due dates, please don't hesitate to ask.

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.

Policies on Collaboration and Use of Resources

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.

Reading assignments

Reading assignments are posted for the day when the topic starts in class. The textbooks should also be used as a reference for problem sets and for project work.


There will be two in-class exams in this course. The exam dates are set. If you have an unavoidable time conflict with the exam time, please let me know right away.

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: August 28 - Sept 1
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: Sept. 4 - 8
Lab: Formatting HTML with CSS.
Reading: HTML Ch. 8
Problem set 1 posted: HTML, CSS. Due Tuesday, Sept. 19
HTML & CSS (continue).
Week 3: Sept. 11 - 15
Introduction to PHP, server-side processing, interleaving HTML and PHP.
Reading: PHP Ch. 2 pp. 16 - 28.
PHP variables. Numbers and strings.
Week 4: Sept. 18 - 22
Lab on PHP.
Problem set 1 due
Problem set 2 posted: basics of PHP. Due Tuesday, Oct. 3
PHP conditionals. Booleans.
Reading: PHP Ch. 2 pp. 28-33.
Week 5: Sept. 25 - 29
Loops and arrays.
Reading: PHP Ch. 2 pp. 33 - 36, Ch. 3 pp. 57 - 76.
Lab on conditionals, loops and arrays.
Week 6: October 2 - 6
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 Thursday, Oct. 19.
More operations with PHP strings; dates and times.
Reading: PHP Ch. 3 76 - 87, 97 - 103.
Review for the midterm.
Week 7: October 9 - 13
Midterm I
Databases and SQL.
Reading: PHP Ch. 5
Week 8: October 16 - 20
Fall Break - no class 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 Thursday, Nov. 2.
Week 9: October 23 - 27
Project work in the lab. HTML forms. Server-side form processing.
Reading: HTML Ch. 9, PHP Ch. 6 188- 208
Week 10: October 30 - November 3
Validating form data (server side).
Writing PHP code in multiple files.
Reading: PHP Ch. 9 287 - 307, Ch. 2 51 - 53
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 Thursday, Nov. 16 April 11.
Week 11: November 6 - 10
Sessions and mechanisms for implementing them. PHP support for sessions.
Reading: PHP Ch. 10
Session variables.
Week 12: November 13 - 17
PHP authentication.
Reading: PHP Ch. 11.
Project work in the lab.
Project assignment 2 due
Project assignment 3 posted: commenting; user login. Due Tuesday, Nov. 28.
Week 13: November 20 - 24
Object-oriented programming.
Introduction to object-oriented PHP features.
Reading: PHP Ch. 4
Thanksgiving Holidays - no class
Week 14: November 27 - December 1
Review for the midterm II.
Project assignment 3 due
Project assignment 4 posted: code refactoring, testing, additional features. Due Thursday, Dec. 7
Midterm II.
Week 15: December 4 - 8
Project work in the lab. Case study: WordPress.
Project assignment 4 due
Project assignment 5 posted: testing another group's blog; finalizing your own. Due Tuesday, Dec. 12 and Thursday, Dec. 14
Week 16: December 11 - 14
Case study: WordPress (cont.)
Project assignment 5 (Part 1) due
Project demonstrations and discussion.
Project assignment 5 (Part 2) due.
Finished projects due on Tuesday, Dec. 19.

The views and opinions expressed in this page are strictly those of the page author. The contents of this page have not been reviewed or approved by the University of Minnesota.