CMPU 375: Networks

Spring 2018 Sameer Pradhan

Google Classroom

Quick Facts

When
Class— Mondays and Wednesdays at 1:30-2:45 p.m.
Where
Sanders Physics SP-105 [Lecture]
Website
https://www.cs.vassar.edu/₷~sameerpradhan/courses/spring-2018/cmpu-375/
Textbook
We will draw from various books for this course. There are a few books that are recommended reading. Details further below.



Course Objective

This course provides an introduction to the design of network-based applications. Web-based applications provide an infrastructure and motivation for the intersection of computer networks and database systems, and are quickly becoming the primary mode of user interaction and have replaced many traditional standalone platform specific applications. Topics include some computer networks theory. Especially, covering the layered model of the Internet, the most commonly used protocols, and fundamentals of routing. We will cover client/server paradigms as well as peer-to-peer architectures. Web applications used databases for persistency, so we will cover the theory of relational databases, including the techniques of data normalization. We will briefly look at NoSQL databases given the current hype, but will primarily focus on SQLITE3 relational, ACID compliant database and intermediate levels of the SQL language. Finally we will also touch upon various security concerns and encryption techniques and protocols used to manage it. The course will use javascript as the programming language and the Node.js non-blocking I/O framework. We will briefly address the fundamentals of responsive, mobile-centric designs using standard libraries such as Twitter Bootstrap, and so will cover the necessary details of the structure and style components, viz., HTML and CSS. Programming assignments and labs will emphasize key concepts.



Logistics

Instructor
Sameer Pradhan (sameerpradhan@vassar.edu)
Office: Sanders Classroom 003
Office Hours: Tuesdays from 2:004:00 pm. Or, in person or Google Hangouts by appointment.
Class Time

Mondays and Wednesdays 1:30-2:45 pm in Sanders Physics SP-105

Contacting me

If you have a question that is not confidential or personal, post it on the Google Classroom. Rresponses tend to be quicker and have a wider audience. To contact me directly, I strongly encourage you to come to office hours. If that is not possible, you can also email (non-technical questions only) to the course mailing list, TBD. If you have a matter to be discussed privately, please come to office hours, or make an appointment with me. You can also send me message on Google Hangout. That is the fastest way to reach me. For grading questions, please talk to me after class or during office hours.

Announcements will be send to the class mailing list. Please read these messages.

If you do send me an email, I would appreciate if you address me as Prof. Pradhan

Honor Code

Since we occasionally reuse homeworks that were previously assigned, and the fact that one can search for similar problems online, we expect students not to copy, refer to, or look at the solutions in preparing their answers. It is an honor code violation to intentionally refer to a previous year's solutions. This applies both to the official solutions and to solutions that you or someone else may have written up in a previous year. It is also an honor code violation to find some way to look at the test set or interfere in any way with programming assignment scoring or tampering with the submit script.

Since quizzes are a form of assessment, students are not allowed to collaborate on completing quizzes. It is an honor code violation to discuss quiz questions with other students.

In signing the matriculation pledge at Vassar, you have assumed the responsibility for the integrity of your academic work. Please follow the pamphlet "Originality and Attribution: A Guide for Student Writers at Vassar College." which contains detailed discussions of the requirements of academic honesty.

Textbooks
  • There are no required textbook, but I will expect you to know the material listed above, drawn from the textbooks and other readings. The material in the readings will be tested on the final exam. Different people may learn better from different combinations reading the chapters, doing the assigned exercises, and attending class and participating in class discussions. The best-prepared students who do the best on the final exams tend to do all three. But I won't take roll for lectures and attendance is up to you.
    • Computer Networking: A Top-Down Approach, Sixth Edition by James Kurose and Keith Ross
    • Database System ConceptsSixth Edition by Abraham Silberschatz and S. Sudarshan
    • Head First JavaScript Programming: A Brain-Friendly Guide, First Edition by Eric T. Freeman and Elisabeth Robson
    • Javascript: The Good Parts First Edition by Douglas Crockford
    • Javascript: The Definitive Guide Sixth Edition by David Flanigan
    • Learning Node, Second Edition by Shelly Powers

Prerequisites

CMPU 203 (or, permission of the instructor)



Required Work

Lectures

Attendence is highly recommended in all classe. Although a significant portion of what I will cover in class is available in textbooks, the number of potential texts that cover is far more than the ones listed in the syllabus. Also, depending on student participation and interests, we might cover topics and have discussions which could have a bearing on the questions in the exams.

Class Participation

Extra credits would be given for students participation in the classroom. Students can also participate by providing helpful answers on the class forum, helping out other students in office hours, etc.

Assignments

There will be roughly 5 assignments throughout the semester.

Programming Assignment Collaboration: You may talk to anybody you want about the assignments and bounce ideas off each other. But you must write the actual programs yourself.

Late homeworks

You have 3 free late (calendar) days to use on each programming assignment. Once late days are exhausted, the assignment will be penalized 2% per late day. I am likely to assign individual extensions based on extenuating circumstances as long as you communicate with me in advance.

Readings

This class has a significant amount of textbook reading. Most weeks have around 30-60 pages worth of content (as it varies by the type of book). The homeworks and exams will be based heavily on the readings.

Exams:

We will be two exams and an students will be provided an option to take a final in class exam or do a final project. Details below.

Final grade
  • 40% Labwork and Homework
  • 10% Pre-spring break exam
  • 20% Mid-term exam
  • 30% Optional Written Exam or Final Project