Table of Contents

Syllabus for cis32f17


This syllabus is available online at

Basic Info

Instructor Jeffrey Bergamini
Email (please prefix the subject with [cis32])
Office/STEM Hours Monday/Wednesday 0800–1100, Tuesday/Thursday 1145–1445 in 827 or STEM Center, and simultaneously online (wait at least 5 minutes for a response).
Schedule: 98158 Meetings: N/A (online only)

Catalog Description

CIS 32: Introduction to Internet Programming

Presents an introduction to Internet-related programming using primarily client-side scripting languages like JavaScript. Introduces a server-side scripting language like PHP. Covers basic programming techniques including simple data types, control structures, functions, and expressions. Topics include Web-based data collection, form verification, and Ajax.

Learner Outcomes

  • Create dynamic webpages using JavaScript, HTML and CSS.
  • Design, write, document, test and debug introductory JavaScript programs.

Textbooks and Materials

The main texts for the course are Eloquent Javascript by Marijn Haverbeke and The JavaScript Way by Baptiste Pesquet, both of which are free online. Suggested reading will be posted in the lecture materials.

Other materials will be on the course website or handed out in person.

Keep in mind that a lot of this information is available online as well. This class is a good opportunity to learn how to use search engines effectively, if you haven't already. Check out Google's advanced search options and DuckDuckGo's syntax rules for some very useful pointers.


This schedule is subject to change.

Week Dates Topics Assignments and Due Dates
01 08/28 - 09/01 Introduction: HTTP, HTML/CSS review 09/01 : Assignment 00 (cis32f17as00)
02 09/04 - 09/08 (Holiday: 09/04) — JavaScript basics 09/08 : Assignment 01 (cis32f17as01)
03 09/11 - 09/15 Functions and selection 09/18 : Assignment 02 (cis32f17as02)
04 09/18 - 09/22 Repetition 09/25 : Assignment 03 (cis32f17as03)
05 09/25 - 09/29 More on functions 10/02 : Assignment 04 (cis32f17as04)
06 10/02 - 10/06 Objects and arrays 10/09 : Assignment 05 (cis32f17as05)
07 10/09 - 10/13 DOM 10/16 : Assignment 06 (cis32f17as06)
08 10/16 - 10/20 DOM 10/23 : Assignment 07 (cis32f17as07)
09 10/23 - 10/27 DOM 10/30 : Assignment 08 (cis32f17as08)
10 10/30 - 11/03 DOM 11/06 : Assignment 09 (cis32f17as09)
11 11/06 - 11/10 (Holiday: 11/10) — Functional JavaScript 11/13 : Assignment 10 (cis32f17as10)
12 11/13 - 11/17 OOP JavaScript 11/20 : Assignment 11 (cis32f17as11)
13 11/20 - 11/24 (Holiday: 11/23, 11/24) — OOP JavaScript 11/27 : Assignment 12 (cis32f17as12)
14 11/27 - 12/01 Ajax 12/04 : Assignment 13 (cis32f17as13)
15 12/04 - 12/08 Ajax 12/15 : Assignment 14 (cis32f17as14)
16 12/11 - 12/15 Finals Week


Grades will be recorded on a point basis, and your final letter grade will be determined by the percentage of points earned. Real-time grade information is available on our course website.

Category Percentage Points Possible
Assignments 75% 750
Participation 25% 250
Total 100% 1000

In the event that average scores are unexpectedly low, class-wide scores may be shifted upward at the instructor's discretion.

Assignments and Participation

Assignments are your chance to work on your own, experiment with the material we cover in lecture materials, and demonstrate that you understand it.

All programming assignments must at least compile and/or not result in interpreter syntax errors in order to receive a nonzero grade.

Other participation points may be earned by participating in online discussion, Q&A, etc. You are expected to make a minimum of two substantive postings per week to any of the discussion sections on the assignment or lecture material pages. Substantive in this case means asking or answering a relevant question, providing links to useful supplementary material, or other engagement at the instructor's discretion.


Late Work

Each assignment specifies a due date. Late work may be docked up to 10% for the first day, and 20% for each subsequent day. I realize that emergencies, medical or otherwise, may affect your ability to turn in work. It is your responsibility to make me aware of any problems, so please contact me and make arrangements before the work is due, if at all possible.


All work submitted is to be your own, unless explicitly stated in the instructions. Claiming another's work as your own, copying material from another student, or acquiring prior knowledge of in-class assignments will result in grade of zero and possible dismissal. Also, please keep in mind that I will perform similarity tests on programming assignment submissions, and plagiarized code is usually very easy to detect.


Working together is an important aspect of learning, and a good thing in general. You are encouraged to study with your fellow students and discuss general topics, concepts, strategies, etc. This does not mean you can copy from them! Be sure to follow the plagiarism guidelines.


Please contact the instructor as soon as possible if you need accommodations. As required by the Americans with Disabilities Act (ADA), accommodations are provided to ensure equal opportunity for students with verified disabilities. If you need assistance with an accommodation, please contact Accessibility Support Center, room 1073, 479-6379, or Learning Skills Program, room 1073, 479-6220

Withdrawal by Instructor

It is the student's responsibility to officially withdraw from classes. However, students missing more than two assignments may be dropped from the course at the instructor's discretion, unless prior arrangements have been made and agreed to.