Spring 2016


ECE456  Computer Networks




Home
Syllabus
Topics/Readings/
Homework/Exams

Lab Assignments
Minute Papers
Canvas
CSU Libraries Course Reserve
Useful Links

ECE456                                         Computer Networks                                                 Spring 2016

 

Instructor:      Prof.  Anura Jayasumana,  Electrical and Computer Engineering

Email:  Anura.Jayasumana@colostate.edu

Office/ Phone: C201D Engineering,  970-491-7855

Office Hours: Open (see URL for availability)

Course URL:  http://www.engr.colostate.edu/ECE456/ECE456_Sp16/

 

Objectives:   Introduce computer communication networking principles, architectures and technologies that make the current complex global information infrastructure possible.  This infrastructure consists of diverse devices, systems and users interconnected via multiple network technologies. Resulting global ‘Internet’  provides  ubiquitous and quick access to information. Internet is a dynamically evolving system held together by a set of protocols, in contrast to many other complex systems (e.g., microprocessors, automobiles and skyscrapers) that are designed by a close-knit group of designers. The quality of service experienced by a user or an application depends on the underlying network hardware (e.g., links, routers),  protocols (e.g., TCP/IP)  and   characteristics (e.g., network traffic, access times and interference), while the quality of service expected by a user depends on the particular application and the device.  Technology is emerging toward an Internet of Everything,  that will dramatically change our interaction with the physical world. This course will provide the fundamental expertise in networking necessary for understanding and developing modern networked systems and applications. 

 

Outcomes:
Students will gain knowledge of different communication technologies used in the global information infrastructure. They will know how the Internet works and how it is able to evolve and grow in size, speed and complexity. They will be able to develop network protocols and distributed Internet based applications using basic network programming concepts

Prerequisites: ECE251, ECE303, and   programming skills (ex. CS160 or CS155, CS156, CS157)

Topics:

  1. Circuit Switching,  Packet Switching, and Layered Architectures (TCP/IP, ISO-OSI) 
  2. Physical Layer – Link Technologies, Encoding
  3. Logical Link Control (LLC)  –Framing, Error Detection & Correction, Flow Control,
  4. Medium Access Control  (MAC) -  Fixed, Random and Demand Assignment; Sonet/SDH, Wired & Wireless Networks; IEEE 802.X Standards
  5. Cellular and Wired Phone Networks
  6. Internet Protocol (IP) – Addressing, Service Model, Routing
  7. Transport Protocols – TCP/UDP
  8. Network Programming - Socket Systems Calls, Client-Server
  9. Sensor Networking  and Internet of Things 
  10. Future Trends in Networking

 

Texts and Reading Material:  

·         The recommended text for the course is Data Communication and Networking,  B. A. Forouzan (McGraw Hill).  Fifth edition is preferred but fourth edition is also acceptable.      Two other excellent texts that are equally acceptable are  Computer Networking, Kurose & Ross (6th or 5th ed.), and  Computer Networks, Peterson & Davie, (Morgan Kaufman, 5th or 4th ed.).  

·         These three text books are available on  2-hour reserve at the Morgan Library. Links to a couple of  free books  are available off the course webpage.

·          Additional reading material will be made available as necessary via e-reserve at the library. 

 

Grading:      Homework & Quizzes                       20%

                        Minute Papers                                 10%

                        Presentation                                    15%

                        Exam                                                 25%

Lab Assignments                             30%

+/- Grading will be used.

 

Homework: You are expected to turn in solutions to all the homework problems. However, only a subset of problems in each assignment will be graded; the subset may vary by assignment and by student.  We may have a few quizzes that require familiarity with recent lectures.

 

Minute paper: A minute paper is a short write-up about each lecture: What are  the most significant things you learned in the lecture? Why is it significant? What question is uppermost in your mind at the end of the lecture? Be creative!!  A typical minute paper would be ~150 to 250 words.  Since each minute paper is based on a lecture, you must not submit one for a lecture that you did not attend. The minute paper for a given lecture must be submitted prior to the next lecture. Follow the link from the course web page to submit minute papers.  Up to 20% of the minute papers may be skipped without a penalty.

 

Presentation: A presentation is expected covering a pre-approved topic or a project. Grade for the presentation will be based on the quality of slides,  quality of presentation, technical content, and the understanding of the topic as conveyed by the presentation.

 

Exam: There will be one exam, which will either be a comprehensive final or an in-class exam (covering selected topics) depending on overall class performance in homework and lab assignments. 

 

Labs: The lab assignments are an important part of this course. You must pass each lab assignment with a score of 60% or better to pass the course. Discussions with colleagues are encouraged on different approaches to solving the assignments and to overcome difficulties. However, the program must be your own work, and no collaborative efforts are acceptable in developing the program, except in case of group assignments, for which any collaboration has to be limited to the group. Under no circumstances should you copy a program or a segment of a program from another source. Providing code for use by someone else or using someone else's code in any form is academic fraud.  It is your responsibility to ensure that the code you write for the assignments is not accessible to others. The lab will run on an open-hour basis. E-mail a well commented source code for the program and demonstrate the lab by the due date.

Academic Integrity: This course will adhere to the CSU Academic Integrity Policy as found in the General Catalog ( http://www.conflictresolution.colostate.edu/academic-integrity ) and the Student Conduct Code ( http://www.conflictresolution.colostate.edu/conduct-code ). At a minimum, violations will result in a grading penalty in this course and a report to the Office of Conflict Resolution and Student Conduct Services.

 

No web browsing,  checking email, texting, etc.,  during the lecture please!!