CS 330: Internet Architecture and Programming

Wells College, Fall 2001

Taught by:

Professor Kenneth Larson
Macmillan 109, 364-3305
Cleveland 210, 364-3305
Professor Carol Shilepsky
Macmillan 104, 364-3214

[ General Information | Class Examples and Assignments | Project Guidelines | Resources | Participant Pages ]

General Information

CS 330 explores the architectures and programming languages that support communicating and computing over a network. It assumes familiarity with the Internet and an understanding of the basic principles of program design. Prerequisite: CS 132 or permission.

There will be a midterm on October 15, a project due on December 10 and a final exam on December 19, 7-10 pm. Homework and class participation, the midterm, the project, and the final each contribute 25% towards your grade.

Class Examples and Assignments


Class: Introduction to and tour of Wells network (hardware/software).
Assignment: Loshin Chapter 1 and Chapter 19, p. 347-65.

Class: UNIX, Telnet, FTP. Exercise.
Assignment: Niederst recommended: p. 3-4; required: p. 47-63. If time, start p. 67-91. 
Come to class prepared to explain a UNIX command of your choice. 
9/10 Class: Network models, client/server architecture, network layers.
Assignment: Loshin: Chapters 2 and 3.
Class: HTML Tags and Attributes. First page,  Tags,  Attributes
Assignment: Niederst Chapters 5 and 6. Skim Chapters 7 and 8 so that the material can serve as a reference when you need to know more. Be able to interpret Appendices A and B. 
Add examples of each of the features discussed in class to your index.htm. 
9/17 Class: Network addresses & names; internetwork architecture
Assignment: Loshin: Chapters 4 and 5.
Class: HTML forms: adding two numbers,  signing a guestbook,  a simple alert,  CS 131 program submission.
Assignment: Read Chapter 12. Add a guestbook form to your page that uses at least 6 of the input elements on p. 236-241 and emails the results to yourself. Peek Todano and Strang have a good discussion of UNIX pipes and filters on p. 70-74.
9/24 Class: Some networking issues; overview of TCP/IP applications.
Assignment: Loshin: Chapter 6.
Class: JavaScript Functions. factorial, counting characters.
Assignment:Flannagan: read Ch 1. We will cover the long example later. Review Ch 2-7. This is mostly reference since you know C++. Recommended: pp 27-44, 52-56, 63-77, 87-105. Enhance add.htm to include multiplication in a second function. (ans) Build a page that writes the first 10 integers, their squares and cubes, using functions for square and cube. (ans: 1, 2. ) Build a page that tests countCharacters using a form with boxes for inputting a string and a character, and a button that causes the number of occurrences of the character in the string to be placed in a third box. (ans: 1, 2. )
10/1 Class: The data link layer.
Assignment: Loshin: Chapters 7 and 13.
Class: JavaScript data and control structures JavaScript objects,  JavaScript loaded from a fileChanging the status lineAdding a clock to the status bar..
Assignment: Flannagan: read Ch. 12, omitting 12.2.5-7, 12.3.5-6, Ch. 13.1-13.4. Modify one of your pages so that a function is loaded from a file. Add seconds to the status bar clock in timeouta.htm. Solution.. Construct a page that uses alert, prompt, and confirm in appropriate (or interesting) ways
10/15 Midterm Examination. Programming answers: 2,  3,  4. 
Assignment: Loshin: Chapters 7 and 13.
Class: JavaScript objects and events  events,  hidden fields,  form validation.
Assignment: Read Flanagan 15.1, 15.2, 16.5. Add a city, state, telephone, and zip to the guestbook example with appropriate validations for all fields. *Add hidden fields whose values contain the current month and day   (guestans.htm). 

Class: The internetworking layer: the Internet Protocol; IP multicast.
Assignment: Loshin: Chapter 8.
Class: Regular expressions and introduction to CGI. First CGI program. 
Assignment: Make sure you understand why the Date methods behave as they do. Finish reqular expressions in class notes, p.4. Reference for regular expressions: Flanagan, 10.1, 10.2, 10.4; see below for for CGI and perl. Enhance the validations in guestans.htm, using regular expressions wherever you can  (solution). Write and run a small CGI program.
Class: The internetworking layer: Routing.
Assignment: Loshin: Chapters 9 and 10.
Class: Regular expressions. More CGI, scripts and perl. Examples: name.pl, name1.pl Scripts with and without aliasing: hello.htm  hello2.htm.  Environment variables: env.cgi  env2.cgi  Input from a form: form1.htm 
Assignment: 1) Write and run an interesting small perl prgram to run via telnet. 2) Convert one of your forms to cgi and have the cgi script print the resulting QUERY_STRING. 3) regular expressions practice  (solution).  Email me your answers to 1) and 3) when done.
Class: The transport layer: UDP & TCP.
Assignment: Loshin: Chapters 11 and 14.
Designing the Internet Protocol: Next Generation (IPng)
Class: form1.htm,  form2.htm,  form3.htm,  restrict.cgi.
Assignment: Construct responses to the questionaires in guesthid.htm.   (solution). Construct a form that acts like a madlib (asking for different parts of speech which are then plugged into an silly paragraph). I have an example on my door, or try madlib.htm. 
11/12 Class: DNS, IPv6.
Assignment: Loshin: Chapters 15 and 16.
Class: form4.htm. pizza.htm.
Assignment: Develop a small survey similar to pizza.htm. *Add the following enhancements to pizza or your program: 1) check for invalid response (e.g. topping=Ham) and 2) allow user to add a new option. Write a program similar to file3.pl that reads a file such as guest.dat or pizza.dat in telnet and displays it on the terminal. *Do not just print the file, use the data for some purpose.
11/19 Class: Telnet & FTP.
Assignment: Loshin: Chapter 17.
No programming lecture this class.

11/26 Class: Email, News, & other messaging.
Assignment: Loshin: Chapters 21 and 24, and 26.
Class: form2p.htm, sales.htm. Cold Fusion example selectanimal.cfm. displayresults.cfm.
Assignment: Enhance the sales example with one of the suggestions or one of your own choosing. Send me an email describing what you have done.
12/3 Class: Security.
Using Secure Email with Digital Certificates in Netscape
Class: cookies.htm,  mail.cgi.
12/10 Class: Projects  Class: Projects 

Project Guidelines

You are to use the project to explore some area related to the course, preferably one related to your interests. You will need to find the  resources necessary to understand the technical content, the relevance of your area and how it relates to the material in the rest of the course. Possible areas include HTTP, another programming/scripting language (Java, VBScript), servers (NCSA, NT), Active Server Pages, security, e-commerce, incorporating a database on the server side, or helping someone with a real application.



Tsering Choden slides, Sarah Chung slides, Asli Dolucan slides, Cathy Gawlicky, Nick Heap slides, Michelle Husain slides, Rebecca Manning slides, Mavis Mather slides, Ann Parry Joanna Picciano slides, Li Mei slides, Zahra Taha slides. Katie Tuttle slides. Lulu Zhao slides.


[ Required Texts | UNIX | HTML | JavaScript |Perl |Other ]

Required Texts



Books and Articles



Books and articles



Perl and CGI


Books and articles



Books and articles

Participant Pages

This page belongs to Carol C. Shilepsky and Kenneth E. Larson who are solely responsible for its contents. Information on webpages maintained by individuals reflects their own ideas; it does not implicitly or explicitly represent official positions and policies of Wells College. Wells College claims no editorial control over material maintained by individual faculty, staff, and students. The owners of this page assume responsibility and liability for the contents of his/her documents.

Last updated: Monday, December 3, 2001 20:34:00
Updated by: KEL