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)
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
- Course grade explanations (md)
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 1 progress | Lecture 2 progress |
---|---|---|---|---|---|---|
1 | Aug 24 | Wednesday | no lab this week | Course introduction | course intro, slides 1 to 5.3 (recording) | course intro, slides 1 to 5.0 |
2 | Aug 26 | Friday | Course introduction, 01: C++ | course intro, slides 5.4 to 7.2; C++, slides 1 to 4.13 (recording) | course intro, slides 5.0 to 6.1; C++, slides 1 to 6.1 | |
3 | Aug 29 | Monday | Lab 1: Intro to C++ (md) / Tutorial 1: Intro to UNIX (md) | 01: C++ | C++, slides 4.14 to 7.9 (recording) | 01:C++, slides 6.1 to 8.5 |
4 | Aug 31 | Wednesday | 01: C++ | C++, slides 8.1 to 9.19 (recording) | 01:C++, slides 9.1 to 9.17 | |
5 | Sep 2 | Friday | 01: C++ | C++, slides 10.1 to 10.16 (recording) | 01:C++, slides 9.18 to 10.13 | |
6 | Sep 5 | 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 10.17 to 12.7 (recording) | 01:C++, slides 10.13 to 12.4 |
7 | Sep 7 | Wednesday | 01: C++, 02: Lists | C++, slides 12.8 to 13.14 (end); lists, slides 1 to 4.5 (recording) | 01:C++, slides 12.5 to 13.14 | |
8 | Sep 9 | Friday | 02: Lists | lists, slides 4.5 to 6.13 (recording) | lists, slides 1 to 5.10 | |
9 | Sep 12 | Monday | Lab 3: Stacks (md) / Tutorial 3: More UNIX, part 1, introduction and sections 1-4 | 02: Lists, 03: Numbers | lists, slides 6.13 to 9.4 (end); numbers, slides 1 to 5.4 (recording) | lists, slides 6.1 to 7.3 |
10 | Sep 14 | Wednesday | 03: Numbers | numbers, slides 5.5 to 8.9 (recording) | lists, slides 7.4 to 9.4; numbers, slides 1 to 7.4 | |
11 | Sep 16 | Friday | 03: Numbers | numbers, slides 9.1 to 9.15 (recording) | numbers, slides 7.4 to 9.16 | |
12 | Sep 19 | Monday | Lab 4: Numbers (md) / Tutorial 4: More UNIX, part 2, sections 5-8 | 03: Numbers | numbers, slides 9.15 to 9.35 (end) (recording) | numbers, slides 9.15 to 9.35 |
13 | Sep 21 | Wednesday | 04: Arrays & big-Oh | arrays & big-Oh, slides 1 to 5.4 (recording) | Arrays & big-Oh, slides 1 to 5.8 | |
14 | Sep 23 | Friday | 04: Arrays & big-Oh | arrays & big-Oh, slides 5.2 to 5.18 (recording) | Arrays & big-Oh, slides 5.8 to 6.8 | |
Sep 25 | Sunday | Exam 1 review session | ||||
15 | Sep 26 | Monday | Exam 1 instead during Tuesday's lab | 04: Arrays & big-Oh | arrays & big-Oh, slides 5.16 to 6.8 (end); trees, slides 1 to 4.12 (recording) | |
16 | Sep 38 | Wednesday | 05: Trees | trees, slides 4.12 to 5.18 (recording) | ||
17 | Sep 30 | Friday | 05: Trees | trees, slides 5.19 to 7.10 (recording) | ||
Oct 3 | Monday | No lab this week due to fall break | (fall break) | |||
18 | Oct 5 | Wednesday | 05: Trees | trees, slides 7.10 to 7.31 (recording) | ||
19 | Oct 7 | Friday | 05: Trees, 06: Hashes | trees, slides 8.1 to 9.9 (no recording; see note below) | ||
20 | Oct 10 | Monday | Lab 5: Trees (md) / Tutorial 5: make (md) | 06: Hashes | trees, slides 10.1 to 10.10 (end); hashes, slides 1 to 5.7 (recording) | |
21 | Oct 12 | Wednesday | 06: Hashes | hashes, slides 5.8 to 6.6 (recording) | ||
22 | Oct 14 | Friday | 06: Hashes, 07: IBCM (machine language) | hashes, slides 6.7 to 8.4 (recording) | ||
23 | Oct 17 | Monday | Lab 6: Hashes (md) / Tutorial 6: Shell scripting, part 1 (part of this link; the specific sections are mentioned on the tutorials page) | 07: IBCM (machine language) | hashes, slides 8.5 to 8.7 (end); IBCM, slides 1 to 5.11 (recording; see note below) | |
24 | Oct 19 | Wednesday | 07: IBCM (machine language) | IBCM, slides 5.11 to 6.8 (recording) | ||
25 | Oct 21 | Friday | 08: Assembly (assembly language) | IBCM, slides 6.9 to 7.10 (end) (recording) | ||
26 | Oct 24 | Monday | Lab 7: IBCM (md) / Tutorial 7: Shell scripting, part 2 (remainder of here, as described on the tutorials page) | 08: Assembly (assembly language) | 08: Assembly, slides 1 to 4.10 (recording) | |
27 | Oct 26 | Wednesday | 08: Assembly (assembly language) | 08: Assembly, slides 4.10 to 6.6 (recording) | ||
28 | Oct 28 | Friday | 08: Assembly (assembly language) | 08: Assembly, slides 6.6 to 8.14 (recording) | ||
29 | Oct 31 | Monday | Lab 8: assembly, part 1 (md) / Tutorial 8: see the information on the tutorials page (md) | 08: Assembly, 09: Advanced C++ | 08: Assembly, slides 8.15 to 10.19 (recording) | |
30 | Nov 2 | Wednesday | 09: Advanced C++ | 08: Assembly, slides 10.17 to 10.33 (end); 09: Advanced C++, slides 1 to 6.4 (recording) | ||
31 | Nov 4 | Friday | 09: Advanced C++ | 09: Advanced C++, slides 6.4 to 6.22 (recording) | ||
Nov 6 | Sunday | Exam 2 review session | ||||
32 | Nov 7 | Monday | Exam 2 instead during Tuesday's lab | 10: Heaps and Huffman coding | 09: Advanced C++, slides 7 to 8.12 (end); 10: Heaps and Huffman, slides 1 to 4.4 (recording) | |
33 | Nov 9 | Wednesday | 10: Heaps and Huffman coding | 10: Heaps and Huffman, slides 5 to 6.11 (recording) | ||
34 | Nov 11 | Friday | 10: Heaps and Huffman coding | 10: Heaps and Huffman, slides 6.11 to 6.16 (recording) | ||
35 | Nov 14 | Monday | Lab 9: assembly, part 2 (md) / Tutorial 9: C (md) | 10: Heaps and Huffman coding, 11: Graphs | 10: Heaps and Huffman, slides 7.1 to 8.24 (recording) | |
36 | Nov 16 | Wednesday | 11: Graphs | 10: Heaps and Huffman, slides 8.21 to 9.9 (end); 11: Graphs, slides 1 to 4.7 (recording) | ||
37 | Nov 18 | Friday | 11: Graphs | 11: Graphs, slides 4.7 to 6.7 (recording) | ||
38 | Nov 21 | Monday | Lab 10: Huffman coding (md) / (no tutorial) | 11: Graphs | 11: Graphs, slides 6.7 to 7.6 (recording) | |
Nov 23 | Wednesday | (Thanksgiving break) | ||||
Nov 25 | Friday | (Thanksgiving break) | ||||
39 | Nov 28 | Monday | Lab 11: Graphs (md) | 11: Graphs | 11: Graphs, slides 8.1 to 9.15 (recording) | |
40 | Nov 30 | Wednesday | 12: Memory | 12: Memory, slides 1 to 4.12 (recording) | ||
41 | Dec 2 | Friday | 12: Memory | 12: Memory, slides 4.12 to 4.26 (recording) | ||
42 | Dec 5 | Monday | Lab 12: Objective C (md) | 13: Esoteric PLs, Course conclusion | 12: Memory, slides 5.1 to 5.19 (end); 13: Esoteric PLs, slides 1 to 6.13 (end); Course conclusion, slides 1 to 12 (end) (recording) | |
Dec 7 | Wednesday | Final exam review session | ||||
Dec 9 | Friday | Final exam from 7:00 p.m. - 10:00 p.m. in the lecture classroom | Final exam from 7:00 p.m. - 10:00 p.m. in the lecture classroom |
- For October 7th (trees, slides 8.1 to 9.9), there was no recording (since Bloomfield was out of town), and there does not exist a recording from the last year or so that is viable to be used instead
- For October 17th (hashes, slides 8.5 to 8.7 (end); IBCM, slides 1 to 5.11), the last three slides on hashes was not recorded; only the IBCM content was recorded.
None yet!