Go up to the main README file (md)
Much of the rest of this git repo is meant to be generic to anybody who has a class such as this one. But this page contains details specific to the CS 2150 version of the course at the University of Virginia.
There are a number of links and other parts of this course that are NOT included in this repository. They are:
- The set of online tools, which can be accessed through Collab or here.
- These tools are: support requests, lab submission, regrades, gradebook, lab extensions, and the office hours queue
- The announcements, which are posted to the CS 2150 twitter feed: @UVaCS2150
- The CS 2150 Google calendar
- Grading guidelines, which are available in the Collab wiki (here is the direct link, although Collab login is required)
- Email list archive, which is a Collab tool (here is the direct link, although Collab login is required)
- Piazza; Collab can log you in directly; the Collab tool link is here (again, Collab login required)
- Anonymous feedback
- The final grading metrics (md)
The parts of this course that are in this repo are:
- Daily announcements slide set
- Course introduction slide set
- Course syllabus (md): the course syllabus
- Lab due dates (md): When the various lab parts are due
- UNIX honor pledge, which needs to be signed by all the students in the course (it is created from a .tex file)
- Generic review session slide set, which is really just a blank set of slides
- Frivolous regrade policy (md) for exams
This is a series of links to the labs and tutorials that are elsewhere in this repository. A bunch of notes:
- The lab parts are all due on specific times throughout the week, as detailed on the lab due dates (md) page
- Each lab is for a given week, which (for sake of argument) we claim starts on a Monday
- Which lab is done on which week is listed below in the semester schedule
- The lab is released the week before, typically on a Wednesday or Thursday
- While a version of the lab will be in this github repo for some time prior, there WILL be modifications to that lab up until the "official" release, which is when it is announced as released on the twitter feed: @UVaCS2150
- All the labs and tutorials can be found on the labs page (md) and the tutorials page (md).
- In particular, these pages have additional details and links not described here
The links in the right-most column link directly to the lecture recording on Collab, and you have to be logged into Collab first before the link will work. Some plugins (such as NoScript) will block that link from working.
Num | Date | Day of week | Lab & Tutorial (on Tue) | Planned topic | Lecture progress |
---|---|---|---|---|---|
1 | Jan 14 | Monday | no lab this week | Course introduction | course intro, slides 1 to 3.41 (recording) |
2 | Jan 16 | Wednesday | Course introduction, 01: C++ | course intro, slides 3.42 to 7.3 (end); C++, slides 1 to 4.9 (recording) | |
3 | Jan 18 | Friday | 01: C++ | C++, slides 4.10 to 7.9 (recording) | |
Jan 21 | Monday | Lab 1: Intro to C++ (md) / Tutorial 1: Intro to UNIX (md) | No class: MLK day | No class: MLK day | |
4 | Jan 23 | Wednesday | 01: C++ | C++, slides 8.1 to 9.19 (recording) | |
5 | Jan 25 | Friday | 01: C++ | C++, slides 9.18 to 11.2 (recording) | |
6 | Jan 28 | Monday | Lab 2: Linked lists (md) / Tutorial 2: LLDB (md) OR Tutorial 2: GDB (md) (see lab 2 for which one to pick) | 01: C++ | C++, slides 11 to 13.14 (end) (recording) |
7 | Jan 30 | Wednesday | 01: C++, 02: Lists | Lists, slides 1 to 5.10 (recording) | |
8 | Feb 1 | Friday | 02: Lists | Lists, slides 6 to 8.9 (recording) | |
9 | Feb 4 | Monday | Lab 3: Stacks (md) / Tutorial 3: More UNIX, part 1, introduction and sections 1-4 | 02: Lists | Lists, slides 9 to 9.4 (end); Numbers, slides 1 to 6.7 (recording) |
10 | Feb 6 | Wednesday | 03: Numbers | Numbers, slides 7 to 9.4 (recording) | |
11 | Feb 8 | Friday | 03: Numbers | Numbers, slides 9.4 to 9.19 (recording) | |
12 | Feb 11 | Monday | Lab 4: Numbers (md) / Tutorial 4: More UNIX, part 2, sections 5-8 | 03: Numbers | Numbers, slides 9.18 to 9.35 (end) (recording) |
13 | Feb 13 | Wednesday | 03: Numbers, 04: Arrays & big-Oh | Arrays & big-Oh, slides 1 to 5.4 (recording) | |
14 | Feb 15 | Friday | 04: Arrays & big-Oh | Arrays & big-Oh, slides 5.4 to 5.22 (recording) | |
Feb 17 | Sunday | Exam 1 review session | (recording) | ||
15 | Feb 18 | Monday | Exam 1 instead during Tuesday's lab | 04: Arrays & big-Oh, 05: Trees | Arrays & big-Oh, slides 5.23 to 6.8 (end); Trees, slides 1 to 4.12 (recording) |
16 | Feb 20 | Wednesday | 05: Trees | Snow day, so no classes | |
17 | Feb 22 | Friday | 05: Trees | Trees, slides 4.12 to 6.15 (recording) | |
18 | Feb 25 | Monday | Lab 5: Trees (md) / Tutorial 5: make (md) | 05: Trees | Trees, slides 7 to 7.31 (recording) |
19 | Feb 27 | Wednesday | 05: Trees | Trees, slides 8.1 to 8.12; Hashes, slides 1 to 5.5 (recording) | |
20 | Mar 1 | Friday | 05: Trees, 06: Hashes | Hashes, slides 5.6 to 6.8 (recording from fall 2018) | |
21 | Mar 4 | Monday | Lab 6: Hashes (md) / Tutorial 6: Shell scripting, part 1 (part of this link; the specific sections are mentioned on the tutorials page) | 06: Hashes | Hashes, slides 7.1 to 8.5 (recording) |
22 | Mar 6 | Wednesday | 06: Hashes | Hashes, slides 8.5 to 8.7 (end); IBCM, slides 1 to 5.11 (recording) | |
23 | Mar 8 | Friday | 06: Hashes, 07: IBCM (machine language) | IBCM, slides 5.11 to 6.6 (recording) | |
Mar 11 | Monday | No lab this week because of spring break | No class: spring break | No class: spring break | |
Mar 13 | Wednesday | No class: spring break | No class: spring break | ||
Mar 15 | Friday | No class: spring break | No class: spring break | ||
24 | Mar 18 | Monday | Lab 7: IBCM (md) / Tutorial 7: Shell scripting, part 2 (remainder of here, as described on the tutorials page) | 07: IBCM (machine language) | IBCM, slides 6.7 to 7.10 (end); Assembly, slides 1 to 4.2 (recording) |
25 | Mar 20 | Wednesday | 07: IBCM (machine language) | Assembly, slides 4.3 to 5.6 (recording) | |
26 | Mar 22 | Friday | 07: IBCM (machine language), 08: Assembly | Assembly, slides 5.7 to 8.14 (recording) | |
27 | Mar 25 | Monday | Lab 8: assembly, part 1 (md) / Tutorial 8: see the information on the tutorials page (md) | 08: Assembly | Assembly, slides 8.15 to 10.16 (recording) |
28 | Mar 27 | Wednesday | 08: Assembly | Assembly, slides 10.17 to 10.33 (end); Trees, slides 9.1 to 9.3 (recording) | |
29 | Mar 29 | Friday | 08: Assembly | Trees, slides 9.3 to 10.10 (end); Advanced C++, slides 1 to 6.4 (recording) | |
Mar 31? | Sunday? | Exam 2 review session | |||
30 | Apr 1 | Monday | Exam 2 instead during Tuesday's lab | 08: Assembly, 09: Advanced C++ | Advanced C++, slides 6.3 to 7.3 (recording) |
31 | Apr 3 | Wednesday | 09: Advanced C++ | Advanced C++, slides 7.3 to 8.12 (end); Heaps & Huffman, slides 1 to 5.5 (recording) | |
32 | Apr 5 | Friday | 09: Advanced C++ | Heaps & Huffman, slides 5.5 to 6.7 (recording) | |
33 | Apr 8 | Monday | Lab 9: assembly, part 2 (md) / Tutorial 9: C (md) | 10: Heaps and Huffman coding | Heaps & Huffman, slides 6.8 to 8.2 (recording) |
34 | Apr 10 | Wednesday | 10: Heaps and Huffman coding | Heaps & Huffman, slides 8.1 to 8.29 (recording) | |
35 | Apr 12 | Friday | 10: Heaps and Huffman coding | Heaps & Huffman, slides 8.30 to 9.9 (end); Graphs, slides 1 to 4.11 (recording) | |
36 | Apr 15 | Monday | Lab 10: Huffman coding (md) / (no tutorial) | 10: Heaps and Huffman coding, 11: Graphs | Graphs, slides 4.11 to 5.9 (recording) |
37 | Apr 17 | Wednesday | 11: Graphs | Graphs, slides 6.1 to 6.14 (recording) | |
38 | Apr 19 | Friday | 11: Graphs | Graphs, slides 7.1 to 9.7 (recording) | |
39 | Apr 22 | Monday | Lab 11: Graphs (md) | 11: Graphs | Graphs, slides 9.7 to 9.15 (end); Memory, slides 1 to 4.9 (recording) |
40 | Apr 24 | Wednesday | 11: Graphs | Memory, slides 4.9 to 5.4 (recording) | |
41 | Apr 26 | Friday | 12: Memory | Memory, slides 5.4 to 5.19 (end); final exam review Q&A (recording) | |
42 | Apr 29 | Monday | 13: Esoteric PLs, Course conclusion | 13: Esoteric PLs, slides 1 to 54 (end); Course conclusion, slides 1 to 12 (end) (recording) | |
May 7? | Tuesday? | Final exam review session | |||
May 9 | Thursday | Final exam from 7:00 p.m. - 10:00 p.m. | Final exam from 7:00 p.m. - 10:00 p.m. |
None, yet
- None yet!