14:332:494 Network-Centric Programming
Spring 2007 – Marco Gruteser
Description: This is an undergraduate course in system and network programming intended to create a foundation for professional practice or for research in computer systems. Students can co-register this class with the operating systems class or take it during their senior year. The class is implementation- and project-oriented and uses the Linux operating system as a basis. There is a special emphasis on constructing networked applications, and understanding the Linux kernel's network stack.
Times:
Class will meet T6Th6 (5:00 - 6:20pm) ,
in SEC 202
How to reach me?
Instructor: Marco Gruteser
Office: CoRE
505
(Current) Office hours: Thu 4
Email: gruteser (at) winlab (dot) rutgers (dot) edu
Prerequisites: Programming
Methodology I & II and good C/C++ programming skills.
Tentative Topics:
Linux development environment, coding style Data and event-driven program models Linux system calls Memory Allocation and Garbage Collection Socket Network Programming Network Server Design Multi-threaded programs and synchronization Profiling and Performance Analysis Secure Programming Linux Kernel Modules and Device Drivers Scripting Languages
Text: Unix Network Programming, Vol. 1: The Sockets Networking API
Supplementary Texts: Advanced Programming in the UNIX(R)
Environment
http://www.advancedlinuxprogramming.com/
Grading:
Based on implementation homeworks, exams, and
participation. Details TBD.