1 I need into the course or to switch sections

We have completed all of the section changes and enrollment permissions we were able to accommodate; at this point all seats are controlled by SIS.

2 Which CS 111x should I take?

All of the CS 111x courses provide a full introduction to programming sufficient to take additional CS courses. Students who took all versions perform comparably in CS 2110.

CS 1110
A general section, designed to teach as many students as possible. Most (but not all) who take this course have no prior programming experience.
CS 1111
A general section, tailored for those with some experience but not enough to test out of the course. Has exactly the same assignments, grading, etc, as CS 1110 but meets less often and does not have labs.
CS 1112
Covers the same material as CS 1110/1111, but is organized based on the assumption that none of the students have any prior programming experience. It makes use of several techniques that have been found to be particularly effective for such students, such as an integrated lecture and lab, a different assignment set, required attendance and participation, etc. This comes at the cost of being unable to seat everyone who wants in and being less suited for those with some prior experience.
Placement Test
If you have programmed before, you can likely place out of Introduction to Programming entirely. Placement tests are offered in the CS department offices (Rice 527) with start times from 8:30am until 3:00pm during the first week of class; no appointment is necessary. If you pass the placement test, we advise taking CS 2110 to expand your programming ability further.

3 How do I get off the waitlist?

In order to come off the wait list, there has to be an open seat in both the lecture and lab you are signed up for. If one or the other is not true, then SIS moves on to the next student who has the right combination. Basically, this means switching to a section (or pair of sections) offered at a less-popular time.

See also [I need into the course or to switch section] above.

4 If I’m at waiting list position n, how likely am I to get a seat?

First, we have no control over this at all. It depends entirely on other students dropping the course.

Second, SIS will only tell you your lecture position, but your lab position is typically what matters to getting a seat. Meaning that the waiting list position number stated by SIS is close to meaningless.

In the past, we have had fairly steady drops from the first day of class up to the add deadline, generally with between 5 and 15% turnover. But the variance is high and we cannot predict which labs people will drop out of.

See also [I need into the course or to switch section] above.

5 Will you sign a course action form?

Only for course overload, and only if there are open seats in both the lecture and lab section in question. All other course action form varieties violate room capacity and fire-code limits and will not be approved.

6 Can I switch which lab I’m waiting for?

Yes, by dropping the class and re-adding the appropriate waiting list. Note that this will put you on the back of the waiting list. There is no way to change which lab you are waiting for without moving to the back of that lab’s list.

If the new lab (and lecture) have no waiting list, this will cause you to end up enrolled, not wait-listed.

7 What can I do while on the waiting list?

You are welcome to come to any 1110/1111 lectures, but not to physically come to labs (the first week’s lab being an exception: you may come to that), though attempting the lab activities on your own is encouraged. We hope to also give you the ability to submit assignments while on the waiting list so that when/if you get off you are in no way behind on your work. No promises, though.

8 I just enrolled, why can’t I log in to the Assignments tab?

Collab does not scale well enough for the number of students we have in CS1110, for this reason we use a secondary system for course management. One drawback to this is that the procedure for adding newly-enrolled students is manual. We update the roster once a day.

The only things unique to the assignments tab are the submission procedures and grades (and you have no submitted assignments until after the add deadline). All deadlines and assignment descriptions are reachable from the schedule.

9 My computer died. What do I do?

As this is a programming class, we do expect you to have access to a computer for the duration of the semester. If you are temporarily without a working machine, Python and PyCharm should be installed on publicly available machines in Alderman Library and other locations. Another option is to use on online Python interpreter (such as https://repl.it/languages/python3, https://www.onlinegdb.com/online_python_interpreter, http://www.pythontutor.com/, or others).

We expect you to make regular backups of your code so in the event of a failure you still have access to your assignments. We will not accept a computer failure as a reason to waive a late penalty for an assignment.

We highly suggest you look into using a cloud-based solution to make constant backups of particular directories on your computer, such as UVaBox found at http://its.virginia.edu/box/ or Dropbox found at http://dropbox.com.

If none of the above options work for you, the department has a small number of laptops it can loan out to students enrolled in CS classes. To gain access to one, please see the cs department loaner laptop policy.

10 Can I permanently swap sections?

Not easily…

If all of the following are true:

  • You are swapping into a lecture and lab that both have open seats
  • You have no time conflicts with the new times on your schedule
  • You do not have a financial or other hold

… then you can swap via SIS. In any other case, we’ll need to contact a registrar to make that happen, and it will depend on room availability. See [I need into the course or to switch section] above for how to get us the information needed to put you on our list of people to try to get swapped.

10.1 If you are currently on a waiting list

See Can I switch which lab I’m waiting for above. The same logic applies to lectures.

11 Can I go to different lab section this week?

Due to fire code limits, you cannot attend another lab session, even for just one week. We’re also doing group work, so you need to be there for your team.

If you need to do this because of conflict with another class or test, your other professor should provide you with an alternate time since you have a scheduled university class (this lab) at this time.

Missing one week in general will not affect your grade. Every student can miss one lab with no penalty (and you do not need to make up the work).

12 I’m in the X lecture, can I go to the Y lecture instead?

1111 students can attend an 1110 section on occasion if they like, though doing so will not excuse any missed attendance or participation activities. 1110 students should not attend 1111 lectures due to the size of the classroom. 1110 students can attend a different 1110 section on occasion as well, though if your instructor tracks attendance or participation those need to be done in your lecture, and if the Rice hall lecture fills up we’ll ask those not enrolled in that section to leave.

13 Can I take my test in a different lecture section?

Absolutely not.

14 I have another final exam at the same time as our final exam. What do I do?

The only other courses that have scheduled final exams at our time slot are: CHEM 1420, 1620, 2321 and COMM 3120. If you are in one of those classes, when we get closer to the end of the semester we’ll have a form you’ll fill out to get a separate time. Please do not email us about this before the end of the semester as we will have no other information to tell you.

15 I have travel and will miss the final exam. What do I do?

University policy does not provide any accommodations for travel. If you believe you are an exception, contact your dean; only deans may approve final exam rescheduling.

Know in advance that “I already paid for airline tickets” is not a special case.

16 I have 3 final exams in 24-hours. Can I reschedule my CS1110 final?

The short answer is “no”.

There are some pretty strict policies surrounding final exams, and according to these the course staff cannot allow students to take the final exam at any time besides the officially-scheduled time unless there is approval from the office of the dean of the school offering the course (for us, this is the Engineering School).

The “if I have 3 exams within a 24-hour window then I may reschedule one” comes from an allowance (not a policy) provided for by the College of Arts and Sciences to alleviate congested exam schedules. The Engineering school provides no such allowance, and therefore we cannot reschedule your exam for that reason (even if you are a student in the college).

If one of those 3 exams is a college course, you may have success in getting that one rescheduled.

17 My program handled all the example inputs correctly but still got a 0. Why?

This could be a grading error, but could also be because you hard-coded those specific cases instead of solving the general problem (see the syllabus).

18 What is “hard-coding”?

Wikipedia defines it as “embedding […] an input or configuration data directly into the source code of a program.” In this course, it most commonly appears when students solve the examples but not the general problem.

For example, suppose we ask for “a function called sum that computes the sum of two numbers. For example, sum(2, 3) should give 5 and sum(-1.1, 1.0) should give -0.1.” A correct solution would solve the general problem, like this:

def sum(x, y):
    '''returns the mathematical sum of its arguments'''
    return x + y

Conversely, a solution with the example inputs hard-coded might look like this:

def sum(x, y):
    '''a hard-coded solution that returns the mathematical sum 
        of (2, 3) and (-1.1, 1.0), but not most other values'''
    if x < 0: 
        return -0.1
        return 5

19 My WiFi isn’t working…

UVA makes three different wireless networks available to students. If one is down, try a different one

  1. Cavalier – this network is encrypted (meaning it’s more secure) and tends to be best supported. It should be your default. See ITS’s guide for getting it set up.

  2. Wahoo – this network is unencrypted and also usually unlisted. It also requires you register your device:

    1. See ITS’s page on this network, but especially the device registration page.

    2. You may have to manually enter the name wahoo in your network manager for your computer to find this network.

  3. Welcome – this network is unencrypted and intended for guest use, but you can register as your own guest:

    1. Select the Welcome_to_UVa_Wireless network
    2. Open a browser – you’ll be redirected to this site
    3. Click the button under the “guest” option – you’re registering as your own guest.
    4. Click the small underlined link “Guest Wireless Passcode site.”
    5. Submit (you don’t need to fill out the form unless you want to)
    6. write down the passcode; you’ll have to enter it manually repeatedly.
    7. Back in the page you were looking at during step 4, enter the passcode in the field labeled “Passcode:” and click “Log In”

It is uncommon for all three wireless networks to be down at the same time. In my experience, Welcome_to_UVa_Wireless in particular is almost always up, in part because it is annoying to have to keep entering passcodes so few people use it.

20 Can I make an announcement in CS 1110 or CS 1111?

We get so many of these requests that we cannot grant them all, and to avoid being unfair we generally do not grant any of them. If the announcement is purely academic in nature and there is a compelling reason why Introduction to Programming lecture is the right place to make it, email the professors; but we still make no guarantee we’ll accommodate you.

Raising your hand in class to make an announcement (rather than to ask or answer a question) is unprofessional behavior and will be treated as such.

21 I need more help…

Have you tried office hours? We have a lot of students, but we also have a lot of TAs (and several faculty members) and they are generally the best-qualified and best-prepared help you will find. If you find otherwise, please let your instructor (or Prof Brunelle as the lead instructor) know and we’ll try to improve things.

If that is not working for you, SEAS also offers free tutoring for all of its classes to all students (in SEAS or not); see https://engineering.virginia.edu/current-students/current-undergraduate-students/current-undergrads-tutoring for more.

22 Can I make up a missed lecture or lab?

All lecture and lab activities that are graded are graded on participation and involvement in a group setting, not on final product. As such, if you were not there you missed out on that experience and no make-up is possible.

However, we understand that students may have a week where they cannot participate. Therefore, we will excuse one missed session automatically.

22.1 But I have an exam in another class that conflicts with my lab time

University policy requires courses having evening exams for day-time classes to provide alternative accommodations for SIS-scheduled conflicts, including CS 1110 labs. We will not excuse these absences; please contact your other course’s instructor for an alternative exam time instead.

22.2 But I have a valid excuse

That is the exact kind of thing the one free missed session is intended to cover. No need to tell us about it; the system will excuse it automatically.

22.3 But I already used my automatic excused absence

If you have valid excuses for more than one missed sessions, let us know (typically by telling your TA in the next such session) and we can enter an extra excused absence for you. Note that to get extra excused absences, you need to demonstrate that all of them were beyond your control, even the previously-automatic one.

23 Where can I find previous semesters’ CS1110 pages?

All previous versions are archived and available starting with Spring 2015. If you would like to visit the Spring 2018 course webpage, for example, go to cs1110.cs.virginia.edu/s18. For Fall 2017, go to cs1110.cs.virginia.edu/f17. Etc.