Lectures | Mondays/Wednesdays 4pm-5:50pm BH 2444 |
Discussion Sections |
DIS 1: Friday / 2:00pm-3:50pm, ROYCE 164 (Manika Mittal) DIS 2: Friday / 4:00pm-5:50pm, BH 5436 (Haitao Zhang) |
Instructor | Lixia Zhang (lixia at cs.ucla.edu |
Office hours | Monday / 3pm-4pm and Wednesday / 6pm-7pm in Boelter 3713 |
TAs |
Manika Mittal (manika.mittal at cs.ucla.edu): Thursday / 5-7pm in Boelter 2432 Haitao Zhang (zhtaoxiang at gmail dot com): Wednesday / 9-11am in Boelter 2432 |
Midterm | Wednesday November 2, 2016, 4pm-5:50pm, BH 2444 |
Final | Wednesday December 7, 2016, 11:30am-2:30pm, TBD |
Homeworks due | Wednesday of the week following the assignment, 5pm |
Project 1 Deadline | Sunday, October 30th / 11:00pm |
Project 2 Deadline | Sunday, December 4th / 11:00pm |
Basic Course Information
This course provides an introduction to fundamental concepts in the design and implementation of computer communication networks, their protocols, and applications. Topics to be covered include: layered network architecture, physical layer and data link protocols, network and transport protocols, unicast and multicast routing protocols, and applications. Examples will be drawn from the Internet TCP/IP protocol suite. The course also includes two programming projects, in which students gain hand-on experience with basic network programming and development of simple network applications.
Required Textbook
- “Computer Networking: A Top-Down Approach (6th Edition)” by James F. Kurose and Keith W. Ross. (4th and 5th edition OK)
Recommended Reading
- “TCP/IP Illustrated, Vol. 1: The Protocols” by W. R. Stevens
Prerequisites
- Upper division standing, must have taken Courses CS32, CS33 previously; in addition, CS111 is highly recommended.
- Basic understanding of algorithms, computer architecture, and operating systems.
- Good background in C/C++ programming
- Knowledge of multithreading programming (pthreads or C++11 Thread Support Library)
Course Workload and Grading Information
Homeworks | 16% |
Programming Projects | 40% (20%/20%) |
Midterm exam | 22% |
Final exam | 22% |
- Weekly homework will be assigned after the 2nd lecture every week and must be submitted by 5:00pm next Wednesday.
- Midterm Exam
- Final Exam
- Two programming projects
Contacting the Course Staff (Email and Office Hours) and Class Participation
You are all encouraged to visit us during office hours or email us. Class participation is very welcomed and will be rewarded. Do not hesitate to ask questions in the class, in most, if not all cases, the entire class will benefit from the answers received (what you may think as a silly or naïve question may in fact be a genuine question that also other students in the class may have). When you email us make sure you include [CS118] in your email’s subject line in order for the email to receive the proper attention. Any project-related questions should be forwarded to the course TA. Questions about graded homeworks should be first directed to the class grader. If you are not completely satisfied with the grader’s response then you can contact the TA. If your problem is still not resolved then you can contact the course instructor.
Course Policies (Read This Carefully)
-
Homework assignment must be done by each student individually
-
Programming projects can be done in groups of 1-3 students
-
No late homework or project submission. Homeworks can be handwritten, while projects must be submitted electronically through CCLE.
- Homeworks can be handwritten or typed. Submit
hardcopies
in BH 2432 Mailbox A14. No electronic submissions! - Projects should be submitted as
.tar.gz
archive, see project descriptions for more detail.
- Homeworks can be handwritten or typed. Submit
-
No make-up midterm or final examinations.
-
Adherence to the University’s Code of Ethics will be strictly monitored and enforced. This will be applicable to homeworks, projects and examinations. By registering for this course the student is assumed to automatically abide by the Code of Ethics which applies to any work generated by the student, including homeworks, examinations, project assignments. Academic integrity violations, such as plagiarism, cheating on an exam etc., will result in a series of actions and penalties including the possibility of the student failing the class or being expelled from the university. Note that all parties involved in cases of academic integrity violations are disciplined. Therefore, students should take this matter seriously and are expected to fully cooperate and support the atmosphere of trust and individual achievement. If you need assistance with class-related issues it is better if you contact the course’s staff. Students are encouraged to discuss among themselves issues related to the course material in order to deepen their understanding, or to share information regarding the use of programming tools, development environments, or debugging techniques.