CSE-3103/CSE-5232 Syllabus
Network Programming
Florida Tech,
Spring 2000 - Jan. 10 to Apr. 28
http://www.cs.fit.edu/~mmahoney/cse3103/
Tues. and Thurs., 8:00-9:15 PM, room EC137.
Final exam: Tues. May 2, 8:30-10:30 PM.
Course description
CSE 3103 - Computer Communication Networks
CSE 5232 - Network Programming
- Web server development - Web servers, browsers, HTTP protocol,
CGI, cookies, introduction to HTML, Perl, JavaScript, Java applets.
- Network services - telnet, FTP, email protocols (SMTP, POP),
DNS, NFS, NIS, diagnotic tools (arp, ping, netstat, nslookup, etc.)
- Network programming: C++ (UNIX sockets and Windows/Winsock),
Java (network model, threads, exceptions), servers and clients.
- Networks: OSI model, TCP/UDP, IP, Ethernet, telephone
system.
- Communication theory, encryption, data compression.
Prerequisites: C++ and Java programming, familiar with UNIX/Linux.
Instructor
Matt Mahoney,
mmahoney@cs.fit.edu
or if that doesn't work, then
matmahoney@yahoo.com
Office hours are immediately after class, or try sending an instant
message to matmahoney using
Yahoo! Messenger.
How is my teaching? Review this class anonymously at
TeacherReviews.com.
Reading
If you do not know C++ or Java, I recommend
- Essential C++ by Stan Lippmann
- Java from the Beginning by Jan Skansholm
Homework
- Set up a web page, due Feb. 3.
- Homework, part 1, due Mar. 14.
- Homework, part 2, due Mar 23, 28, Apr, 6, 20.
- Term Project, see below.
Grading
Grading will be based 50% on homework and 50% on tests.
Homework: Homework handed in late is penalized 20% per day,
including non class days, weekends, and holidays. Homework should
be posted to your web page. Not all homework will be
graded or collected, but you are still responsible for knowing the
material.
Programming assignments may be written in your choice of language
(C, C++, Java, Perl, etc). Grading will emphasize good style,
readability, and documentation, especially the analysis or user's
guide, which describes what the program does from a novice user's point
of view.
Tests: All exams including the final exam will count equally
toward your grade after dropping the lowest grade.
There will be no make-up exams for any reason. All tests are open
book and open notes. Test dates (tentative):
- Exam 1, Tues. Feb. 15
- Exam 2, Thurs. Mar. 16
- Exam 3, Tues. Apr. 18
- Final, Tues. May 2, 8:30-10:30 PM
Term Project
All students will be expected to write a program that acts as either
a server or a client, and communicates using an established protocol
(HTTP, SMTP, DNS, telnet, FTP, etc.). Examples include, but are not
limited to:
- A text-based web client (like lynx).
- A web server.
- A telnet client.
- A USENET news reader.
- A program to send and receive email.
- A DNS resovler (like dig or nslookup).
- A network diagnostic tool (like ping).
Post to your web page:
- A topic and brief description of your program by Feb. 3.
(You may change it later if needed).
- A user's guide (analysis) and preliminary design in HTML by Feb. 24.
(Keep this updated as needed).
- A progress report and preliminary version of your program that
users can download and run by Mar. 23.
- A final version by Apr. 20.
Graduate students (CSE 5232) only: write a paper (about 5000 words)
in HTML and post to your web page.
Identify some problem related to networks or the Internet, and
investigate what methods are currently used to solve the problem.
Your program should be related to your chosen topic.
Perhaps you can propose a better solution. Present your paper to
the class in a 15-30 minute presentation during the last two weeks
of classes (Apr. 18-27).
For example:
- Network security, encryption. Topics include public key encryption,
secure email, digital cash, or virus detection.
- Searching the Web, search engines. Topics include spiders, ranking
web pages, meta-engines, or distributed models.
- Performance, high speed internet connections. Topics include
cable modems, DSL, or wireless Internet.
You may wish to post prelimary drafts of your paper as soon as
possible so I can review them and make recommendatations before
the paper is due. Email me when you have updated your draft.