Benjamin Say
Office: 256 CS Building
Office Hours: TH 1-2 (starting 2/22) ; F 10-11; BY APPT.
Aaron Pereira
Office: CSB 120 Lab
Office Hours: T/R 6-8p
Lecture Time and Place:
9:00-9:50, MWF, CSB Room 130
Recitation 1 Time and Place:
9:00-9:50, Tue, CSB 325
Recitation 2 Time and Place:
10:00-10:50, Tue, CSB 325
Recitation 3 Time and Place:
2:00-2:50, Tue, CSB 325

CT 310 is a one semester course on web development. Emphasis is placed on the essentials needed to create fully functional websites including rich graphical content and dynamic content. The course will cover HTML, Cascading Style Sheets and graphical content. Dynamic web pages will be developed using PHP and JavaScript. MySQL and SQLite are introduced for website data management. Asynchronous JavaScript (AJAX) is introduced for fine-grained client-server interaction. Students will develop their own dynamic websites able to manage authentication, transactions and user updates.

This course's web presence has a public side which you are viewing as well as a private side managed through CSU's Canvas system. General information concerning lectures, schedule, assignment posting, etc. are managed through the public side. Student specific information such as grading, quizzes, etc. are managed through Canvas.

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


The prerequisite for CT310 is CS165.


REQUIRED: Learning PHP, MySQL, JavaScript, CSS & HTML5 4th Ed., by Robin Nixon.

This text is available through the CSU bookstore. The author also maintains a textbook related website.

OPTIONAL: If you would like an interactive textbook experience, I have made a zyBook available. You can choose to purchase it if you like. Follow these steps:

  1. Sign in or create an account at
  2. Enter zyBook code
  3. Subscribe


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

Activity Weight
Lecture, Participation, and Online Notes 5 %
Recitation Participation 5 %
Recitation Excercises / Homeworks 10 %
Quizzes 15 %
Projects 30 %
Midterms (2 @ 10% each) 20 %
Final Exam 15 %

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 +/- grades if the instructor so chooses.

Homeworks and exams will always be done individually and grades assigned on an individual basis. There is a required weekly recitation on tuesdays 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. Thursday recitations will consist of optional help desk time and required course exams and quizzes

Projects will be done by teams (pairs) 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.

Late and Makeup Policy

Midterm and Finals: Make-up exams 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 before the start of the exam. Course examination 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. Late assignments submitted within 48 hours of the time required will receive a 10% late penalty. Electronic submission is closed 48 hours after assignments are due; students not having submitted programs receive an automatic zero on the assignment.

Important Dates

First in recitation midterm Thursday February 22th
Second in recitation midterm Thursday April 5th
Final Exam Thursday May 10th 11:50AM to 1:50PM CSB110

The midterms and final exam will be administered electronically using CANVAS. They will be conducted in the alloted thursday recitation time. Details will be made available in advance of the exams. The exams 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 midterm dates is anticipated, the instructor reserves the right to change these dates with a weeks notice.

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 will also be asked to contribute to online notes that accompany each lecture. Contribution to the online notes will be counted as a portion of the lecture participation grade. 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 certain 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. In particular, the discussion board is hosted at Piazza (no link yet). 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!