- Credits:
3.0
- Class
hours: Tuesday & Thursday, 9:30 - 10:45am, SEM 347
- Call
numbers:
- CS
400: #34289 (max. enrollment 30)
- CS
600: #28038 (max. enrollment 10)
- Instructor:
Dr. Murat Yuksel
- E-mail: yuksem@cse.unr.edu
- Phone:
(775) 327-2246
- Web page: http://www.cse.unr.edu/~yuksem
- Office:
SEM 237 (Scrugham Engineering-Mines)
- Office
hours:
- Tuesday,
1-3pm
- Wednesday,
11am-2pm
- Thursday,
1-3pm
- or
by appointment
Digital modulation, transmission and synchronization, coding, error
detection, interfacing, computer networks, ISO model, circuit/packet
switching, local area networks.
- Introduction
to Computer Engineering (CPE 201).
- C/C++
or Java programming experience in UNIX-like environment
Required Textbooks
Recommended Textbooks
This is a tentative list of topics, subject to modification and
reorganization.
- Introduction to Computer Networks
- Internet
- Delay, Loss, and Throughput
- Protocol Layers and Service Models
- Application Layer
- Web: HTTP
- File Transfer: FTP
- Electronic Mail
- Domain Name Service
- Peer-to-Peer Applications
- Socket Programming
- Transport Layer
- Multiplexing and Demultiplexing
- Connectionless Transport: UDP
- Reliable Data Transfer
- Connection-Oriented Transport: TCP
- Congestion Control
- Network Layer
- Virtual Circuit and Datagram Networks
- Routers
- Internet Protocol
- Routing Algorithms
- Link Layer
- Error-Detection and -Correction Techniques
- Multiple Access Protocols
- Ethernet
- Link-Layer Switches
- Physical Layer
- Data and Signals
- Digital and Analog Data
- Encoding
- Bandwidth Utilization
- Transmission
- WebCT
Except this web page, all course materials will be posted at the WebCT.
- Lab
Assignments There will be four network lab assignments
where you will have hands-on experience with protocols. The lowest
graded one will not affect your overall grade. These assignments will
require you to use Wireshark
packet sniffing tool to analyze communication between two nodes.
- Programming
Projects There will be three programming projects
involving quite a bit of programming. It will require turning in code
that compiles and runs properly and a report documenting the code. Note
that knowledge of C/C++ or Java is required for these programming
projects.
- Quizzes
There will be a few in-class quizzes. Exact date for some of these
quizzes will not be exposed beforehand. These quizzes will be open
book/notes and extremely time-constrained, i.e., 15-30mins. Questions in
these quizzes will be designed to give you an opportunity to test and
affirm your knowledge of the course content.
- Activities
There will be three in-class activities. There will be a quiz associated
with each of these activities. The activities will require participation
from every student.
- Homework
There will be homework assignments approximately one in every month. The
lowest graded one will not affect your overall grade.
- Late
policy Late assignments will be penalized according to
the sliding scale below. If I am not available,
ask department secretary to stamp late assignments and then place them
in my mailbox. You are responsible to make sure the stamp has both the
date and the time.
- Exams There will be one
midterm exam and one final exam (see Schedule
for tentative dates). All exams will be open book/notes.
- Academic
Integrity There will be no team projects or reports in
this class, therefore all assignments and exams must be prepared
strictly individually.
Any form of cheating such as plagiarism or ghostwriting will incur a
severe penalty, usually failure in the course. Please refer to the UNR policy on Academic
Standards.
- Disability
Statement If you have a disability for which you will
need to request accommodations, please contact the instructor or someone
at the Disability Resource Center (Thompson Student Services - 107) as
soon as possible.
Both grading policy and scale are subject to change. Failure in either the programming (i.e.,
lab assignments + programming projects) or the tests (i.e.,
quizzes +
homework + midterm exam + final exam) will result in failure in
the course.
• Grading Policy
Lab
Assignments
|
15%
|
Programming
Projects
|
20%
|
Quizzes
|
10%
|
Homework
|
10%
|
Midterm
Exam
|
20%
|
Final
Exam
|
25%
|
|
• Late
Assignment Policy
less
than 1 day late
|
25%
deducted
|
between
1 and 2 days late
|
50%
deducted
|
over
2 days late
|
100%
deducted
|
|
• Grading
Scale (Tentative)
90%
- 100%
|
A-,
A
|
80%
- 89%
|
B-,
B, B+
|
65%
- 79%
|
C-,
C, C+
|
55%
- 64%
|
D
|
0%
- 54%
|
F
|
|
Note: Saturdays and Sundays do not count toward missed days. For
example, there is 1 "day" between Friday, 2pm and Monday, 2pm.
Similarly, there is 1 day between Monday, 2pm and Tuesday, 2pm.
Important
Note: Re-grading requests can only be made within the first week
after the graded assignments/tests are returned to the students.
This is a tentative schedule including the exam dates. It is subject to
readjustment depending on the time we actually spend in class covering the
topics. Slides presented in class and assignments will be posted at the WebCT. See the acknowledgment
for the course materials. Permanent
reading assignment: it is assumed that you are
familiar with the contents of the slides of all past meetings.
Date
|
Lectures
|
Assignments
& Notes
|
Tue,
Aug 24
|
Lecture
#1:
Introduction
|
•
Read Kurose & Ross, Ch. 1.1, 1.2
|
Thu,
Aug 26
|
Lecture
#2: Network
Architecture & History
|
•
Read Kurose & Ross, Ch. 1.3, 1.6, 1.7
|
Tue,
Aug 31
|
Lecture
#3: Basic
Networking Concepts
|
•
Read Kurose & Ross, Ch. 1.4, 1.5
|
Thu,
Sep 2
|
Lecture
#4:
Application Layer (1) – Introduction, HTTP
|
•
Read Kurose & Ross, Ch. 2.1, 2.2
|
Tue,
Sep 7
|
Lecture
#5:
Application Layer (2) – FTP, E-mail
|
•
Read Kurose & Ross, Ch. 2.3, 2.4
|
Thu,
Sep 9
|
Lecture
#6:
Application Layer (3) – DNS, Peer-to-Peer
|
•
Read Kurose & Ross, Ch. 2.5-2.8
• Homework 1 out
• Lab Assignment 1 out
|
Tue,
Sep 14
|
Lecture
#7:
Application Layer (4) – Socket Programming
|
• Programming Assignment 1
out
|
Thu,
Sep 16
|
Lecture
#8:
Transport Layer (1) – Multiplexing, UDP
|
•
Read Kurose & Ross, Ch. 3.1-3.3
• Homework 1 due
|
Tue, Sep 21
|
Lecture
#9: Transport
Layer (2) – Reliability
|
•
Read Kurose & Ross, Ch. 3.4
|
Thu,
Sep 23
|
Lecture
#10:
Transport Layer (3) – Reliability, TCP
|
•
Read Kurose & Ross, Ch. 3.5
• Lab Assignment 1 due
• Homework 2 out
|
Tue,
Sep 28
|
Lecture
#11: Transport
Layer (4) – TCP
|
• Lab Assignment 2 out
|
Thu,
Sep 30
|
Lecture
#12:
Transport Layer (5) – TCP, Congestion Control
|
•
Read Kurose & Ross, Ch. 3.6
|
Tue,
Oct 5
|
Lecture
#13:
Transport Layer (6) – TCP Congestion Control
|
•
Read Kurose & Ross, Ch. 3.7
|
Thu,
Oct 7
|
Lecture
#14:
Network Layer (1) – Virtual Circuits, Datagrams, Routers
|
•
Read Kurose & Ross, Ch. 4.1, 4.2
• Programming Assignment 1
due
• Programming Assignment 2
out
• Homework 2 due
|
Tue,
Oct 12
|
Review
|
• Lab Assignment 2 due
|
Thu,
Oct 14
|
Midterm
Exam (in-class)
|
|
Tue,
Oct 19
|
Lecture
#15:
Network Layer (2) – IP
|
•
Read Kurose & Ross, Ch. 4.3
|
Thu,
Oct 21
|
Lecture
#16:
Network Layer (3) – ICMP
|
•
Read Kurose & Ross, Ch. 4.4
|
Tue,
Oct 26
|
Lecture
#17:
Network Layer (4) – Routing Algorithms
|
•
Read Kurose & Ross, Ch. 4.5
|
Thu,
Oct 28
|
Lecture
#18:
Network Layer (5) – Routing Protocols
|
•
Read Kurose & Ross, Ch. 4.6
|
Tue,
Nov 2
|
Lecture
#19:
Network Layer (6) – Broadcast, Multicast
|
• Lab Assignment 3 out
• Programming Assignment 2
due
• Programming Assignment 3
out
•
Read Kurose & Ross, Ch. 4.7
|
Thu,
Nov 4
|
Lecture
#20: Link
Layer (1) – Error Detection and Correction
|
•
Read Kurose & Ross, Ch. 5.1, 5.2
• Homework 3 out
|
Tue,
Nov 9
|
Lecture
#21: Link
Layer (2) – MAC, ARP
|
•
Read Kurose & Ross, Ch. 5.3, 5.4
|
Thu, Nov 11
|
Veterans Day – NO CLASSES
|
|
Tue,
Nov 16
|
Lecture
#22: Link
Layer (3) – Ethernet, Switching
|
•
Read Kurose & Ross, Ch. 5.5
|
Thu,
Nov 18
|
Lecture
#23: Link
Layer (4) – Virtual Link
|
•
Read Kurose & Ross, Ch. 5.8
• Lab Assignment 3 due
• Lab Assignment 4 out
|
Tue, Nov 23
|
Lecture
#24:
Physical Layer (1)
|
• Homework 3 due
•
Homework 4 out
|
Thu, Nov 25
|
Thanksgiving Break – NO
CLASSES
|
|
Tue,
Nov 30
|
Lecture
#25:
Physical Layer (2) – Data and Signals
|
• Programming Assignment 3
due
|
Thu,
Dec 2
|
Lecture
#26:
Physical Layer (3) – Digital Transmission
|
• Lab Assignment 4 due
•
Homework 4 due
|
Tue,
Dec 7
|
Lecture
#27:
Physical Layer (4) – Analog Transmission
|
|
Fri,
Dec 10 (at 7:30am)
|
Final
Exam
|
|
The slides and other materials for this course are in-part based upon the
materials from a number of people/sources, including:
·
Official website for the Kurose & Ross
text: Computer Networking: A
Top-Down Approach
·
Mehmet
H. Gunes from UNR: http://www.cse.unr.edu/~mgunes/cpe400
Program Outcomes
|
Course Outcomes
|
Assessment Methods/Metrics
|
Program Objectives Impacted
|
3
|
Knowledge of the fundamental components of a
computer network.
|
·
Define and explain the followings
in written assignments and exams:
o
the origins and challenges of
self-configuring communication network operation,
o
strategies and components of
modern computer communication network systems, and
o
various tradeoffs between resource
management techniques.
|
1, 2
|
1, 3, 5
|
Ability to quantitatively evaluate different network
protocols and applications.
|
·
Solve and model quantitative
performance evaluation methods of a communication network in written
assignments and exams.
·
Design and implement resource
management and scheduling algorithms of a computer network in programming
assignments.
|
2, 3
|
Program
Outcomes:
1.
an ability to apply knowledge of computing,
mathematics, science, and engineering.
2.
an ability to design and conduct experiments, as well
as to analyze and interpret data.
3.
an ability to design, implement, and evaluate a
computer-based system, process, component, or program to meet desired needs,
within realistic constraints specific to the field.
4.
an ability to function effectively on
multi-disciplinary teams.
5.
an ability to analyze a problem, and identify,
formulate and use the appropriate computing and engineering requirements for
obtaining its solution.
6.
an understanding of professional, ethical, legal,
security and social issues and responsibilities.
7.
an ability to communicate effectively with a range of
audiences.
8.
the broad education necessary to analyze the local
and global impact of computing and engineering solutions on individuals,
organizations, and society.
9.
a recognition of the need for, and an ability to
engage in continuing professional development and life-long learning.
10.
a knowledge of contemporary issues.
11.
an ability to use current techniques, skills, and
tools necessary for computing and engineering practice.
12.
an ability to apply mathematical foundations,
algorithmic principles, and computer science and engineering theory in the
modeling and design of computer-based systems in a way that demonstrates
comprehension of the tradeoffs involved in design choices.
13.
an ability to apply design and development principles
in the construction of software systems or computer systems of varying
complexity.
Program
Objectives:
Within 3 to 5 years of graduation our graduates will:
1.
be employed as computer science and engineering
professionals beyond entry level positions or be making satisfactory progress
in graduate programs.
2.
have peer-recognized expertise together with the
ability to articulate that expertise as computer science and engineering
professionals.
3.
apply good analytic, design, and implementation
skills required to formulate and solve computer science and engineering
problems.
4.
demonstrate that they can function, communicate,
collaborate and continue to learn effectively as ethically and socially
responsible computer science and engineering professionals.
|