Program and Data Representation: CS 2150 Specific Content

Fall 2019

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:


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 Lecture progress
1 Aug 28 Wednesday no lab this week Course introduction Course intro to slide 4.6 (no lecture recording)
2 Aug 30 Friday Course introduction, 01: C++ Course intro to the end; C++ to slide 5.3 (no lecture recording)
3 Sep 2 Monday Lab 1: Intro to C++ (md) / Tutorial 1: Intro to UNIX (md) 01: C++ C++, to slide 8.3 (recording)
4 Sep 4 Wednesday 01: C++ C++ to slide 9.17 (recording)
5 Sep 6 Friday 01: C++ C++ to slide 10.14 (recording)
6 Sep 9 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 11.9 (recording)
7 Sep 11 Wednesday 01: C++, 02: Lists finished C++; Lists to slide 6.4 (recording)
8 Sep 13 Friday 02: Lists
9 Sep 16 Monday Lab 3: Stacks (md) / Tutorial 3: More UNIX, part 1, introduction and sections 1-4 02: Lists, 03: Numbers
10 Sep 18 Wednesday 03: Numbers
11 Sep 20 Friday 03: Numbers
12 Sep 23 Monday Lab 4: Numbers (md) / Tutorial 4: More UNIX, part 2, sections 5-8 03: Numbers
13 Sep 25 Wednesday 04: Arrays & big-Oh
14 Sep 27 Friday 04: Arrays & big-Oh Arrays & big-Oh through 5.10
Sep 29 Sunday Exam 1 review session
15 Sep 30 Monday Exam 1 instead during Tuesday's lab 04: Arrays & big-Oh, 05: Trees Finished Arrays & big-Oh; Trees through 4.12
16 Oct 2 Wednesday 05: Trees
17 Oct 4 Friday 05: Trees
Oct 7 Monday no lab this week due to fall break fall break no lecture due to fall break
18 Oct 9 Wednesday 05: Trees
19 Oct 11 Friday 05: Trees
20 Oct 14 Monday Lab 5: Trees (md) / Tutorial 5: make (md) 06: Hashes
21 Oct 16 Wednesday 06: Hashes
22 Oct 18 Friday 06: Hashes
23 Oct 21 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 23 Wednesday 07: IBCM (machine language)
25 Oct 25 Friday 07: IBCM (machine language), 08: Assembly
26 Oct 28 Monday Lab 7: IBCM (md) / Tutorial 7: Shell scripting, part 2 (remainder of here, as described on the tutorials page) 08: Assembly
27 Oct 30 Wednesday 08: Assembly
28 Nov 1 Friday 08: Assembly
29 Nov 4 Monday Lab 8: assembly, part 1 (md) / Tutorial 8: see the information on the tutorials page (md) 08: Assembly, 09: Advanced C++
30 Nov 6 Wednesday 09: Advanced C++
31 Nov 8 Friday 09: Advanced C++, 10: Heaps and Huffman coding
Nov 10 Sunday Exam 2 review session
32 Nov 11 Monday Exam 2 instead during Tuesday's lab 10: Heaps and Huffman coding
33 Nov 13 Wednesday 10: Heaps and Huffman coding
34 Nov 15 Friday 10: Heaps and Huffman coding
35 Nov 18 Monday Lab 9: assembly, part 2 (md) / Tutorial 9: C (md) 10: Heaps and Huffman coding, 11: Graphs
36 Nov 20 Wednesday 11: Graphs
37 Nov 22 Friday 11: Graphs
38 Nov 25 Monday Lab 10: Huffman coding (md) / (no tutorial) 11: Graphs
Nov 27 Wednesday Thanksgiving break no lecture due to Thanksgiving break
Nov 29 Friday Thanksgiving break no lecture due to Thanksgiving break
39 Dec 2 Monday Lab 11: Graphs (md) 11: Graphs, 12: Memory
40 Dec 4 Wednesday 12: Memory
41 Dec 6 Friday 13: Esoteric PLs, Course conclusion
Dec 7? Saturday? Final exam review session
Dec 9 Monday Final exam from 7:00 p.m. - 10:00 p.m. Final exam from 7:00 p.m. - 10:00 p.m.

Recording notes

None, yet


Grading Concerns