Program and Data Representation: CS 2150 Specific Content

Fall 2020

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 parts of this course that are in this repo are:

The Documents page (md) has a number of useful parts:


Labs and Tutorials

This is a series of links to the labs and tutorials that are elsewhere in this repository. A bunch of notes:

Semester Schedule


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
1 Aug 26 Wednesday no lab this week Course introduction
2 Aug 28 Friday Course introduction, 01: C++
3 Aug 31 Monday no lab this week 01: C++
4 Sep 2 Wednesday 01: C++
5 Sep 4 Friday 01: C++
6 Sep 7 Monday Lab 1: Intro to C++ (md) / Tutorial 1: Intro to UNIX (md) 01: C++
7 Sep 9 Wednesday 01: C++, 02: Lists
8 Sep 11 Friday 02: Lists
9 Sep 14 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, 03: Numbers
10 Sep 16 Wednesday 03: Numbers
11 Sep 18 Friday 03: Numbers
12 Sep 21 Monday Lab 3: Stacks (md) / Tutorial 3: More UNIX, part 1, introduction and sections 1-4 03: Numbers; 04: Arrays & big-Oh
13 Sep 23 Wednesday 04: Arrays & big-Oh
14 Sep 25 Friday 04: Arrays & big-Oh
15 Sep 28 Monday Lab 4: Numbers (md) / Tutorial 4: More UNIX, part 2, sections 5-8 05: Trees
16 Sep 30 Wednesday 05: Trees
17 Oct 2 Friday 05: Trees
18 Oct 5 Monday Lab 5: Trees (md) / Tutorial 5: make (md) 05: Trees, 06: Hashes
19 Oct 7 Wednesday 06: Hashes
20 Oct 9 Friday 06: Hashes
21 Oct 12 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)
22 Oct 14 Wednesday 07: IBCM (machine language)
23 Oct 16 Friday 07: IBCM (machine language)
24 Oct 19 Monday Lab 7: IBCM (md) / Tutorial 7: Shell scripting, part 2 (remainder of here, as described on the tutorials page) 08: Assembly
25 Oct 21 Wednesday 08: Assembly
26 Oct 23 Friday 08: Assembly
27 Oct 26 Monday Lab 8: assembly, part 1 (md) / Tutorial 8: see the information on the tutorials page (md) 08: Assembly
28 Oct 28 Wednesday 08: Assembly, 09: Advanced C++
29 Oct 30 Friday 09: Advanced C++
30 Nov 2 Monday Lab 9: assembly, part 2 (md) / Tutorial 9: C (md) 09: Advanced C++, 10: Heaps and Huffman coding
31 Nov 4 Wednesday 10: Heaps and Huffman coding
32 Nov 6 Friday 10: Heaps and Huffman coding
33 Nov 9 Monday Lab 10: Huffman coding (md) / (no tutorial) 10: Heaps and Huffman coding
34 Nov 11 Wednesday 10: Heaps and Huffman coding, 11: Graphs
35 Nov 13 Friday 11: Graphs
36 Nov 16 Monday Lab 11: Graphs (md) 11: Graphs
37 Nov 18 Wednesday 11: Graphs, 12: Memory
38 Nov 20 Friday 12: Memory
39 Nov 23 Monday no lab this week 13: Esoteric PLs, Course conclusion

Recording notes

None, yet


Grading Concerns