CSCI 6345
ADVANCED COMPUTER NETWORKS
Syllabus
for Spring 2010
Professor: Dr. John P. Abraham. Office: Engineering Building Room 3.276
Web: cs.panam.edu/~abraham Please check this
site frequently for updates.
Email: jabraham@utpa.edu. Tele: 381-3550
|
My
TA: Anselmo Jr Garza [agarzal@broncs.utpa.edu]
RequiredText book: Comer,
Douglas E., Computer Networks and Internets, 5th Edition, Prentice
Hall, 2008. ISBN-13:
978-0-13-606127-4 (student edition) or 0-13-606698-4
Reference:
·
Behrouz A. Forouzan, TCP/IP Protocol Suite, 4th
Ed., McGraw Hill, 2010. ISBN 978-0-07-337604-2
·
Tanenbaum, A. S., 2002,
Computer Networks, 4th Ed.,
Prentice Hall,
·
Data
and Computer Communications 7th edition, by William Stallings, Prentice Hall, 12004
·
UNIX
Network Programming
by W. Richard Stevens, Prentice Hall, 1990
Expected Background:
Students are
expected to be able to program in C or ++, VB or Java. Students who are not
fluent in these topics should make up the deficiencies by homework and
programming exercises.
Catalog description:
In-dept study
of theory, design, implementation and performance of computer and
communications networks. Current
network types, including point-to-point, satellite, packet switch, local area
and wide area networks, are studies, as well as evolving technologies such as
ATM. Provides an introduction to queuing
analysis and includes network programming projects. Prerequisite: CSCI 6300, CSCI 4345 or
equivalent, or consent of instructor.
Course
Topics:
Fundamentals of computer networks; theory,
design, implementation and performance analysis of computer networks; network
protocols; examples of computer network applications.
Grading:
Midterm and final exams 40%
Project (pair of students) 20%
(5% for presentation, 5% written report, 10% for
quality of project)
Weekly Assignments 20%
Programming assignments (2) 10%
Group Assignments 10%
COURSE
OBJECTIVES:
Upon conclusion of this course a student will be able to plan and install a
TCP/IP protocol stack based local area network, set up switches and routers,
and write socket programs for communication.
Learning outcomes:
1.
Compare and contrast the OSI and TCP/IP models.
2.
Given a network problem, create appropriate
topology and draw wiring diagrams.
3.
Make cat 5 cables and connect them with switches
and make crossover cables where appropriate.
4.
Configure servers, switches and routers.
5.
Create subnets and supernets.
6.
Create routing tables.
7.
Setup static IP address as well as DHCP based
addresses.
8.
Setup a DNS.
9.
Setup a mail server
10.
Setup a wireless network
11.
Install appropriate network security
12.
Write socket programs in C or Java.
Assignments:
General
instructions about programming: You may
choose any of the following languages: C, C++, Java, Visual
Basic. If you would like to use another
language please talk with me first. I
will not give you any assistance with the programming assignments. You are welcome to talk with others in the
class to get general ideas and algorithms, but may not view their source
codes. Assignments are due at the
beginning of the class. Late penalties:
1 day=10%, 2 days=20%, 1 week=30%, 2 weeks=50%, after two weeks I do not accept
assignments.
General instructions about the project: Start working on the research right
away. Submit a topic for approval by the
2nd week. All research should be
completed by the middle of February. Examples
of group projects done in the past will be discussed in class.
General instructions about the independent research:
You may do practical or theoretical research.
For practical research, choose a topic that is appropriate such as
Web-services, IBM websphere, Microsoft sharepoint services, wireless encryption, SSL certificates,
Cyber forensics, Cyber Security, etc.
and implement it and write a five to ten page paper about your
implementation. Theoretical research may
involve reading periodicals regarding latest developments in computer
network. Write a paper about your
findings. You must have at least five
references for the theoretical research paper and an appropriate length would
be 10 pages. NOT ASSIGNED THIS SEMESTER!
General instructions about the group assignments:
Group assignments are given to encourage cooperation among students. Consider yourself as a team leader in a
computer network department. Suppose you
are asked to prepare specifications and budgets for new implementations.
Your
first group assignment is this: Suppose your
company is planning to install a LAN.
You are asked to prepare specifications and prepare a budget to
connect two servers, 100 workstations, and 10 printers. Assume that you already have the computers, printers,
servers and existing cat 5 wiring.
Provide alternative specifications, and different budgets based on the
alternatives to present to a board meeting.
You will need to research what is required to do the network, how to set
up access to the web, etc. You may want
to visit Dell, HP, IBM, etc. to find out what is available. Additional assignments will be given every 3
or 4 weeks. You may want to do create a
site plan indicating how many buildings you have and where you plan to install
your routers, switches, etc., second week spec out the routers, switches,
backup devices, etc., third week spec out the operating system and other needed
software.
Your
second group assignment: Prepare
specifications and budget for file servers, web servers, email servers and data
servers, and one hundred work stations and 10 printers according to your
proposal in assignment 1. You may want
to combine some of these server roles together or keep them separate depending
on your focus.
Third
group assignment: prepare specifications and budget
for remote logins, protecting your systems against malware (you need to provide
budget for appliances and/or software solutions).
Group Project: You need to work in a group of
three. Come up with a group project and
make a proposal to me by the middle of February. Some examples of student projects from the
past: Windows 2008 clustering, Group policy administration and scripting, Voice
or IP servers, Linux servers with various windows add-ons, Load
balancing, VPN servers, exchange server,
etc.
Programming
assignments:
1. Write a Java program to discover the IP address
of your machine.
2. Write a program to send a file across Transport
Service Access Points (TSAPs) also known as TCP ports
or Sockets. Your program can select any non-privileged port
(that is, the port number should be greater than 1024).
3. You have a
choice for this assignment: Write a server program to make use of threads. Write appropriate client program to test it. OR Write a Java
program to open a file on a remote computer and look up records.
Drop Policy: A student who
requests a drop on or before THE
OFFICIAL DAY TO DROP will receive a DR.
After that DP or DF will be given based on the academic standing at the
time. It is the responsibility of the
student to take care of necessary paper work to receive DP, D, or W. All DP/DFs should
be handled prior to the official cut off date for dropping.
Attendance is
required. A student with three or more
unexcused absences (10% of the classes) will be given a DF.
Classroom
Conduct:
All
students are expected to demonstrate professional behavior and use language
appropriate for the classroom learning experience. All cell phones must be turned off during
class. Cell phones must be entirely
out of sight (inside a closed backpack or purse, for example) during exams and
other in-class assignments.
Documented
Disability: If you have
a documented disability which will make it difficult for you to carry out the work
as I have outlined and/or if you need special accommodations/ assistance due to
the disability, please contact the Office of Services for Persons with
Disabilities (OSPD), Emilia Schunior-Ramirez Hall,
Rm. 1.101, 316-7005 immediately.
Appropriate arrangements/ accommodations can be made.
Tentative Schedule.
WEEK |
TOPIC |
CHAPTERS |
Assignments
due |
1-25 |
Introduction
& Overview. Network Programming |
1,3 |
Class
assignment is due each period begin next Monday. |
2-1 |
Traditional
Internet Applications Data
Communication Basics |
4,5 |
|
2-8 |
Information
Sources & signals Transmission
Media |
6,7 Lecture
notes |
Group Ass 1
& presentation |
2-15 |
Reliability
and Channel Coding Transmission
Modes, Modulation |
8,9,10 |
Program Ass1 |
2-22 |
Multiplexing
and Demux Access and
Interconnection |
11,12 |
Group ass2 |
3-1 |
LAN,
Layer1, Layer2 |
13,14
Lecture notes |
Project
Proposal Presentation |
3-8 |
Wired &
Wireless Networking – Exam1 |
15 |
Program
Ass2 |
3-15 |
Spring break |
|
|
3-22 |
Wired and
Wireless Networking |
15 & 16 |
Project |
3-29 |
LAN
extensions, WAN |
17,18,19 |
|
4-5 |
Internetworking,
layer3 |
20,21 Lecture
notes |
Project Program Ass3 |
4-12 |
Forwarding,
Support protocols |
22,23,
notes |
Project |
4-19 |
IPV 6, UDP,
TCP |
24,25,26 |
Project |
4-26 |
Routing
Protocols, Performance, VOIP, Security |
27,28,29 |
Project |
|
I will give
you rest of the schedule later |
|
|