CS 11 / CS 111 Frequently Asked Questions (FAQ)

If you are reading this page, it's probably because we (the CS 11/CS 111 instructors) have sent you a link to it. You might have emailed us a question that would have been answered had you come to the CS 11/CS 111 organizational meeting (OM), which was held at 9 PM in Annenberg 105 on the first Monday of the term. (This was listed on the course schedule at http://registrar.caltech.edu as well.) Or you might have another common question about the course. Please see below for the answer(s) to your question(s). If you email us a question that is answered here, we will email you back a link to this page. Please realize that a lot of students take CS 11/CS 111, and we would rather spend our time making the course awesome than answering unnecessary emails. Thank you for your cooperation!

Web sites of interest

There are several web sites of interest for CS 11 students.

The first is the main Caltech Moodle page, which is located at https://courses.caltech.edu/. You can follow the links to find the CS 11 Moodle pages. There are usually two of these: one "main" CS 11 Moodle page which only exists to host a signup sheet (described below), and the CS 11 Javascript Moodle page (which is not offered every term). Note that other than the CS 11 Javascript track, most CS 11 tracks are not hosted on Moodle. Which brings us to...

The main CS 11 home page is located at http://courses.cms.caltech.edu/cs11/. If you follow the links, you can find individual tracks for the term. For instance, the C track home page is at http://courses.cms.caltech.edu/cs11/material/c/mike/index.html. All the course materials (lectures, assignments, supporting documents) are found there. For the C track, note particularly the "admin" page at http://courses.cms.caltech.edu/cs11/material/c/mike/admin.html, which describes the grading system, who the TAs are, their office hours, and other administrative information.

To submit homework, we use the csman program located at https://csman.cms.caltech.edu.

To apply for a CMS cluster computer account, fill in the online form at http://acctreq.cms.caltech.edu/cgi-bin/request.cgi. You will need a CMS cluster account to log in to csman, and thus to submit homework.

How to get set up

The first thing you need to do is to apply for a CMS cluster account (see the link above), or reactivate your account if you had one but it was deactivated. (Deactivation happens automatically if you don't use the account for a whole term.) See below for more on this.


After that, there is a signup sheet for CS 11 tracks located on the course Moodle page. You get to the course Moodle page by pointing your web browser to http://courses.caltech.edu and following the links to "CS 011" for the current term. You will need to "enroll" in the course Moodle page in order to fill in the signup sheet. We are not going to tell you the enrollment key on a public web site, but it's common knowledge at Caltech, so ask someone else in the course if you don't know, or email us as a last resort. (This is one reason to come to the OM.)

Note that enrolling in the CS 11 Moodle site is not the same as filling out the signup sheet, which is a questionnaire that is located on the Moodle page. (This may seem obvious, but we have had students get confused by this.) this in, you will first need to apply for a CMS cluster computer account (see below).

If you are trying to get set up very late (for instance, the day before add day), the signup sheet may have been taken down. In that case, you should send the instructor of the course an email containing the following information:

Don't send us this information if the signup sheet is still up. However, you may email us to tell us that you have filled out the signup sheet.

Once you've filled out the signup sheet or emailed us the information described above, we will manually add you to the course csman page, usually within a day or two. You may email us if you've already done this and you still can't submit homework a couple of days before the assignment is due.

Once you can submit homework, you should find the track home page to download lectures and to find the assignments and anything else related to the track.

General questions

"What is the difference between CS 11 and CS 111?"

The only difference is that undergraduates take CS 11 and graduate students take CS 111. Otherwise they are identical. In particular, grad students use the same (CS 11) web sites for the tracks as undergraduates.

"Which tracks are being offered this term?"

The tracks for the current term are listed on the signup sheet described above. They are also posted on the main CS 11 home page.

"Is track XXX being offered this term?"

See previous question.

"I really, really, really, really want to take track XXX but it isn't listed on the signup sheet. Can you please, pretty please have this track?"

No. Tracks are picked at the OM. If you feel so strongly about it, we recommend that you attend the OM in the future.

"Can I add CS 11?"

Normally we allow students to add CS 11 in the first two weeks of class without question. After that, we may say no. We definitely are not fond of students who wait until the day before add day (or on add day!) to ask for an add, and we may say no as a result. Very late adds complicate our lives significantly, because we don't get a good idea of how many TAs we will need for the class until after add day.

Also, we won't sign your add card unless you have passed CS 1 or have placed out of it, or have equivalent Caltech programming experience. High school programming classes, in particular, do not qualify you to take CS 11. Also note that you can't take CS 1 and CS 11 concurrently unless you have placed out of CS 1 and are taking it anyway. Please do not try to argue your way around these rules.

"I need you to sign my add card. When are you available?"

Mike Vanier's office hours are on Tuesdays from 2 to 4 PM in Annenberg 110. If you can't make that time, set up an appointment by email.

"What is the section number for the track I want to take?"

The registrar's page at http://registrar.caltech.edu has this information.

"Can you add me to track XXX?"

Fill in the signup sheet described above, and it will be done. However, it is done manually by the instructors, so don't expect it to happen instantly as soon as you fill in the signup sheet. In particular don't wait until the last minute to fill in your information! If you do, you will probably not be added until after the first assignment is due, and you are liable for all late penalties that may result.

"OK then, how do I add myself to track XXX?"

You can't. We have to add you.

"I can't enroll in the CS 11 Moodle page! Help!"

First off, don't try to use "guest access". If you try to enroll but don't see a web page asking for the enrollment key, you are probably using an old web browser that doesn't support the latest Javascript features. We recommend installing the latest version of Google Chrome and using that. If that still fails, come to our office hours.

"Have I missed anything yet?"

If it's the first week, probably not. Later than that, probably. Normally the lectures (if there are any) start in the second week of the term.

"What is the enrollment key for the course Moodle site?"

We don't put that on a website for obvious reasons. Ask your friends.

The CMS cluster

"What is a CMS cluster account?"

It's an account on the computers in the CMS department. You won't actually need to use those computers in all likelihood, but you will need your CMS account to log in to the csman website to submit your homework.

"How do I get a CMS cluster account?"

You fill in form at the link given above. This link is also found on the signup sheet and on the CS 11 website. For instance, the "admin" page of the C track website has this information.

"My CMS cluster account isn't working. Can you fix it/reset my account/reset my password?"

Only the system administrators (i.e. not us) can do that. They are in Annenberg room 112 and work from 9 AM to 5 PM, not counting lunch hour. You should definitely go see them in person. Do not bother emailing them or calling them; they may not return your emails/calls in time.

"Which computer do I use to write the code for the course?"

We very strongly recommend that you use your own computer (laptop) to write all the code for the course. Most tracks will provide you with a virtual machine (VM) on which all the course software has been installed. See below for more about this.

"Can I just use the CMS cluster computers to write my code?"

You might be able to do this, but we don't recommend it. First of all, the CMS cluster computers (in Annenberg room 104) are often in bad shape and are prone to breaking down. Second, we make no effort to install the course software on these machines, so if they happen to have it, it's a coincidence. (Also, it may not be the right version of the course software.) Do yourself a favor and just use your laptop.


"When are the lectures for track XXX being offered?"

That depends on the track. This information may be on the signup sheet (see above). Some tracks may not have lectures. As a last resort, email whoever is teaching the track (you can find this information on the signup sheet). Note that this information is available to anyone who attended the OM.

"I thought the lectures were being held on Mondays at 9 in Annenberg 105! The registrar's page says so!"

The registrar's page only lists the time of the organizational meeting. The registrar doesn't know when our lectures will take place. We don't know when our lectures will be held until after the OM.

"I can't make those lecture times. Can you have them at a different time?"

No. We choose times based on who shows up at the OM and what their availabilities are. However, lecture attendance is optional and all materials are posted on the track websites.

"Where are the course lectures posted?"

That depends on the track. The main CS 11 home page (which is different from the course Moodle page) is at http://courses.cms.caltech.edu/cs11/. Note that it takes a few days before it's updated to reflect the new term.


"What is csman?"

csman is the course grading program (used by several courses, actually). Once the signup sheet has been filled out by almost all the students in the class, we will set up the csman pages for the course. You submit your homework to csman and your grading uploads your grades and comments to that site as well. The URL for csman is http://csman.cms.caltech.edu.

"The course csman page doesn't seem to be working."

If it's the first week or so, it probably hasn't been set up yet. Patience.

"I still don't have access to csman and homework is due. Can I email you my homework?"

NO. Emailed homeworks don't count and will be deleted without notice. You need to get set up properly. If you can't, and an assignment is due soon, let us know about that, but do not email us your assignment.

Virtual machines (VMs)

"What is a virtual machine?"

A virtual machine (also known as a VM) is a way to simulate the operation of a particular kind of operating system (usually some flavor of Linux) on a different operating system (usually Windows or Mac OS X).

Some CS 11 tracks (notably the C track) provide you with a VM which has all of the course software installed, as well as instructions for how to install it. The C track instructions for this are located at http://courses.cms.caltech.edu/cs11/material/c/mike/setup.html.

"How do I set up and use the course virtual machine?"

See the link given above.

"Help! I can't get the course VM working!"

Come see us during our office hours. Don't leave this to the last minute! Some VM problems can take a while to fix.

"Do I have to use the course VM, or can I install the software myself?"

If you are able to install the course software yourself, you don't need to use the VM. However, don't ask us to help you if something goes wrong. We prepare the VM so that we don't have to deal with the peculiarities of installing software on many different operating systems.

Copyright (c) 2018, California Institute of Technology. All rights reserved.