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 the support requests tool and the office hours queue
- The announcements, which are posted to the CS 2150 twitter feed: @UVaCS2150
- 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
- All submission of assignments is via Gradescope, which can be accessed through Collab
The parts of this course that are in this repo are:
- Daily announcements slide set
- Course introduction slide set
- Lecture period content (md) which is the material used during the lecture periods
- Course syllabus (md): the course syllabus
- Gradescope FAQ (md) for submission questions and answers
- Teaching assistants: get to know your TAs!
- Lab due dates (md): When the various lab parts are due
- UNIX honor pledge, signed via Google Forms, will need to be signed by all the students in the course
- 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) | Posted lecture |
---|---|---|---|---|
1 | Feb 1 | Monday | No lab this week | Course introduction to ??? |
2 | Feb 3 | Wednesday | Course introduction to end, 01: C++ to slide 5.5 | |
3 | Feb 5 | Friday | 01: C++ to slide 8.1 | |
4 | Feb 8 | Monday | No lab this week | 01: C++ to slide 9.19 |
5 | Feb 10 | Wednesday | 01: C++ to slide 10.17 | |
6 | Feb 12 | Friday | 01: C++ to slide 12.10 | |
7 | Feb 15 | Monday | Lab 1: Intro to C++ (md) / Tutorial 1: Intro to UNIX (md) | 01: C++ to end, 02: Lists to slide 4.6 |
Feb 17 | Wednesday | Break day, so no lecture | ||
8 | Feb 19 | Friday | 02: Lists to slide 6.11 | |
9 | Feb 22 | Monday | Lab 2: Linked lists (md) / Tutorial 2: LLDB (md) OR Tutorial 2: GDB (md) (see lab 2 for which one to pick) | 02: Lists to end, 03: Numbers to slide 5.2 |
10 | Feb 24 | Wednesday | 03: Numbers to slide 8.10 | |
11 | Feb 26 | Friday | 03: Numbers to slide 9.21 | |
12 | Mar 1 | Monday | Lab 3: Stacks (md) / Tutorial 3: More UNIX, part 1, introduction and sections 1-4 | 03: Numbers to end; 04: Arrays & big-Oh to slide 4.4 |
13 | Mar 3 | Wednesday | 04: Arrays & big-Oh to slide 5.8 | |
14 | Mar 5 | Friday | 04: Arrays & big-Oh to end | |
15 | Mar 8 | Monday | No lab this week because Tuesday is the break day | 05: Trees to slide 5.11 |
16 | Mar 10 | Wednesday | 05: Trees to slide 7.9 | |
17 | Mar 12 | Friday | 05: Trees to slide 7.31 | |
18 | Mar 15 | Monday | Lab 4: Numbers (md) / Tutorial 4: More UNIX, part 2, sections 5-8 | 05: Trees to slide 9.12, 06: Hashes to slide 5.5 |
19 | Mar 17 | Wednesday | 06: Hashes to slide 7.4 | |
20 | Mar 19 | Friday | 06: Hashes to end | |
21 | Mar 22 | Monday | Lab 5: Trees (md) / Tutorial 5: make (md) | 07: IBCM (machine language) to slide 5.15 |
22 | Mar 24 | Wednesday | 07: IBCM (machine language) to slide 6.12 | |
23 | Mar 26 | Friday | 07: IBCM (machine language) to end; 05: Trees to end | |
Mar 29 | Monday | Lab 6: Hashes (md) / Tutorial 6: Shell scripting, part 1 (part of this link; the specific sections are mentioned on the tutorials page) | Break day, so no lecture | |
24 | Mar 31 | Wednesday | 08: Assembly to slide 5.6 | |
25 | Apr 2 | Friday | 08: Assembly to slide 7.3 | |
26 | Apr 5 | Monday | Lab 7: IBCM (md) / Tutorial 7: Shell scripting, part 2 (remainder of here, as described on the tutorials page) | 08: Assembly to slide 8.15 |
27 | Apr 7 | Wednesday | 08: Assembly to slide 10.12 | |
28 | Apr 9 | Friday | 08: Assembly to end, 09: Advanced C++ to slide 6.11 | |
29 | Apr 12 | Monday | Lab 8: assembly, part 1 (md) / Tutorial 8: assembly (see the information on the tutorials page (md)) | 09: Advanced C++to slide 8.5 |
30 | Apr 14 | Wednesday | 09: Advanced C++ to end, 10: Heaps and Huffman coding to slide 6.2 | |
31 | Apr 16 | Friday | 10: Heaps and Huffman coding to slide 6.16 | |
32 | Apr 19 | Monday | Lab 9: assembly, part 2 (md) / Tutorial 9: C (md) | 10: Heaps and Huffman coding to slide 8.19 |
33 | Apr 21 | Wednesday | 10: Heaps and Huffman coding to slide 8.31 | |
34 | Apr 23 | Friday | 10: Heaps and Huffman coding to end, 11: Graphs to slide 5.3 | |
35 | Apr 26 | Monday | Lab 10: Huffman coding (md) / (no tutorial) | 11: Graphs to slide 6.9 |
36 | Apr 28 | Wednesday | 11: Graphs to slide 8.9 | |
37 | Apr 30 | Friday | 11: Graphs to end, 12: Memory to slide 4.8 | |
38 | May 3 | Monday | Lab 11: Graphs (md) / Tutorial 11: Doxygen | 12: Memory to end |
39 | May 5 | Wednesday | 13: Esoteric PLs to end, Course conclusion to end |
None, yet
- None yet!