Course Number: 
CSC 412
Danforth 108A
Date & Time: 
Tuesday & Thursday, 8:00AM - 9:50AM

Instructor: Dr. Scott Heggen
Office: Danforth Tech 110 (CPO 2188)
Office Hours: Tues/Thurs 8:00AM - 10:00AM
Phone: (859) 985-3141


Course Description


The pervasiveness of technology is largely reliant on the creation of networks, and more specifically, the invention of the Internet. In this course, we will explore the foundations of creating networks, following the rules of the OSI and TCP/IP models of communication. We will focus much of our attention on the implementation details of creating software which can communicate with other software systems using the standards set by the telecommunications industry. By the completion of this course, you will be able to build an end-to-end networked system.

Course Objectives

Students completing this course will be able to:

  • Understand the historical context of today's computer networks
  • Apply networking models to new networking problems
  • Demonstrate good coding practices in networked systems
  • Demonstrate secure coding practices in networked systems
  • Identify the differences between networking components
  • Explore the future of networking as technology evolves

Online Materials 

Required Text and Materials

  • Computer Networks, Tanenbaum and Wetherall, 5th Edition, Pearson, 2011. ISBN: 978-0-13-212695-3

  • The majority of the learning in this course will take place in doing the assigned computer work and other homework. Thus, the assignment descriptions themselves should prove a valuable resource.

Technology Policies

Much of the work in this course will require use of the computer, so these policies are designed to help you better understand how to be effective in a technology-rich environment.

  • Laptop and Software: We will regularly make use of laptops during class, and you are expected to have them unless explicitly stated otherwise.
  • IDE: Make sure that you have a Java IDE and SDK installed so that you can take the most advantage of in‐class time to do your work. Please be aware that this means that if you change computers or get a loaner from the TRC during the term, you will need to reinstall the Java SDK and the IDE to the loaner and back on your laptop if it has been erased, which you should do BEFORE class.
  • Unapproved Technology: We use our technology for work during class, not play. Keep your phones silenced, and out of sight. No excuses.
  • Communication: Messages about the course will often be sent by email. Check your email often!
  • Information Gathering: The course website is your primary source for information about the course. 
  • Backups: All students are expected to back-up their work on a daily basis, which includes laboratories, assignments, and quizzes. The best way to do this is to store a copy of all work in a cloud service such as Bitbucket, Dropbox, SkyDrive, Google Drive, or to use a DVD, flash drive, or some other media. Storing multiple copies of something on your laptop is not a backup. I will not be sympathetic to lost work in any way, shape, or form.
  • Exceptions: Exceptions to any of these technology policies will be considered on an individual case-by-case basis but will only be granted under extreme circumstances.

Attendance Policy

Class lectures, discussions, and in-class work are considered to be a vital key to success in this course. It is the hope of the instructor that class sessions are both informative and useful. Therefore, attendance is expected at each class session unless a specific exception is made. If you are sick with flu-like symptoms, the Center for Disease Control (CDC) recommends that you stay home for at least 24 hours after your fever is gone except to get medical care or for other necessities. Therefore, please do not come to class if you show flu-like symptoms. Instead, e-mail me from your room and go to health services immediately. When you return to class, bring paperwork showing that you sought medical attention that day and your absence will be excused. Students who arrive late, leave early, or fail to fully participate during the class will be considered absent for that portion of the period, and such partial absences will accumulate.

The final grade may be lowered by one half of a letter grade (e.g., an A becomes an A-) for each unexcused absence beyond the third. Thus, it is the responsibility of the student to contact the instructor about each absence from class. This should be done via email, as soon as possible, and if at all possible before the absence occurs. Students who miss class are held responsible for all of the material covered, assigned, and collected during their absence. 

Assignment Collection

All written work should be neat, organized, and should show sufficient documentation and explanation to demonstrate a clear understanding of the techniques used. Homework assignments are due at the beginning of class on the announced date due. If a student must miss class due to either a sickness or a planned absence, homework assignments are still expected to be submitted on time. Homework is posted on the web and may be requested in advance. Late homework assignments will only be accepted for reduced credit up until the homework assignment is returned. Late work is typically accepted but must be labeled as late. Written or printed homework assignments may be turned in before class or at the instructor's office, but should NOT be sent through the CPO, attached in e-mail, or given to a student assistant. A selection of the homework problems will be graded for credit, and homework submissions not meeting the above standards will receive reduced credit.

Collaboration and Teamwork

When doing work that is collaborative in nature, it is essential that you cite your collaborators in all instances. Failure to do so could be construed as academic dishonesty.

I will make use of the institutional policies laid down regarding academic dishonesty. In the real world, plagiarism and claiming others' work as your own could result in you losing your job. Our goal is to support you in your learning, and copying the work of others (including inappropriately reusing work found on the web) never constitutes good learning. CITING OTHERS WORK is always, always essential. If ever you are in doubt, you should speak to me about the items in question. I will help you make good decisions about citing others work, but only before an assignment is due.

Grade Distribution

The grading system uses a points based system, essentially eliminating the need for grading weights. Here is an explanation of the system:

Suppose a student has an assignment, called Homework 1. The homework is worth 10 points. After all assignments are graded, the instructor decides on the following distribution of grades:


Homework 1 (WARNING: Example only!)
Grading Scale
  A B C D F
H1 8.5 7 5.5 4 0

In order to know your grade on the individual assignment, the student then compares their grade on the assignment to the above table. If their number is higher than the value for an A (8.5), then they have an A on the assignment. If their number is higher than the value for B (7), then they have a B on the assignment, and so on.

The process continues, for all assignments, resulting in a table such as this:

All Grades (Example only)
  A B C D F
H1 8.5 7 5.5 4 0
H2 7
Q1 20  16  12 
E1 80  65  55  45 
Total 115.5 94 77.5 57 0

In order to know your final grade in the class, the student sums up their total points in the class. They then compare their final number against the "Total" row in the table, and follow the same process as before: if your sum is greater than 115.5, you receive an A; if your sum is greater than 94, you receive a B, and so on.

plus may be earned through exceptional attendance, teamwork, professionalism and collegiality, and participation. A plus is completely at the discretion of the instructor.

Any questions regarding grades should never be directed at TAs, but instead always directed to the instructor of the course.

Evening Lab / Support

The Computing and Digital Crafts Lab is open Sunday through Thursday from 7:00 to 9:00 PM (except on evenings of convocations) in Danforth 104. The primary teaching assistant and several other TAs will be able to answer questions about the content in the course during consultations in their Lab hours. You are strongly encouraged to make use of the help available in the Computing and Digital Crafts Lab, as well as in the instructors' office hours. Best results are obtained trying to solve problems before asking for help, and you should be prepared to show what you have already tried. Topics in this course build throughout the course, so you should be sure to do your best to keep up with the class, so as to not fall behind.

Statement Regarding Disability

Berea College will provide reasonable accommodations for all persons with disabilities so that learning experiences are accessible. If you experience physical or academic barriers based on disability, please see Lisa Ladanyi (Disability & Accessibility Services, 111 Lincoln Hall, 859-985-3327, to discuss your options. Students must provide their instructor(s) with an accommodation letter before any accommodations can be provided. Accommodations will not be implemented retroactively. Please meet with your instructor(s) in a confidential environment to discuss arrangements for these accommodations.