|
|
|
|
Syllabus, Spring 2009
CSci 4131: Internet Programming
|
| Instructor: Dr. Carl Sturtivant, carl@cs.umn.edu |
|
|
Textbooks:
"JavaScript the Definitive Guide" (5th Ed.), Flanagan, O'Reilly
2006
|
|
Purpose:
This course is about understanding the internals of internet programming,
not just learning to use abstraction layers or frameworks of various kinds created by others to hide sockets, internet
application layer protocols, or web browser programmability. As such, we will make direct use of sockets, and we will program directly with application layer protocols and directly program the web browser in this class. If you successfully master these, you
will be in a position to rapidly understand what such frameworks and other abstraction layers do for the internet
programmer, without merely seeing them as opaque.
|
|
Very Approximate Schedule, updated as the course proceeds
|
Week
|
Topics |
|
1 & 2
|
JavaScript: the language |
|
3
|
Client side JavaScript in HTML documents: the DOM |
|
4
|
Introduction to server-side scripting |
|
5 & 6
|
CGI programming including AJAX |
|
7
|
CGI programming using continuations |
|
8
|
CGI programming with databases |
|
9 & 10
|
Socket programming, clients, servers. |
|
11 & 12
|
SSL, TLS and miscellaneous security |
|
13 & 14
|
Miscellaneous topics in internet programming |
|
15
|
Review |
|
|
Vital Prerequisites
- Mature experience with C++ or Java, or with another object-oriented
language.
- Some very basic knowledge of HTML, or willingness to acquire such.
Evaluation will
consist of small programming assignments (10), and a final examination.
Due dates for assignments are strict: all assignments must be received electronically (through electronic submission, not via email) before midnight on the day they are due in order to receive credit. Keep a copy of your
submissions, and keep the electronic receipt of your submission! You will have 10 days from the point of your grade
having been allocated to complain about any problem with your assignment's grade as it is recorded online in GRIT:
after that the existing recorded grade will not be adjusted.
The overall grade will be based upon the following:
70% for programming assignments, and 30% for the final exam. 60% is required for C- or S. Overall percentages are
computed without
rounding to the nearest integer.
Grading is absolute (i.e. not on a curve), and is performed by the TAs. If you have a question about grading, address
it to the TAs. Only if something wholely unreasonable has occurred will the instructor intervene. And this has
not yet proved necessary. Furthermore, there is
a limit of ten (10) days from the grade of an assignment being posted on GRIT for grading problems to be rectified.
After that period, such will not be considered.
Grading is as follows: 95.0% or above yields an A, 90.0% an A-, 85% : B+, 80% : B, 75% : B-, 70% : C+, 65% : C,
60% : C-, 55% : D+, 50% : D, and less than 50% yields an F.
Incompletes
(or make up exams) will in general not be given. These options will be considered only when a provably serious
family or personal emergency arises, proof is presented, and the student has already completed all but a small
portion of the work.
Scholastic conduct must be acceptable. Specifically, you
must do your homeworks, programming assignments and examinations yourself, on your own. Any code that is not your own must be treated as a quotation would be in an essay: i.e.
fully acknowledged.
|
| |
|
|