CS-081: Web Programming

Syllabus

Disclaimer: This syllabus gives the intended structure and requirements for the course, but is subject to variation from semester to semester depending on the dynamics of student-faculty interaction as well as newsworthy events related to the discipline.

Course Objectives

Students who complete this course successfully will be able to:

Instructor

The instructor for the course is Dr. Christopher Vickery. See Dr. Vickery’s Contact Information and Office Hours for that information.

Course Structure and Assessment

Classes and Laboratory Assignments

There are two 75 minute class meetings per week. Attendance will not be taken (except at the beginning of the semester to verify your registration for the course), but students who miss class often will probably fail the course.

The critical component of the course is the laboratory and associated homework assignments. The department provides the laboratory facility and all necessary software for doing the assignments. The laboratory is run as an open lab; you schedule your own time in the lab any time it is open. The computers in the lab are internet accessible, so it is possible to work on them from outside the lab, although even a high-speed network connection is much less efficient than actually being in the lab. An alternative, if you have access to the necessary software, is to do the laboratory assignments on a computer outside the lab and then to transfer the assignment to your account in the lab for final checking and submission.

The class does not meet in the lab, and you will not be tutored on the use of the lab software. Rather, you will be told/shown how to do the assignments, and then will be expected to “learn by doing.” If this seems like a daunting challenge, a good strategy is to find someone in the course to work with and to schedule your lab time so that you and your partner are there at the same time.

While it is all right and even encouraged to collaborate on homework assignments, remember that the sole purpose of the assignments is to help you to master the material in the course. You will receive a little course credit just for handing the assignments in, the vast majority of your course grade will be based on how well you do on the exams, which will test how well you have mastered the concepts and techniques used in the assignments.

You must submit your own solution to each assignment, even if it is substantially similar to someone else’s.

There is a course discussion board for exchanging questions and answers about the assignments with other students in the course. I monitor the discussion board in case no one in the class has an answer. You can also use the discussion board to help prepare for exams.

So there are four resources you can draw on for help in the course:

  1. Attend the classes and do the reading assignments. Get someone’s notes if you miss class.
  2. Work on your assignments with someone else in the course.
  3. Ask me for help when you get stuck, either during class, during office hours, or by email.
  4. Post questions on the discussion board. And answer questions when you can!

You can also ask/google for help from people outside the course, but you need to be careful if you do: people who “know web design” might tell you to do things differently from the way we do them in this course, and learning those alternate techniques, even if they seem to work, won’t help you master the topics being covered in this course.

Expect to spend a lot of time working on the assignments. In themselves, the won’t count much towards your grade in the course, but they are the core of the course, and doing them is the only way to master the material.

Assessing Your Mastery (Exams and Grading)

There will be a midterm and a final exam, each of which will count 40% of your course grade. There is an archive of past exams for the course to let you see my “exam style,” but should not in any way be construed as study-guides for this semester’s exams. Exam questions are a mix of short answer, multiple-choice, and code writing questions. Difficult exams are normally curved to bring the class average up to something in the 75-80 range. (Note: when this happens, class rank on an exam is important.) However, exam scores are never curved downward.

The final exam is cumulative in the sense that you need to remember material from earlier in the course in order to understand some of the questions. But specific questions from the midterm are not repeated on the final.

Assignments are graded on a simple “ok”—“not ok” scale. An “ok” is worth two points and a “not ok” is worth one point towards the assignments portion of your course grade. That means that a perfect score for the assignment part of your course grade (20%) would be 2×n, where n is the number of assignments actually given during the term. It is possible to receive a grade of “good” on an assignment, which counts 3 points. Grades of “good” can offset “not ok” grades or even give you better than full credit for the assignments part of your course grade (i.e., extra credit).

Assignments may be submitted up to one week after the due date for a score of “late ok” (one point) or “late not ok” (half a point). After one week, you can submit an assignment for evaluation and feedback, but it will not earn any points.

Exam and assignment grades become permanent one week after they have been posted, even if there has been a scoring error. Be sure to check that your exam was scored correctly and that the correct grade has been recorded (using the “Show My Grades” form on the course schedule page) as soon as exams are returned.

The College has a standard policy for converting course averages into letter grades, which I follow mechanically, with two exceptions: (a) I calculate course averages to one decimal place and round up instead of working with integers. So, for example, the college policy assigns a grade of B+ to a course average between 87 and 90; I interpret that to mean that any score between 86.5 and 89.5 is a B+. (b) Because a grade of C- (or less) cannot be counted towards the computer science minor, I let my personal judgment (based primarily on class attendance and participation) influence how to handle course grades that are just below 71.5. But I do not automatically raise C– grades to C.

Textbook and Reading Material

The required textbook for the course is Allsopp, J., Developing With Web Standards, New Riders, 2010. ISBN 0-321-64692-4.

The book is written for “anyone who wants to build websites,” but it is not designed as a standard textbook. Rather, it provides good explanations of the material that will also be covered in the class lectures and assignments. It is not self-contained: you will also need other reference material from various sources as you cover the material in the course.

The text has some typographical errors (“errata”), and I have prepared a list of the ones I have found. I suggest you go through the errata list and write in all the needed changes in your copy of the book before you start studying. Let me know if you find more, and I’ll update the list.

Topics

Download CS-081 Course Outline (PDF) for a full outline of the topics to be covered in the course. The table below lists the class meetings planned for the topics, and the associated reading material.

The actual course schedule for this semester, including exam dates and assignments to be handed in, is on this semester’s schedule page.

Classes Topic Reading Assignment
1 Course Introduction and Laboratory Facilities TREE Lab Information, Dreamweaver Setup, Chapter 1
2—4 Web-related Techologies Sections 1-3 of the full course outline
5—7 Text and Links Chapters 2 and 3
8—10 Images and preparing images for the web Chapter 4, Preparing Images For The Web, Using Photoshop To Edit Web Images
11—13 DOM and JavaScript Chapter 7
14 Midterm Exam
15—20 Layout and Positioning Chapter 5
21—22 Lists Chapter 6
23 Tables Chapter 8
24—27 Forms Elements and Form Presentation Chapter 9
28 Dynamic HTML and Dynamic CSS Supplementary Material
Finals Final Exam