Description

Instructor:
Benjamin Say
Office: 256 CS Building
Office Hours: M 2-3 R Noon-1
Email: bsay@cs.colostate.edu
GTA:
Luis Rodriguez
Office: CSB 120 Lab
Office Hours: M 8-10pm, WF 11-1pm
Email: treslar@cs.colostate.edu
Lecture Time and Place:
1:00-1:50, MWF, CSB Room 130
Recitation 1 Time and Place:
9:00-9:50, Tue, CSB 215
Recitation 2 Time and Place:
11:00-11:50, Tue, CSB 215
Recitation 3 Time and Place:
N/A, N/A, N/A

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

Prerequisites

The prerequisite for CT310 is CS165.

Textbook

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. Sign in or create an account at learn.zybooks.com
  3. Enter zyBook code
    COLOSTATECT310SaySpring2019
  4. Subscribe using the code that the bookstore sent you through inclusive access.

Grading

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

Activity Weight
In-Lab Programming Quizzes (4 total) 20%
Group Web Application Project (4 milestones) 40%
Lab Attendance 5%
Lab Assignments 15%
zyBooks 10%
Team Dynamics 5%
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.

As part of web development, a focus on security is important. To illustrate this we will be using student eids instead of CSUIDs for all identifying purposes. You will notice a lab assignment called "security mindset" which will initially be set to 100 points. Points will be deducted for leaking your protected CSUID, especially through e-mail. You should at no time put your CSUID in an e-mail to the instructor or on an assignment. Note, some offices on campus use CSUIDs and you will not be deducted for them leaking such information.

The instructor reserves the right to give spontaneous quizzes in class at any time. Each such quiz will be added to the Lab 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.

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:55 PM on the due date. No late work accepted. Students not having submitted programs receive an automatic zero on the assignment.

Important Dates

First lab quiz Thursday February 21st
Second lab quiz Thursday March 14th
Third lab quiz Thursday April 4th
Fourth Lab Quiz Thursday April 25th
Final Presentations During Registrar-assigned finals slot

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. Excercises introduced in recitation and the completed as homework will generally be graded.

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.

Addendum

No news is good news!