IST480 Network Programming
Course
Syllabus
Fall
2002, TTh 9:30am-10:45am, Morrow G31
|
Instructor |
:
Daniel Dementiev |
|
Office |
:
Prichard Hall 208 |
|
Phone Number |
: (304) 696-7241 |
|
Office Hours |
:
Mon: 8:00 – 9:30, 1:30 – 3:00 Tue: 8:00 – 9:30, 1:30 – 3:00 Thu:
8:00 – 9:30, 1:30 – 3:00 Fri:
8:00 – 9:30 |
|
E-Mail |
·
Textbooks
The following text is required
for the course:
Windows Sockets Network Programming by Bob Quinn and Dave Shute, ISBN: 0-201-63372-8
Supplementary sources:
o Effective TCP/IP Programming by Jon C. Snader , ISBN: 0-201-61589-4
o Networking and Data Communications Laboratory Manual under edition of Frances S. Grodzinsky, ISBN: 0-13-011702-1
·
Requirements
o IST163 Programming Practicum with C++
o IST362 Network Protocols.
·
Objectives
This course is designed to provide students
with an in-depth study of network application development, design principles,
network protocols and algorithms, throughput and performances. Student will
study Windows and UNIX sockets, learn how to create different network
applications from high-level client-server applications to network
administration tools. Student will also obtain hands-on knowledge on C/C++
memory organization, system programming, and network application debugging.
·
Topics Covered
o
C/C++ memory
organization (structures and unions, new types definition)
o
Windows and
UNIX sockets
o
Simple TCP/IP
application
o
Sample FTP
client
o
DNS: Host names
and addresses
o
Raw sockets
o
TCP/IP protocol
headers (IP, ICMP, IGMP, TCP, UDP)
o
Network
administrations tools (ping and trace-route)
o
Socket
operation modes (blocking, non-blocking, asynchronous)
o
Sample network
broadcast application
o
Sample
client/server application
o
Debugging
network applications
·
Course Outline
Topic |
Weeks |
|
1. C/C++ Memory organizations. Bit-wise
memory access. |
1 |
|
2. Sockets concept |
2 |
|
3. Network application mechanics |
3 |
|
4. TCP/IP protocol. Sample TCP application |
4 |
|
5. Sample FTP client |
5 |
|
6. UDP/IP protocol. DNS client. |
6 |
|
7. Client/server network application.
Debugging. |
7-8 |
|
8. Operation modes. Socket states. |
9-10 |
|
9. Raw sockets. TCP/IP protocol headers.
Layer model. |
11 |
|
10. Network tools: ICMP applications. |
12-13 |
|
11. Network multicasting |
14 |
|
12. Client/server application. Parallel
computation. |
15-16 |
·
Projects and grading
policy
This course will have a project for each significant part of theory. There is a tentative list of projects:
Grade for this class will mostly be based on the projects grades.