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 conclusion slide set
- Grading 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. Unless otherwise indicated, both lectures stopped at the same point.
Num | Date | Day of week | Lab & Tutorial (on Tue) | Planned topic | Actual lecture progress (and recording) |
---|---|---|---|---|---|
1 | Aug 26 | Wednesday | no lab this week | Course introduction | Course introduction, slides 1 to 42 (recording) |
2 | Aug 28 | Friday | Course introduction, 01: C++ | Course introduction, slides 43 to 58 (end); 01-cpp, slides 1 to 14 (recording) | |
3 | Aug 31 | Monday | Lab 1: Intro to C++ (md) / Tutorial 1: Intro to UNIX (md) | 01: C++ | 01-cpp, slides 15 to 42 (recording) |
4 | Sep 2 | Wednesday | 01: C++ | 01-cpp, slides 43 to 63 (recording) | |
5 | Sep 4 | Friday | 01: C++ | 01-cpp, slides 64 to 79 (recording) | |
6 | Sep 7 | 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++ | 01-cpp, slides 80 to 87 (recording) |
7 | Sep 9 | Wednesday | 01: C++, 02: Lists | 01-cpp, slides 87 to 121 (end) (recording) | |
8 | Sep 11 | Friday | 02: Lists | 02-lists, slides 1 to 27 (recording) | |
9 | Sep 14 | Monday | Lab 3: Stacks (md) / Tutorial 3: More UNIX, part 1, introduction and sections 1-4 | 02: Lists, 03: Numbers | 02-lists, slides 28 to 56 (recording) |
10 | Sep 16 | Wednesday | 03: Numbers | 03: Numbers, slides 1 to 30 (recording) | |
11 | Sep 18 | Friday | 03: Numbers | 03: Numbers, slides 31 to 49 (recording) | |
12 | Sep 21 | Monday | Lab 4: Numbers (md) / Tutorial 4: More UNIX, part 2, sections 5-8 | 03: Numbers | 03: Numbers, slides 50 to 65 (recording) |
13 | Sep 23 | Wednesday | 04: Arrays & big-Oh | 03: Numbers, slides 65 to 73 (end); 04: Arrays & Big-Oh, slides 1 to 15 (recording) | |
14 | Sep 25 | Friday | 04: Arrays & big-Oh | 04: Arrays & Big-Oh, slides 16 to 25 (recording) | |
Sep 27 | Sunday | Exam 1 review session | (recording) | ||
15 | Sep 28 | Monday | Exam 1 instead during Tuesday's lab | 04: Arrays & big-Oh, 05: Trees | 04: Arrays & Big-Oh, slides 26 to 58 (recording) |
16 | Sep 30 | Wednesday | 05: Trees | 05: Trees, slides 1 to 30 (recording) | |
17 | Oct 2 | Friday | 05: Trees | 05: Trees, slides 30 to 64 (recording) | |
Oct 5 | Monday | no lab this week due to fall break | no class (fall break) | No lecture today (fall break) | |
18 | Oct 7 | Wednesday | 05: Trees | 05: Trees, slides 65 to 85 (see below this table for details about the recording) | |
19 | Oct 9 | Friday | 05: Trees | 05: Trees, slides 86 to 99 (recording) | |
20 | Oct 12 | Monday | Lab 5: Trees (md) / Tutorial 5: make (md) | 06: Hashes | 05: Trees, slides 100 to 116 (end); 06: Hashes, slides 1 to 18 (recording) |
21 | Oct 14 | Wednesday | 06: Hashes | 06: Hashes, slides 19 to 36 (recording) | |
22 | Oct 16 | Friday | 06: Hashes, 07: IBCM (machine language) | 06: Hashes, slides 37 to 48 (recording) | |
23 | Oct 19 | 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) | 06: Hashes, slides 49 to 55 (end); 07: IBCM, slides 1 to 18 (recording) |
24 | Oct 21 | Wednesday | 07: IBCM (machine language) | 07: IBCM, slides 15 to 30 (recording) | |
25 | Oct 23 | Friday | 07: IBCM (machine language) | 07: IBCM, slides 30 to 40 (recording) | |
26 | Oct 26 | Monday | Lab 7: IBCM (md) / Tutorial 7: Shell scripting, part 2 (remainder of here, as described on the tutorials page) | 08: x86 (assembly language) | 07: IBCM, slides 40 to 48 (end); 08: x86, slides 1 to 10 (recording) |
27 | Oct 28 | Wednesday | 08: x86 (assembly language) | 08: x86, slides 10 to 31 (recording) | |
28 | Oct 30 | Friday | 08: x86 (assembly language) | 08: x86, slides 31 to 51 (recording) | |
29 | Nov 2 | Monday | Lab 8: x86, part 1 (md) / Tutorial 8: nasm, which is two book chapters: 1 and 2 | 08: x86 (assembly language) | 08: x86, slides 52 to 65 (recording) |
30 | Nov 4 | Wednesday | 08: x86, 09: Advanced C++ | 08: x86, slides 66 to 86 (recording) | |
31 | Nov 6 | Friday | 09: Advanced C++ | 08: x86, slides 87 to 106 (recording) | |
Nov 8 | Sunday | Exam 2 review session | (recording) | ||
32 | Nov 9 | Monday | Exam 2 instead during Tuesday's lab | 09: Advanced C++ | 09: Advanced C++, slides 25 to 46 (recording) |
33 | Nov 11 | Wednesday | 09: Advanced C++, 10: Heaps and Huffman coding | 09: Advanced C++, slides 47 to 65 (end) (recording) | |
34 | Nov 13 | Friday | 10: Heaps and Huffman coding | 10: Heaps and Huffman coding, slides 1 to 15 (recording) | |
35 | Nov 16 | Monday | Lab 9: x86, part 2 (md) / Tutorial 9: C (md) | 10: Heaps and Huffman coding | 10: Heaps and Huffman coding, slides 14 to 29 (recording) |
36 | Nov 18 | Wednesday | 10: Heaps and Huffman coding, 11: Graphs | 10: Heaps and Huffman coding, slides 29 to 46 (recording) | |
37 | Nov 20 | Friday | 11: Graphs | 10: Heaps and Huffman coding, slides 47 to 80 (end) (recording) | |
38 | Nov 23 | Monday | Lab 10: Huffman coding (md) / (no tutorial) | 11: Graphs | 11: Graphs, slides 1 to 26 (recording) |
Nov 25 | Wednesday | no class (Thanksgiving break) | No lecture today (Thanksgiving break) | ||
Nov 27 | Friday | no class (Thanksgiving break) | No lecture today (Thanksgiving break) | ||
39 | Nov 30 | Monday | Lab 11: Graphs (md) / Tutorial 11: doxygen (md) | 11: Graphs | 11: Graphs, slides 27 to 40 and 47 to 55 (recording) |
40 | Dec 2 | Wednesday | 11: Graphs, 12: Memory | 11: Graphs, slides 41 to 46 and 56 to 70 (end); 12: Memory, slides 1 to 8 (recording) | |
41 | Dec 4 | Friday | 12: Memory | 12: Memory, slides 8 to 29 (recording) | |
42 | Dec 7 | Monday | Lab 12: Objective C (md) | 12: Memory, 13: Esoteric PLs, Course conclusion | 12: Memory, slides 30 to 48; 13: Esoteric PLs, slides 1 to 54; Course conclusion, slides 1 to 12 (recording) |
Dec 9 | Wednesday | Final exam review session | (recording) | ||
Dec 11 | Friday | Final exam from 9:00-noon in Gilmer 130 | Final exam from 9:00-noon in Gilmer 130 |
On Wednesday, Ocrober 7th, Mark Floryan covered class, and the lecture was not recorded. What is posted instead are the lectures from last semester (spring 2015) that covered the same material. Because the two semesters were slightly out of sync with each other, the material was covered across two lectures: 05-trees-3-spring-2015, starting at 33:37, and 05-trees-4-spring-2015, ending at 30:57. Because of a difference in the verions of the slide software, the slide numbers won't match up.
None yet!