Introduction

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 information 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. And they are departmental policy, not whims created by the course instructors.

List of questions

  1. Why the enrollment restrictions?
  2. Will there be space for me in the course?
  3. This is terrible! I pay all this money want to take! Somebody needs to feel my wrath!
  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. I'm a College student, and I can't declare a major yet -- can I enroll anyway?
  8. But I'm a minor -- can I enroll?
  9. I have more questions about the minor
  10. Will you allow me to bypass these rules and enroll when I'm not a major?
  11. Please will you allow me to bypass these rules?
  12. So when can non-majors enroll?
  13. Will you let me into a given lab section, even though it's full?
  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 enrollment restrictions?

There has been a very large demand for CS courses in the last few years. Indeed, enrollment has increased by a factor of ten within the last decade or so. 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 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: Will there be space for me in the course?

Probably. In the past, we have typically been able to enroll all those who wanted into the course. However, those people who were not majors often got their last choice of lab times, and often had to wait until the start of the semester to do so. We want to teach as many as we can, and we try to enroll everybody. However, we obviously cannot predict the future.

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

We completely agree! It is very frustrating to course instructions as well. Feel free to complain. As an FYI, a complaint about this has already been brought straight to the Board of Visitors, so the administration is certainly aware of it. The issue is that the department does not have the capacity to teach more students -- both in terms of faculty to teach and classrooms in which to teach. We are hiring as fast as we can (we hired six (6!) teaching faculty in the summer of 2018). However, UVa is not building any more classrooms, so the bottleneck will still remain for some time.

If you are so inclined, there are people you can e-mail to vent your wrath (although please vent politely), in increasing order of importance: the CS department chair, the SEAS dean, the Provost, UVa's president, the Board of Visitors (but see the previous paragraph), the governor of the state of Virginia, etc.

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

Go declare the major. It is not practical 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: I'm a College student, and I can't declare a major yet -- can I enroll anyway?

Nope. The course instructors have no control over who registers for majors and when. See the answers for the previous few questions as well.

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

Minors do not need the minor (or the course) for graduation, whereas majors do. And we have to service our majors first (as do all departments), they have to come first. So minors are in the "other" category with all non-computing majors.

Question 9: I have more questions about the minor

Please email minoradvisor@cs.virginia.edu.

Question 10: 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 by the department -- so our majors could complete their degree requirements.

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

Still, no.

Question 12: So when can non-majors enroll?

Typically 2-3 weeks after registration starts, the majors-only restrictions are removed. We don't control that stitch, though. You can check on ugrads.cs.virginia.edu, which typically has the link to the document that specifies when the restrictions are removed. Note that an actual person removes those restrictions on those days, and we have no control over when she does it.

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

The lab sections have very specific caps because there are a fixed number of spots in that room. The number of spots is based on how many students the TAs can realistically supprt in a lab section, as well as the 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 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 because 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 -- because 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, they are allowed to be taken at the same time. However, as CS 2102 is a pre-req, we 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. This is also described here.

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

Sure! They are now all kept in a public github repository: https://github.com/uva-cs/pdr. You can also view them at http://uva-cs.github.io/pdr, which allows you to view the HTML files directly. 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 wait list, 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 the nice people in Thorton A122 to swap the two of you. Please understand that we do not have the ability to do any of these actions ourselves.

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.