TLEN 5490: Network Programming
Description
Exposes students to UNIX/Linux systems and network programming with an emphasis on practical programming problems and experience. Covers the unique challenges of programming distributed systems including resolving synchronization, threads, pipes, sockets, and other constructs for building TCP/IP network servers and clients.
Outline
Socket API
TCP Sockets (Internet and Unix domain)
UDP (Internet and Unix domain)
Client/Server applications design and implementation
Signals
Concurrent server implementation
Synchronous I/O
Message Level multiplexing
Sockets in a GUI environment
Pipes
Socketpairs
Shared memory and semaphores
Performance analysis
Real-time processing
Threads
Benefits
- Acquire thorough knowledge of the UNIX network programming API.
- Understand both C and Java.
- Understand sockets, shared memory, semaphores and pipes.
- Understand concurrent processing approaches.
Objectives
Provide an in-depth focus on Interprocess Communications (IPC) and the software tools and techniques used to develop distributed
applications.
Prerequisites
While there is no formal course prerequisite, students must have recent programming experience (C strongly recommended) in a UNIX development environment, including hands-on editing, compiling, and debugging.
Education Officer (EO)
Required
If an education officer (EO) is indicated as “required” above,
you will need an EO to proctor exams for the course. An EO
cannot be a student's relative, friend, coworker, or someone
who works for the student. The EO address must be a business
address. Provide, change, or update your EO information by
completing the
EO Information Update form. To ensure we have
the most updated EO information, you must provide the EO
information every semester – even if it is the same EO.
For those able to come to campus, CAETE provides free
proctoring services. Contact us at 303-492-6331 or
caete@colorado.edu
to schedule an exam appointment.
If you have any questions regarding who qualifies to be
an EO, see EO information or contact CAETE.
Hardware & Software
Web and e-mail access required. In addition, all CATECS students must compile and execute the programs in a UNIX operating environment. Programs compiled and executed in either a Microsoft Windows or Macintosh environment will not be accepted.
Syllabus
Upcoming & Previous Offerings
Meeting Days Legend: Monday (M), Tuesday (T), Wednesday (W), Thursday (R), Friday (F), Saturday (S), Sunday (U)
Summer Terms: M = Maymester, A = 1st 5 weeks, B= 2nd 5 weeks, C = 8 weeks, D= 10 weeks
Refer to the Academic Calendar for specific dates.
top
| Spring 2005 |
|
12:00 PM - 12:50 PM |
MWF |
ECCS 1B14 |
Sauer, J |
| |
| Spring 2004 |
|
01:00 PM - 01:50 PM |
MWF |
ECCS 1B28 |
Sauer, J |
| |