Intrudction

This page is meant to answer a number of frequently asked questions regarding the registration for CS 2150: Program and Data Representation. If you are unable to register for the class for one reason or another, this page is for you. If you have already registered for the course, then there will not be any useful inforation for you on this page.

Please understand that the rules for registering for classes are not something that the instructors (including myself) are happy about. These were enacted due to necessity, not because we wanted to do so.

List of questions

  1. Why the Course Caps?
  2. This is terrible! I pay all this money want to take! Somebody needs to feel my wrath!
  3. But didn't the College just give a bunch of resources to the CS department?
  4. What if I plan on majoring in computing, but haven't declared the major yet?
  5. My goal is to double major, but I have not declared computing as my second major yet.
  6. I'm a first-year SEAS student trying to enroll in CS 2150 for the spring. What is my status?
  7. But I'm a minor -- can I enroll?
  8. I have more questions about the minor
  9. Will you allow me to bypass these rules and enroll when I'm not a major?
  10. Please will you allow me to bypass these rules?
  11. So when can non-majors enroll?
  12. Will you let me into a given lab section, even though it's full?
  13. Well, can't I just bring my own computer into lab?
  14. Will you sign a course action form for me?
  15. What about allowing me to register via SIS?
  16. Can I take CS 2102 (Discrete Math) co-req?
  17. Can I get access to the course materials?
  18. How do I swap lab sections?
  19. Can I place out of CS 2110?

 

Questions and Answers

Question 1: Why the Course Caps?

There has been a very large demand for CS courses in the last few years. Indeed, enrollment has increased by a factor of four within the last half decade, while at the same time the number of instructors has gone down by about 1/3. This means that the student-to-instructor ratio has increased by about 600% in the last 5 years.

As a result, the computer science department can no longer service all those students who want to take CS courses. As the courses are required for our majors to graduate, those majors need to get first priority to enroll in those courses, including CS 2150. Once the majors are able to enroll, others (including minors) will be able to enroll, if there is any remaining space.

The way SIS works is that only DECLARED majors will be allowed to enroll initially for most CS courses (including CS 2150). A declared major is anybody who has already declared one of the three computing majors: BA CS (in the College), BS CS (in SEAS), or BS CpE (also in SEAS). Because CS courses are a required part of one of the tracks for Cognitive Science, SIS should also allow them to enroll; however, the number of Cognitive Science majors that can enroll is limited, and once that limit is reached, no more will be able to enroll.

Question 2: This is terrible! I pay all this money for my education, and I should be able to take the coures I want to take! Somebody needs to feel my wrath!

I completely agree! I think it's a disgrace. The problem is that resources at the University are not being distributed correctly, and departments like Computer Science do not have enough resources to teach those who want to take their courses.

If you are so inclined, there are people you can e-mail to vent your wrath (although please vent politely): the CS department chair, the SEAS dean, and the Provost.

Question 3: But didn't the College just give a bunch of resources to the CS department?

Yes, they did! And with those resources, we are able to offer more spots in the courses than we would have been able to offer otherwise. These resources also allows us to accept more BA CS majors than we would have otherwise (there is a registration cap for the major). This is still not enough resources to allow everybody to take the course, so the rule of only declared majors initially registering for these CS courses still stands.

Note that the course restrictions apply to all three computing majors, not just the BA majors.

Question 4: What if I plan on majoring in computing, but haven't declared the major yet?

Go declare the major. It is not pratical for instructors to have to evaluate students on how much they intend to declare the major -- and it's not fair to the other students, as different faculty may use a different means of evaluation. Furthermore, as we have limited space in the course, we have to give priority to currently declared majors. All others have to wait until the registration restrictions are lifted (usually 3-4 weeks after registration opens).

Question 5: My goal is to double major, but I have not declared computing as my second major yet.

Go declare the major, for the same reason as the previous question.

Question 6: I'm a first-year SEAS student trying to enroll in CS 2150 for the spring. What is my status?

Unfortunately, this counts in the non-major category. Currently declared majors need into the class first, as they need the course and are further advanced in their collegiate education (meaning they are beyond their first year). So they get priority. Then the minors. And SEAS does not allow you to declare the major early. Once the registration opens up for everybody, then you can hopefully register.

Question 7: But I'm a minor -- can I enroll?

Minors do not need the minor for graduation, whereas majors do. And we are currently unable to service our majors, who have to come first. So minors are in the "other" category with all non-computing majors.

Question 8: I have more questions about the minor

Please email minoradvisor@cs.virginia.edu.

Question 9: Will you allow me to bypass these rules and enroll when I'm not a major?

No. The rules were set in place for a reason -- so our majors could complete their degree requirements.

Question 10: Please will you allow me to bypass these rules?

Still, no.

Question 11: So when can non-majors enroll?

Typically 2-3 weeks after registration starts, the majors-only restrictions are removed. I don't control that swtich, though.

Question 12: Will you let me into a given lab section, even though it's full?

The lab sections have very specific caps becuase there are a fixed number of computers in that room, as well as a fire marshall limit as to how many people can sit in said room. Thus, the caps can not be exceeded, even by one person.

Question 13: Well, can't I just bring my own computer into lab?

No. For reasons I won't get into here, it's not pratical to have students work on their own computers in the lab room.

Question 14: Will you sign a course action form for me?

No. Under no circumstances will I ever sign a course action form. This is not becuase I am mean-spirited, but because of the terrible way that SIS handles course action forms. In particular, if a course action form is signed, a course subsequently fills up, and then the course action form is turned in (even if months later!), then it will cause the enrollment to exceed the caps for the labs, which is a problem, as discussed above.

Question 15: What about allowing me to register via SIS?

It has the same problem as the course action forms -- becuase of the potential delay in when the registration itself happens, the course enrollment can exceed the course cap.

Question 16: Can I take CS 2102 (Discrete Math) at the same time as CS 2150, even though CS 2102 is a pre-req?

Yes, I allow them to be taken at the same time. However, as CS 210 is a pre-req, I reserve the right to use CS 2102 material throughout the course, including on exams. And if that means that you are unable to answer an exam question due to not knowing the background material, then that is your bad luck. This doesn't happen all that often, though.

Question 17: Can I get access to the course materials?

Sure! They are now all kept in a public github repository: https://github.com/aaronbloomfield/pdr. Enjoy!

Question 18: How do I swap lab sections?

This question assumes you are already enrolled in the course. You are welcome to swap labs with somebody else, or switch into a lab that has free spots. To switch to an open lab, do a lab section swap in SIS -- if you attempt to drop and then re-add the course, you will go to the END of the waitlist, and then you will not be allowed back into the course! And make sure there is room in the destination lab before you try this! To swap with somebody, first post on Piazza to find somebody to switch with (if you are reading this before the semester starts, then wait until the first day of class to post). Once you have found somebody, ask Mary Lane (in Thorton A122) to swap the two of you. Please understand that I do not have the ability to do any of these actions myself.

Question 19: Can I place out of CS 2110?

As mentioned in the Undergraduate Handbook (section 7.3.4), you can place out of CS 2110. This does not give course credit, it only allows you to bypass the pre-requisite. Thus, you must take another CS course of a greater number (i.e., greater than CS 2110) instead, and have your academic advisor enter a SIS exception so that this other course counts in place of CS 2110. For information about the placement exam for CS 2110, please contact the current CS 2110 instructor.