Course Information

Welcome to CSC 210! Understanding the staff's expectations will make this course more engaging, effective, and fun for you. Please post your questions to Piazza so that we can clarify.

(This information is subject to change.)


CSC 210 is a rigorous upper-division course that assumes familiarity with both basic computer science concepts and the pragmatic details of programming in a command-line environment. Its prerequisite is CSC 172, which we will enforce.

Since this is an upper-division course, we will not spoon-feed you everything you need to know. So be prepared to take a lot of initiative to fill in the gaps in your prior knowledge. The staff will be available during lab sessions, office hours, and on Piazza, but it's up to you to proactively seek out help.

This course will focus mainly on server-side backend systems. If you're looking for a basic Web design and development course, we strongly recommend that you take CSC 170 instead.

Course overview and philosophy

Read the welcome page for an overview of this course and its philosophy. This page deals mostly with logistics.

Course Format

We will meet in class twice a week for 75 minutes each.

Lectures will be held each Tuesday. Professor Guo will introduce a new set of concepts for the week in a traditional lecture format. Do the assigned readings beforehand.

Labs will be held each Thursday instead of lecture. The purpose of lab is to get your computer set up and to answer questions about the class project. Bring your laptop, or share one with your project partner(s). Unlike lecture, lab format will be more free-form. Professor Guo will sometimes give code-related tutorials but will not introduce new lecture-style concepts.

Exams will be given in class during certain lab days.

Grading Policy

  • 20% – Exam 1
  • 20% – Exam 2
  • 20% – Exam 3
    • [Update: This will be a 10-minute group oral exam based on the class project.]
  • 40% – Class Project, split into:
    • 5% for each of 5 milestones
    • 3% for final in-class presentation
    • 12% for final report and quality of finished product

60% of your grade will come from three exams, spread evenly throughout the semester. Each will cover one month of course material and assess your declarative knowledge of Web programming fundamentals. There is no cumulative final exam.

The other 40% will come from the semester-long class project, which will assess your procedural knowledge of how to create a Web application that embodies the principles from this course.

Thus, your final grade will reflect both key types of knowledge: declarative (“knowing what”) and procedural (“knowing how”).

[Update: Exam 3 will actually be based on your project, so regular exams will account for only 40% of your grade, and your project will account for 60%.]

There is no hard cutoff for final letter grades. Your grade will be determined by the staff during an end-of-semester grading meeting. We try hard to give everybody the letter grade that they deserve based both on numerical scores and on in-class effort. Thus, this class is graded on a “quasi-curve.” It's not a true curve since we don't mandate a certain set proportion of A's, B's, or C's.

However, we understand that you might be nervous about your final grade. To alleviate this concern, here is our promised worst-case grading scale. If you get above these percentages, then you're guaranteed at least the following letter grades:

  • 95.0% – A
  • 92.0% – A-
  • 85.0% – B
  • 82.0% – B-
  • 75.0% – C

These percentages look high, but that's on purpose. For example, if you get a 97%, then you're guaranteed an A. What about if you get a 91%? Or an 89%? Depending on the results of our grading meeting, we might still give you an A, A-, or B+, but we make no promises. You'll at least get a B, since you're above 85%.

If you end up below the percentage for the grade that you want, don't panic! Remember, this is a worst-case scale, not a hard cutoff. For instance, plenty of students below 95% will still get an A, although those grades are subject to staff discretion. In the rare event that everyone in the class absolutely mastered the material, then we will be delighted to give everyone an A!

What Will Be On The Exams?

Exams will cover material from:

  • Lectures
  • Assigned Readings

If you don't come to lecture and take good notes, then you will be at a severe disadvantage when studying for exams.

Exam questions require deep understanding at a level that is achievable only after you've internalized the nuances of lectures and readings. In other words, it won't just be “fill-in-the-definition” kinds of questions. You will need to think critically and creatively, much like what you will be asked to do in your future jobs where the answers aren't known in advance.

Do I really have to do the assigned readings before each lecture?

Yes, definitely do the assigned readings before coming to lecture each Tuesday. If you don't do the readings, then lecture won't make much sense. Don't worry if you're confused by the readings the first time around. Coming to lecture will help clarify your confusion. And then when you re-read later to study for exams, things will suddenly make sense. There is often no substitute for this sort of “repeated exposure” method of learning.

Laptop, Tablet, and Cell Phone Usage In Class

Our policy for using electronic devices in class is simple: Be considerate of your classmates. We're fine with you using them silently by yourself, and we will sometimes present code-related demos where you are encouraged to follow along.

But remember that you are packed closely together with dozens of other students in the lecture hall. For your classmates who are trying to pay attention in class, it's really distracting to see flashy pictures and videos out of the corner of their eyes. Also, some students might be offended by certain images. So try to stay off of image- or video-heavy sites. Text is much easier to ignore.

Also, device usage sometimes spurs whispered conversations and laughter amongst friends, which can be contagious. Those sounds can distract and break the concentration of your classmates.

All electronic devices are banned during exams.

Academic Honesty Policy

Exams must be taken alone without the assistance of any people, notes, or electronic devices.

The class project is a group project, so you can freely collaborate with your groupmates. We expect you to write most of the code on your own but recognize that it is sometimes useful to copy and paste small snippets from other sources. If you choose to copy small snippets of code, you must attribute the sources appropriately as comments in your code. However, copying large pieces of code or trying to pass off someone else's project components as your own are definitely violations of academic honesty. When in doubt, ask the staff about your specific situation. (This policy is somewhat analogous to citation and plagiarism policies for writing courses.)

If violations occur, it is our duty to take actions according to the University's official academic honesty policy. Do not put us in this position, since it is not pleasant for anyone involved.


CSC 210 Piazza is where all electronic communications occur. It is your responsibility to check Piazza regularly. Email Professor Guo if you cannot activate your account.

If you email the staff, we will probably just tell you to post on Piazza instead so that your classmates can benefit too. You can also post privately so that only the staff sees your message.

Grading Questions

Grading questions may be asked only at Professor Guo's office hours. Do not ask your TAs or post those questions on Piazza.

No Extensions

All project-related due dates are final. Late submissions will receive a 0, since giving special treatment for lateness is not fair to your classmates.

We understand that you're busy with other classes and activities, but this course's due dates are set at the beginning of the semester, so you should manage your time appropriately. And since you are working in a group, it is unlikely that all of your group members will simultaneously miss a deadline.

Finally, in our experience, the best way to address personal issues that affect your academic work is to seek help, either from your peers or via official student support resources (e.g., CARE, Student Support Network).

No Textbook

There is no required textbook. All learning materials will be drawn from freely-available websites.

Last updated: 2014-09-03