main
March 14th, 2024    

CIS 53
Main
Files
Syllabus
Links
Homeworks


Notes
0001

PDFs
JSP Install

Class Code
20080908
20080915
20080922
20081006
20081014
20081020
20081027
20081103 midterm
20081110
20081117
20081208

Homeworks

You should EMAIL me homeworks, alex at theparticle dot com. Start email subject with "CIS53"

HW# 1 (due by 2nd class; not accepted after 20080918): Email me your name, prefered email address, IM account (if any), major, and year.

HW# 2 (due by 3nd class; not accepted after 20080929): In Perl/CGI, implement a forum, similar in functionality to this one. You will need 4 cgi programs: 1) to display the forum topics and have form to `add topic'. 2) to actually add the topic (ie: no display; just append topic to file, and go back to [1]). 3) to display the individual topic (with all of the replies), with a form to `add a reply'. 4) to actually add the reply (ie: no display, just append reply to topic file and go back to [3]). You can organize your files as you wish (I suggest 1 file per topic, with topic name as name of file). Later on we will save things in a database---but for now, keep it in files.

HW# 3 (due by 20080929; not accepted after 20081012): Using JSP pages, implement a forum, similar in functionality to this one. This is HW2 done in Java and using a database. You will need 4 java server pages: 1) to display the forum topics and have form to `add topic'. 2) to actually add the topic (ie: no display; just insert topic into db, and go back to [1]). 3) to display the individual topic (with all of the replies), with a form to `add a reply'. 4) to actually add the reply (ie: no display, just insert reply into db and go back to [3]). Your database should have two database tables: one for the topics (ie: "topic"), another for all the replies (ie: "post"). The schema should be similar to: topic(topicid,subject,name,email,postdate), and post(postid,topicid,subject,name,email,message,postdate). When someone adds a topic, you will add a record to "topic" AND "post" tables. When someone replies, you will just add a record to "post" table for that topic. In view pages, you display contents of "topic" tables or "post" table respectively. Use MySQL database, etc.

HW# 4 (due by 20080913; not accepted after 20081031): Do homework 3 using PHP/MySQL. As an option, try to add login/user support---only allow logged in users to post.

HW# 5 (due by soon): Refactor HW4 to use the "MVC" pattern (ie: Model View Controller). Your program should have a main controller that all requests go through. The controller, based on some parameter, includes the appropriate file, etc. Take a look at the class notes for the last few classes for an idea.

HW# 6 (due by 20081110): Take a look at class notes for 20081020, and build your own generator capable of generating a database schema. You should be able to define some "meta" file (either in text or xml), and your program will loop through the table/column definitions, and output appropriate SQL that you can actually run against the database without changes.

HW# 7 (due by 20081124): Build an AJAX version of the forum (ie: hw3, only build pages that do not refresh---but use AJAX calls to the server).

HW# 8 (due by 20081201): Build a chat server and a chat client (command line based) using RMI.



































© 2006, Particle