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
- These tools are the support requests tool and the office hours queue
- 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
- 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
- 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
- Generic review session slide set, which is really just a blank set of slides
- The lectures page (md) has a few pictures of the chalkboard from lecture
- 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 Thursday at noon
- 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
Num | Date | Day of week | Lab & Tutorial (on Tuesday) | Planned topic |
---|---|---|---|---|
1 | Aug 24 | Wednesday | no lab this week | Course introduction |
2 | Aug 26 | Friday | Course introduction, 01: C++ | |
3 | Aug 29 | Monday | Lab 1: Intro to C++ (md) / Tutorial 1: Intro to UNIX (md) | 01: C++ |
4 | Aug 31 | Wednesday | 01: C++ | |
5 | Sep 2 | Friday | 01: C++ | |
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++ |
7 | Sep 7 | Wednesday | 01: C++, 02: Lists | |
8 | Sep 9 | Friday | 02: Lists | |
9 | Sep 12 | Monday | Lab 3: Stacks (md) / Tutorial 3: More UNIX, part 1, introduction and sections 1-4 | 02: Lists, 03: Numbers |
10 | Sep 14 | Wednesday | 03: Numbers | |
11 | Sep 16 | Friday | 03: Numbers | |
12 | Sep 19 | Monday | Lab 4: Numbers (md) / Tutorial 4: More UNIX, part 2, sections 5-8 | 03: Numbers |
13 | Sep 21 | Wednesday | 04: Arrays & big-Oh | |
14 | Sep 23 | Friday | 04: Arrays & big-Oh | |
Sep 25 | Sunday | Exam 1 review session | ||
15 | Sep 26 | Monday | Exam 1 instead during Tuesday's lab | 04: Arrays & big-Oh, 05: Trees |
16 | Sep 28 | Wednesday | 05: Trees | |
17 | Sep 30 | Friday | 05: Trees | |
Oct 3 | Monday | Fall break, so no lab | ||
18 | Oct 5 | Wednesday | 05: Trees | |
19 | Oct 7 | Friday | 05: Trees | |
20 | Oct 10 | Monday | Lab 5: Trees (md) / Tutorial 5: make (md) | 06: Hashes |
21 | Oct 12 | Wednesday | 06: Hashes | |
22 | Oct 14 | Friday | 06: Hashes | |
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) |
24 | Oct 19 | Wednesday | 07: IBCM (machine language) | |
25 | Oct 21 | Friday | 07: IBCM (machine language), 08: Assembly | |
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 |
27 | Oct 26 | Wednesday | 08: Assembly | |
28 | Oct 28 | Friday | 08: Assembly | |
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++ |
30 | Nov 2 | Wednesday | 09: Advanced C++ | |
31 | Nov 4 | Friday | 09: Advanced C++, 10: Heaps and Huffman coding | |
Nov 6 | Sunday | Exam 2 review session | ||
32 | Nov 7 | Monday | Exam 2 instead during Tuesday's lab | 10: Heaps and Huffman coding |
33 | Nov 9 | Wednesday | 10: Heaps and Huffman coding | |
34 | Nov 11 | Friday | 10: Heaps and Huffman coding | |
35 | Nov 14 | Monday | Lab 9: assembly, part 2 (md) / Tutorial 9: C (md) | 10: Heaps and Huffman coding, 11: Graphs |
36 | Nov 16 | Wednesday | 11: Graphs | |
37 | Nov 18 | Friday | 11: Graphs | |
38 | Nov 21 | Monday | Lab 10: Huffman coding (md) / (no tutorial) | 11: Graphs |
Nov 23 | Wednesday | Thanksgiving break | ||
Nov 25 | Friday | Thanksgiving break | ||
39 | Nov 28 | Monday | Lab 11: Graphs (md) | 11: Graphs, 12: Memory |
40 | Nov 30 | Wednesday | 12: Memory | |
41 | Dec 2 | Friday | Extra "buffer" day if we get behind in lecture | |
42 | Dec 5 | Monday | 13: Esoteric PLs, Course conclusion | |
Dec 13? | Tuesday? | Final exam review session | ||
Dec 15 | Thursday | Final exam from 9:00 a.m. - noon | Final exam from 9:00 a.m. - noon |
None yet!