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 (last updated 2/2/2016).
The prerequisite for CT310 is CS200.
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.
Here are the formally graded elements of the course and associated weighting:
Activity | Weight |
---|---|
Lecture and Online Notes | 5 % |
Recitation Participation | 5 % |
Recitation Excercises / Homeworks | 10 % |
Quizzes | 15 % |
Projects | 30 % |
Midterms | 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.
Video and Audio for lectures will be recorded and posted to the CT 310 course progress page. Students are strongly encouraged to avoid falling into a habit of not attending lectures and relying solely upon the recordings. Lectures work best for all concerned when students participate. In addition, students must be prepared for the reality that lecture capture may fail. Students will be introduced to an online note taking capability associated with CT 310 and all students will be asked to contribute and graded in part based upon those contributions.
Homeworks and exams will always be done individually and grades assigned on an individual basis. There is a required weekly recitation 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 (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.
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.
First in class midterm | Friday February 24th |
Second in class midterm | Monday April 3rd |
Final Exam | Wednesday May 10th 4:10PM to 6:10PM |
The midterms and final exam will be administered electronically using CANVAS. The will be conducted in CSB 110 with a possibility of some students being asked to use a different room due to capacity limits. 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.
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.
Attendance at lectures will be recorded. However, 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 recitation is required and points will be awarded for attendance. Excercises introduced in recitation and the completed as homework will generally be graded.
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:
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.
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.
The second midterm has been moved to Monday April 3rd and this change is reflected above. (1/18/17 Ross)