CSci 4657 Programming Languages for Client-Server Systems: Syllabus

[Home] [Syllabus] [Assignments] [Resources]

The course timeline

While I try to follow the timeline as closely as possible, keep in mind that topics, dates, and deadlines are subject to change. Changes to deadlines will be announced in class. It is your responsibility to keep up with the changes. If in doubt, please do not hesitate to ask.

The dates for the midterms are set. If you have any conflicts with those dates, please let me know as soon as possible.

Monday Wednesday Friday
Week 1: January 17 - 21
Martin Luther King Day, no classes Overview of the course.
Client/server model, Internet protocols: TCP/IP and related protocols; HTTP (GET, POST methods), SSL.
Markup languages
XHTML and CSS
Week 2: January 24 - 28
More on XHTML and CSS
Problem set 1 posted: XHTML, CSS, Javascript, DOM, Selenium, XPath. Due Monday, February 7.
Client-side processing: JavaScript.
JavaScript DOM model, XPath; events and their handling.
Intro to Selenium.
Week 3: January 31 - February 4
JavaScript DOM model; events.
AJAX technology.
AJAX technology (cont).
Week 4: February 7 - 11
Server-side processing: PHP.
Problem set 1 due
Problem set 2 posted: AJAX, PHP, form processing, sessions. Due Wedn., March 2.
PHP arrays, functions.
PHP object-oriented programming.
Week 5: February February 14 - 18
HTML forms, HTTP requests revisited.
Form formatting. PHP form processing. Hidden form elements and security.
Form validation, form resubmission.
Cookies, cookie handling in PHP.
PHP sessions, session variables.
Week 6: February 21 - 25
PHP work in lab. Relational databases, SQL, MySQL.
PHP database functions.
Week 7: February 28 - March 4
Work in the lab. Overview of MVC and ORM principles.
Intro to cakePHP
Problem set 2 due
Review for midterm I.
Week 8: March 7 - 11
Midterm I.
More on cakePHP.
Problem set 3 posted: cakePHP. Due Monday, March 28.
Work in the lab.
March 15 - 19 Spring break, no classes
Week 9: March 21 - 25
Work in the lab.
Work in the lab.
Work in the lab.
Week 10: March 28 - April 1
Introduction to Ruby.
Problem set 3 due
Problem set 4 posted: Ruby, Ruby on Rails. Due Friday., April 15.
More on Ruby.
Ruby CGI library.
Week 11: April 4 - 8
Intro to Ruby on Rails
Ruby on Rails (work in the lab)
Ruby on Rails (work in the lab)
Week 12: April 11 - 15
Ruby on Rails (work in the lab)
Ruby on Rails (work in the lab)
XML and its applications.
Problem set 4 due
Problem set 5 posted: XML, XSLT. Due Wedn., May 4.
Week 13: April 18 - 22
XML schema
XSLT
XML processing in Java.
XML and XSLT.
Week 14: April 25 - 29
Review for Midterm II. Midterm II. Security issues, SSL, digital signatures.
Week 15: May 2 - 6
Overview of other Web technologies. Overview of other Web technologies.
Problem set 5 due
Wrap up and discussion.
All final work due on Wednesday May 11 by 11:59pm.