1 Overview

Welcome! In this course, we have two main goals - to teach you the skill of programming and the art of computer science. Having the ability to write and understand simple programs has become increasingly more important. The concepts and principles you pick up in this class will give you the ability to take an algorithm or problem in your chosen field and write a program that will help you do your job quicker, easier, and more reliably.

1.1 Lecture Sections

Section Time Place Instructor
1110-001 MoWeFr 2–2:50PM Wilson Hall 402 Luther Tychonievich
1110-002 MoWeFr 11–11:50AM Rice Hall 130 Craig Dill
1110-003 MoWeFr 10–10:50AM Wilson Hall 301 Luther Tychonievich
1111 MoWe 2–3:15PM Olsson Hall 009 Craig Dill

1.2 Lab Sections

Section Time Place TAs
1110-102 Th 9:30–10:45AM Olsson 001 Nugent, Phillips, Porto, Tobeason
1110-103 Th 11:00–12:15PM Olsson 001 Khan, Mezher, Phillips, Zhou
1110-101 Th 12:30–1:45PM Olsson 001 Faruk, Gorick, Thompson, Tobeason
1110-104 Th 2:00–3:15PM Olsson 001 Arkalgud, Ravikani, Read, Restifo
1110-105 Th 3:30–4:45PM Olsson 001 Flannery, Myers, Perales, Ross
1110-109 Th 3:30–4:45PM Rice 120 Gatewood, Panlaqui, Quach, Weber
1110-110 Th 3:30–4:45PM Mech 213 Kovach, McNichols, Panetti, Read
1110-106 Th 5:00–6:15PM Olsson 001 Gomez-Wong, Hu, Maimon, Myers
1110-112 Th 5:00–6:30PM Olsson 009 Arkalgud, Barry, Emmons, Kovach, Patel, Sridhar, Warshaw
1110-107
1110-111
Th 6:30–7:45PM Thorton A120 Aldridge, Berry, Gomez-Wong, Hu, Morris, Veasey, Warshaw
1110-108 Th 8:00–9:15PM Olsson 001 Groover, Mezher, Schweitzer
1111 (none) (none) TBA

Note: Due to oddities in how scheduling worked out, 1110-107 and 1110-111 meet in the same place at the same time and are effectively a single lab section in all but section number.

1.3 Swapping Labs and Waiting Lists

If you attempt to swap one section but not the other in SIS, expect to end up on the back of the waiting list for both sections See the FAQ for suggestions on ways around this.

2 Other Introduction to Programming Offerings

CS 1110 and CS 1111 are both general introductions to programming, providing an overview of topics suitable for all majors. There are also other Introduction to Programming offerings at UVa:

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. By contrast, CS 1110 assumes most students have no prior programming experience; CS 1111 assumes all students do have prior programming experience.
CS 1113
Covers the same core material as CS 1110/1111, but is designed for engineers, pulling examples and assignments from common engineering domains and teaching some tools and techniques engineers are likely to find useful.
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); no appointment is necessary. If you pass the placement test, we advise taking CS 2110 to expand your programming ability further.

Two other courses (CS 1120 and a different flavor of CS 1113) present a more mathematical or scientific introduction to computing, but are not being offered this semester.

CS 1511-001 is a different introduction to computer science, having a broader scope of the field as a whole compared to CS 111x’s deeper dive into programming skills.