Benjamin Say
Office: 256 CS Building
Office Hours: See Instuctor Website
Brandt Reutimann
Office: Virtual (Slack)
Office Hours: Tuesday and Thursday 3-5pm.
Lecture Time and Place:
12:00-12:50, MWF, Clark C 251
Recitation 1 Time and Place:
Will be Posted Online, Tuesday/Thursday, Virtual (Youtube)

Important syllabus clarifications and elaborations are included below under Addendum (No updates yet!).


The prerequisite for CT310 is CS165.


REQUIRED: Our sole text this semester is a zyBooks interactive e-text, available automagically to you through inclusive access. Follow these steps to get it activated:

  1. IMPORTANT: Only create ONE zyBooks account. If you find that you need another email address associated with your account, then add that address to your existing account.
  2. Log in to Canvas for this course, then click on the assignments tab
  3. Click on any zyBooks assignment and click the button to open a new window.
  4. Follow the subscription instructions.


Here are the formally graded elements of the course and associated weighting:

Activity Weight
In-Lab Programming Quizzes (5 total) 20%
Group Web Application Project (2 milestones) 30%
Lab Attendance 5%
Individual Assignments 15%
zyBooks 15%
Term Paper 10%
Final Presentation 5%

Semester grades are determined by the weighted sum of points earned in each of these areas. The total points for each area are normalized so that the expected top score for the semester is 100. The cutoff between an A and a B is typically 90 points. Likewise, the cutoff between a B and a C is 80 points. The cutoff between a C and D is typically 70 points. While this is the typical grading procedure, the instructor reserves the right to shift a cutoff down, i.e in the students favor if the instructor feels such a change is justified. The instructor may choose to not assign any/all of the +/- grade options if the instructor so chooses. Whatever the choice, the same grading standard will apply to all students.

Homeworks and quizzes will always be done individually and grades assigned on an individual basis. There is a required weekly recitation on tuesdays and thursdays which will at time include excercises started in recitation that will constitute that week's homework. Attendance and associated performance on these excercises/homeworks contributes to a portion of the semester grade.

Projects will be done by teams of students, and grades will be assigned jointly. However, the instructor reserves the right to assign unequal credit to members of a team if circumstances warrant. Project teams will be assigned at the discretion of the instructor.

As in most all other CS courses, students are responsible for controlling access to their own work so that it does not become available to others. However, in some cases this is impossible; a publicly posted web page developed for an assignment is of course visible to all. However, when possible, normal protocols for protecting files apply. For example, student developed PHP code associated with pages will have file permissions set so as to preclude their being copied or viewed by others.

A word about grading and Canavs. Points assigned for specific assignments as displayed by Canvas are to be trusted and considered the official course record. However, Canvas attempts to project point totals during the semester. These projections are problematic and students are asked avoid reading too much into these projections: they are in no way binding and at times out-and-out misleading.

The instructor may give spontaneous quizzes in class at any time. Each such quiz will be added to the Individual Assignments category. Students are required to bring paper and pen/pencil to each class in order to complete these quizzes.

Late and Makeup Policy

Quizzes: Make-up lab quizzes or other similar components are only given for extraordinary circumstances (e.g., illness, family emergency) with appropriate documentation. Students must consult with the instructor as soon as possible, preferably in advance. Course lab quiz dates are listed in the syllabus; be aware of them and plan accordingly. All excused absences require documentation from the appropriate University office.

Homeworks and Projects: Unless otherwise specified, programming assignments are to be submitted electronically. This may be accomplished through Canvas or through a web spider capturing a copy of a project website. Specifics will be included in each major assignment. Always check the assignment page for due dates; normally, programming assignments are due at 11:59 PM on the due date. No late work accepted. Students not having submitted programs receive an automatic zero on the assignment.

Student Disability Center: SDC is awesome! If you have a disability for which you require an accomodation please visit SDC and obtain an accomodation letter. The instructor will work with you to implement these accomodations. Once exception is that group assignment dates cannot be extended. Please work with your group on milestone planning.

Important Dates

First lab quiz Thursday February 20
Second lab quiz Thursday March 5
Third lab quiz Thursday April 2
Fourth Lab Quiz Thursday April 23
Fifth Lab Quiz Thursday April 30

The lab quizzes will be done in lab on lab computers. They will be conducted in the alloted thursday recitation time. These quizzes may consist of a pre-assignment (to be completed by students before the quiz and brought to the quiz). Details will be made available in advance of the lab quizzes. The quizzes will be proctored and will be given during the designated times. They will not be available outside these times and places. While no change to the lab quiz dates is anticipated, the instructor reserves the right to change these dates with a weeks notice. You may bring printed materials to reference during lab quizzes. You may reference any website that is publically available (i.e. does not require a login) You may not post questions to any websites to receive personalized answers. The ONLY exception is you may use this course's zyBook.

In Class Participation

Lectures in this course are about communication and interaction; all students taking this course are expected to participate actively. Participation, at a minimum, includes asking and responding to questions. Students are welcome to use laptops or tablets during lecture so long as they do so in ways that are directly in the service of the course. Should the instructor become aware of a student using a device in a manner that is off-topic and distracting the instructor will ask that student to stop.

There are no specific points assigned for lecture attendance. Generally, the fact that students who actively participate in lecture earn more points through the work in the course is sufficient motivation. Attendance at the weekly Tuesday recitation and Thursday recitations is required and points will be awarded for attendance.

Professional Conduct

All students are expected to conduct themselves professionally. We (the instructors and GTAs) assume you are familiar with the policies in the student information sheet for the department. Additionally, you are computing professionals, albeit perhaps just starting. You should be familiar with the code of conduct for the primary professional society, ACM. You can read the ACM Code of Conduct HERE.

We work to maintain an environment supportive of learning in the classroom and laboratory. Towards that end, we require that you be courteous to and respectful of your fellow participants (i.e., classmates, instructors, GTAs and any tutors). In particular:

  • Please turn off the ring on your cell phone. If you are expecting an emergency call, sit near the door and slide out discretely to take it.
  • In class use of electronic devices in general, and laptops specifically, is permitted as a courtesy so that you may better participate and learn. If at any time the instructor judges that an electronic device is becoming a distraction, then the student may be asked to to turn it off and put it away.
  • All exams are to be done without the aid of notes of any kind. Laptops and all other electronic devices must be shut and put away during exams.

Discussion Boards

A class discussion board is being used to support this course. Students are responsible for all announcements posted to Piazza. In particular, the discussion board is hosted at Piazza (linked through Canvas). All normal expectations regarding professional conduct apply to the discussion board. In addition, here are some explicit guidelines to assist in establishing the tone and expectations regarding the use of Piazza.

  1. No posting of code for assignments.
  2. No inappropriate postings: e.g. profanity, sexism, racism, bullying, inflammatory remarks, bad taste.
  3. No grade inquiries: make those directly to the instructors.
  4. All students are expected to follow the discussions.
  5. Instructor posts, like in-class announcments, may clarify and even alter assignment specifications.
  6. Use the existing topics. Please don't start new threads.
  7. Only answer questions by other students when you are confident you are both correct and able to craft a helpful explanation.
  8. Questions may of course relate to how best to use tools.
  9. Do not expect instant answers. While answers may often come faster, a 24 hour response cycle is reasonable.
  10. Posts are anonymous one student to another through the Piazza interface.
  11. Posts are archival and individualized for the instructors.

The first item about posting code is actually somewhat subtle and requires all students to use good judgement. On one hand, it is practically impossible to post meaningful questions (or answers) without including examples. Therefore, posting individual commands/derectives/etc. along with explanatory text is essential if the discussion board is to be helpful. However, as should be clear, posts such as "Here is my code for Assignment 3, what is wrong with it?" should never appear on the discussion board. Nor should answers of the form "Here is the code you need to do part 2 of Assignment 3."

This last item deserves additional comment. Please, keep in mind every word you type may be retained and shared by the instructor with others when the instructor determines there is good reason to do so. This should not concern you. It is the nature of a public discussion board that what you type is archival and public. However, understanding the public and personally identifiable nature of the discussion board should help reinforce the comments above about the importance of Professionalism.


No news is good news!