Go up to the main README file (md)
See the CS 2150 online course structure page (md) and also the Spring 2020 Final Exam Information page (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, and the office hours queue
- The announcements, which are posted to the CS 2150 twitter feed: @UVaCS2150
- 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, and our specific class is here; Collab can (maybe?) log you in directly; the Collab tool link is here (again, Collab login required)
- Anonymous feedback
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
- Teaching assistants: get to know your TAs
- 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
- The final course grading metrics (md)
The Documents page (md) has a number of useful parts:
- Useful compiler flags (md)
- GDB command summary (md)
- LLDB command summary (md)
- GDB vs LLDB (md)
- Compilation issues (md)
- Readings (md) in lieu of a textbook
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 13 | Monday | no lab this week | Course introduction | course intro to slide 4.6 |
2 | Jan 15 | Wednesday | Course introduction, 01: C++ | finished course intro; C++ to slide 5.5 | |
3 | Jan 17 | Friday | 01: C++ | C++ to slide 7.9 | |
Jan 20 | Monday | Lab 1: Intro to C++ (md) / Tutorial 1: Intro to UNIX (md) | No class due to MLK day | No class due to MLK day | |
4 | Jan 22 | Wednesday | 01: C++ | C++ to slide 9.19 | |
5 | Jan 24 | Friday | 01: C++ | C++ to slide 10.17 | |
6 | Jan 27 | 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++ to slide 12.10 |
7 | Jan 29 | Wednesday | 01: C++, 02: Lists | finished C++; lists to slide 4.6 | |
8 | Jan 31 | Friday | 02: Lists | lists to slide 6.16 | |
9 | Feb 3 | Monday | Lab 3: Stacks (md) / Tutorial 3: More UNIX, part 1, introduction and sections 1-4 | 02: Lists, 03: Numbers | finished lists; numbers to slide 5.3 |
10 | Feb 5 | Wednesday | 03: Numbers | numbers to slide 8.10 | |
11 | Feb 7 | Friday | 03: Numbers | numbers to slide 9.21 | |
12 | Feb 10 | Monday | Lab 4: Numbers (md) / Tutorial 4: More UNIX, part 2, sections 5-8 | 03: Numbers; 04: Arrays & big-Oh | finished numbers; arrays & big-oh to slide 4.4 |
13 | Feb 12 | Wednesday | 04: Arrays & big-Oh | arrays & big-oh to slide 5.8 (image) | |
14 | Feb 14 | Friday | 04: Arrays & big-Oh | finished arrays & big-Oh | |
Feb 16 | Sunday | Exam 1 review session | |||
15 | Feb 17 | Monday | Exam 1 instead during Tuesday's lab | 05: Trees | trees through slide 5.11 |
16 | Feb 19 | Wednesday | 05: Trees | trees to slide 7.9 | |
17 | Feb 21 | Friday | 05: Trees | trees to slide 7.31 | |
18 | Feb 24 | Monday | Lab 5: Trees (md) / Tutorial 5: make (md) | 05: Trees, 06: Hashes | trees to slide 9.12; hashes to slide 5.5 |
19 | Feb 26 | Wednesday | 06: Hashes | hashes to slide 7.4 (image) | |
20 | Feb 28 | Friday | 06: Hashes | finished hashes | |
21 | Mar 2 | 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) | IBCM to slide 5.15 |
22 | Mar 4 | Wednesday | 07: IBCM (machine language) | IBCM to slide 6.12 | |
23 | Mar 6 | Friday | 07: IBCM (machine language) | finished IBCM; trees from slides 10.1 to the end | |
Mar 9 | Monday | no lab this week due to spring break | No class due to spring break | No class due to spring break | |
Mar 11 | Wednesday | No class due to spring break | No class due to spring break | ||
Mar 13 | Friday | No class due to spring break | No class due to spring break | ||
Mar 16 | Monday | No lab due to UVa’s closure due to the Covid-19 outbreak | No class due to UVa’s closure due to the Covid-19 outbreak | No class due to UVa’s closure due to the Covid-19 outbreak | |
Mar 18 | Wednesday | No class due to UVa’s closure due to the Covid-19 outbreak | No class due to UVa’s closure due to the Covid-19 outbreak | ||
24 | Mar 20 | Friday | 08: Assembly | assembly, slides 1 to 5.6 | |
25 | Mar 23 | Monday | Lab 7: IBCM (md) / Tutorial 7: Shell scripting, part 2 (remainder of here, as described on the tutorials page) | 08: Assembly | assembly, slides 5.6 to 7.3 |
26 | Mar 25 | Wednesday | 08: Assembly | assembly, slides 7.1 to 8.15 | |
27 | Mar 27 | Friday | 08: Assembly | assembly, slides 8.15 to 10.12 | |
28 | Mar 30 | Monday | Lab 8: assembly, part 1 (md) / Tutorial 8: see the information on the tutorials page (md) | 08: Assembly, 09: Advanced C++ | finished assembly; advanced C++ to slide 6.11 |
29 | Apr 1 | Wednesday | 09: Advanced C++ | advanced C++ to slide 8.5 | |
30 | Apr 3 | Friday | 09: Advanced C++, 10: Heaps and Huffman coding | finished advanced C++; heaps & Huffman to slide 6.2 | |
31 | Apr 6 | Monday | Lab 9: assembly, part 2 (md) / Tutorial 9: C (md) | 10: Heaps and Huffman coding | heaps & Huffman, slides 6.2 to 6.16 |
32 | Apr 8 | Wednesday | 10: Heaps and Huffman coding | heaps & Huffman, slides 7.1 to 8.19 | |
33 | Apr 10 | Friday | 10: Heaps and Huffman coding | heaps & Huffman, slides 8.11 to 8.31 | |
34 | Apr 13 | Monday | Lab 10: Huffman coding (md) / (no tutorial) | 10: Heaps and Huffman coding, 11: Graphs | finished heaps & Huffman; graphs to slide 5.2 |
35 | Apr 15 | Wednesday | 11: Graphs | graphs to slide 6.9 | |
36 | Apr 17 | Friday | 11: Graphs | graphs to slide 8.9 | |
37 | Apr 20 | Monday | Lab 11: Graphs (md) | 11: Graphs, 12: Memory | finished graphs; memory to slide 4.9 |
38 | Apr 22 | Wednesday | 12: Memory | finished memory | |
39 | Apr 24 | Friday | (no recorded lecture) | (no recorded lecture) | |
40 | Apr 27 | Monday | (no lab this week) | 13: Esoteric PLs, Course conclusion | finished esoteric PLs; finished course conclusion |
Apr 28? | Tuesday? | Final exam review session | |||
Apr 30 | 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!