CSC175: Data Communications and Networks
Dr. Chuck C. Liang
Office: 201A Adams Hall
Office Phone: (516 463) 5559
Email: cscccl@hofstra.edu
Course Description:
An introduction to the principles and practices of local area and wide area
networking. Topics will be organized around the Internet TCP/IP reference
model, and will include network configuration, protocol, security, and
possibly network programming. These topics will be studied conjointly
with the Linux network operating system.
Prerequisite: CSC 120, Math 19, Junior standing.
Required Text: "Computer Networks: A Systems Approach, 5th Ed.
" by L. Peterson and B. Davie.
Class Web Page: http://www.cs.hofstra.edu/~cscccl/csc175/
Tentative List of Topics:
- Overview of networking concepts
- The OSI and Internet reference models
- Basic Data Transmission principles: bit streams, bandwidth, etc ...
- Error detection and correction
- Wireless Protocols
- Ethernet Protocol
- Packet Switching
- The Internet Protocol Layer
- Packet Format
- Network Classes, subnets and supernets
- Routing
- ICMP
- IPv6
- ARP, DHCP, DNS
- The Transport Layer
- TCP
- UDP
- Firewalls with iptables
- Network Programming with sockets
- Network Security: Encryption and Authentication
- Interoperability and Middleware
- Advanced topics (if time allow)
Exams, Assignments and Grading
Assignment will be given regularly. There will be a midterm exam and
a final. The final exam will be cumulative.
The grade distribution will be roughly as follows: midterm: 25%, final
30%, quizzes, homeworks and programming assignments 45%.
All material handed in must be in hard copy, and be well organized
and legible. Unreadable material will not be graded. Consultation of outside
sources (including books, friends) for completion of assignments must be
pre-approved. Late assignments will not be accepted.
A Note on Collaboration:
Students are expected to write their
own programs. No code sharing is allowed unless specified by the assignment. Code sharing
include, but is not limited to, looking at someone else's code,
copying and pasting text, writing code together, telling a
friend what to type over the phone, and debugging a friend's program.
Students are allowed to converse and share ideas, as long as no actual
exchange of code is involved. For example, "I used an array to
store the bank account objects; the size of the array is determined
by a parameter to the constructor" is borderline acceptable. Anything
more specific would be considered code sharing.
Attendance
Regular attendance is required. Students are responsible for all material,
in all forms, presented during scheduled class times.
Final Note: The contents of the this syllabus may be modified depending
on the progress of the course.