CS 312 - Internet Concepts
Fall 2020: TR 11:00am-12:15pm, all sections online

Home (Syllabus)


  • Dr. Michele Weigle
  • mweigle at cs.odu.edu
  • Office Hours:
    Tues 2-3:30pm
    Thurs 5-6:30pm
    via Zoom

Lecture Slides
(at Google Slides)

Code Examples



Course Overview

Catalog Description: Laboratory work required. An in-depth introduction to the Internet and the World Wide Web for CS or similar majors as a basis for more advanced studies in Web programming. Topics include: historical and current development of the Internet Web document publishing. Internet design, communication, and application protocols and the tools that use them. Internet search tools and their design. Internet issues such as netiquette, copyright, spam, computer viruses, cookies, security, and future of the Internet.

Course Objectives

After completing this course, you should be able to do the following:

  • Describe the causes of Internet delay and loss.
  • Use networking tools, such as ping and traceroute, to investigate a network.
  • Explain what happens on the network when you click a link on a web page.
  • Explain how an email message you send to a friend is sent and delivered.
  • Avoid spam or phishing email traps.
  • Explain the difference between a blog and a wiki.
  • Describe how Google orders Internet search results.
  • Construct a basic website using PHP, HTML, CSS, JavaScript, and SQL.
  • Apply principles of security, internationalization, accessibility, and privacy.

Course Delivery Method

All sections of this course will be delivered via Zoom web conferencing. Course materials will be distributed via Blackboard.

Class meetings will be held synchronously TR 11-12:15pm via Zoom (see Blackboard for Zoom meeting room). Attendance of the Zoom session during class meeting times is encouraged, but is not required. Recordings of the Zoom session will be available. All deadlines are based on the local timezone in Norfolk, VA.


  • CRN 16490 - WEB2 (in Hampton Roads)
  • CRN 16491 - WEB2 (in Hampton Roads)
  • CRN 16492 - WEB5 (in Virginia, outside of Hampton Roads)
  • CRN 16493 - WEB7 (in US, outside of Virginia)
  • CRN 16494 - WEB2 (in Hampton Roads)
  • CRN 16786 - WC8 (outside of US)

There are several WEB2 sections listed, but they are essentially equivalent.

Instructor Contact and Office Hours

Dr. Michele Weigle: mweigle at cs.odu.edu, https://www.cs.odu.edu/~mweigle/

My office hours will be Tuesdays 2-3:30pm, Thursdays 5-6:30pm, or by appointment. All office hours will be held via Zoom (see Blackboard for the link to the Zoom meeting room). Students will be placed into the waiting room until I am available.

If you cannot attend during regular office hours, please contact me to set up an alternate appointment time. If you absolutely need an in-person appointment, please contact me at least a day in advance to set up a time. I will not be on campus MWF.



The main prerequisite for this course is CS 252. I expect you to be familiar with the ODU-CS Linux systems.


The required textbook for this course is Dynamic Web Programming and HTML5 by Paul S. Wang.

There will be other reading materials provided in Blackboard.



Your grade in this class will be based on the following components:

  • Homework (25%): Individual homework assignments will reinforce topics covered in class and in the readings.
  • Project (25%): Each student will develop an interactive website over the course of the semester.
  • Exams (50%): A midterm exam will be given near the middle of the semester, and a final exam will be given during the final exam period.

Grading Scale

% letter grade
93-100 A
90-92 A-
87-89 B+
84-86 B
80-83 B-
77-79 C+
73-76 C
70-72 C-
67-69 D+
62-66 D
60-61 D-
0-59 F

Updated 12/16/2020 due to typo (missing D- and incorrect value for F)

Late Assignments

Any assignment submitted after its deadline is considered late. Submissions over 48 hours late are not accepted. This time limit includes weekends -- they are counted just like weekdays. I reserve the right to specify that late submissions will not be accepted for particular assignments.

A grade penalty of 10% will be assessed for assignments submitted up to 2 days late.

No extensions to assignment due dates will be given due to brief illness, school activities, routine problems etc., since there is plenty of time to complete assignments before the due date, with allowance for these situations. Extensions will be considered in the case of serious family emergencies, extended illness, or other lengthy absence only, and must be requested prior to the due date.

Summary Schedule

(Updated 8/2/2020)

Note: This is a tentative schedule and may be updated during the semester.

ODU Fall 2020 academic schedule, Final Exam schedule

Week Date Topic Textbook Reading
1 Sep 1
Sep 3
Internet History and Internet Architecture
Ch 1
2 Sep 8
Sep 10
Internet Protocols and Tools
Web History and Architecture
Ch 1
3 Sep 15
Sep 17
Web Protocols and Tools
Social Issues
4 Sep 22
Sep 24
CSS, HTML Authentication
Chs 2.1-2.8, Ch 4.1
5 Sep 29
Oct 1
HTML Forms
Ch 5
6 Oct 6
Oct 8


Ch 6, Ch 7.1-7.3
7 Oct 13
Oct 15
Sessions and Cookies
State Management
Ch 8.7-8.8
8 Oct 20
Oct 22
9 Oct 27
Oct 29
Threat Model
Ch 8.10
10 Nov 3
Nov 5
NO CLASS - Election Day
User Authentication
Ch 9
11 Nov 10
Nov 12
Database Coding
12 Nov 17
Nov 19
Performance and Efficiency
Internationalization and Accessibility
Nov 24
Nov 26
NO CLASS - Thanksgiving Break
13 Dec 1
Dec 3
Cloud Computing
Project Work Day
14 Dec 8
Dec 10

Course Policies


Each student must check the class Piazza site and email daily. You should use Piazza to ask and answer general course-related questions. I will use Piazza to notify you about important updates (assignment deadline changes, class cancellations, office hours cancellations, etc.).


Since this is an online class, it is essential that you regularly stay involved in class activities. This includes attending synchronous class meetings when possible, checking the class website and Piazza for announcements, and submitting assignments on time.

Make-up Work

Make-ups for graded activities are possible only with a valid written medical or university excuse. It is the student's responsibility to give the instructor the written excuse and to arrange for any makeup work to be done. A makeup exam may be different (and possibly more difficult) than the regularly scheduled exam.

Disability Services

In compliance with PL94-142 and more recent federal legislation affirming the rights of disabled individuals, provisions will be made for students with special needs on an individual basis. The student must have been identified as special needs by the university and an appropriate letter must be provided to the course instructor. Provision will be made based upon written guidelines from the University's Office of Educational Accessibility. All students are expected to fulfill all course requirements.

Students are encouraged to self-disclose disabilities that have been verified by the Office of Educational Accessibility by providing Accommodation Letters to their instructors early in the semester in order to start receiving accommodations. Accommodations will not be made until the Accommodation Letters are provided to instructors each semester.

Seeking Help

The course Blackboard site should be your first reference for questions about the class. If you have questions about course requirements or materials, post questions using the class Piazza site. For extra help, attend office hours.

Academic Integrity

Old Dominion University is committed to students' personal and academic success. In order to achieve this vision, students, faculty, and staff work together to create an environment that provides the best opportunity for academic inquiry and learning. All students must be honest and forthright in their academic studies. Your work in this course and classroom behavior must align with the expectations outlined in the Code of Student Conduct, which can be found at https://www.odu.edu/oscai.

The following behaviors along with classroom disruptions violate this policy, corrupt the educational process, and will not be tolerated.

  • Cheating: Using unauthorized assistance, materials, study aids, or other information in any academic exercise.
  • Plagiarism: Using someone else's language, ideas, or other original material without acknowledging its source in any academic exercise.
  • Fabrication: Inventing, altering or falsifying any data, citation or information in any academic exercise.
  • Facilitation: Helping another student commit, or attempt to commit, any Academic Integrity violation, or failure to report suspected Academic Integrity violations to a faculty member.

In particular, submitting anything that is not your own work without proper attribution (giving credit to the original author) is plagiarism and is considered to be an academic integrity violation. It is not acceptable to copy source code or written work from any other source (including other students, online resources), unless explicitly allowed in the assignment statement. In cases where using resources such as the Internet is allowed, proper attribution must be given.

Any evidence of an academic integrity violation (cheating) will result in a 0 grade for the assignment/exam, and the incident will be submitted to the Department of Computer Science for further review. Note that academic integrity violations can result in a permanent notation being placed on the student's transcript or even expulsion from the University. Evidence of cheating may include a student being unable to satisfactorily answer questions asked by the instructor about a submitted solution. Cheating includes not only receiving unauthorized assistance, but also giving unauthorized assistance. For class files kept in Unix space, students are expected to use Unix file permission protections (chmod) to keep other students from accessing the files. Failure to adequately protect files may result in a student being held responsible for giving unauthorized assistance, even if not directly aware of it.

Students may still provide legitimate assistance to one another. You are encouraged to form study groups to discuss course topics. Students should avoid discussions of solutions to ongoing assignments and should not, under any circumstances, show or share code solutions for an ongoing assignment.

All students are responsible for knowing the rules. If you are unclear about whether a certain activity is allowed or not, please contact the instructor.

More information on academic integrity is available on the ODU-CS academic integrity page.