Program and Data Representation: CS 2150 Specific Content

Fall 2016

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 1 progress Lecture 2 progress
1 Aug 24 Wednesday no lab this week Course introduction course intro, slides 1 to 5.3 (recording) course intro, slides 1 to 5.0
2 Aug 26 Friday Course introduction, 01: C++ course intro, slides 5.4 to 7.2; C++, slides 1 to 4.13 (recording) course intro, slides 5.0 to 6.1; C++, slides 1 to 6.1
3 Aug 29 Monday Lab 1: Intro to C++ (md) / Tutorial 1: Intro to UNIX (md) 01: C++ C++, slides 4.14 to 7.9 (recording) 01:C++, slides 6.1 to 8.5
4 Aug 31 Wednesday 01: C++ C++, slides 8.1 to 9.19 (recording) 01:C++, slides 9.1 to 9.17
5 Sep 2 Friday 01: C++ C++, slides 10.1 to 10.16 (recording) 01:C++, slides 9.18 to 10.13
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++ C++, slides 10.17 to 12.7 (recording) 01:C++, slides 10.13 to 12.4
7 Sep 7 Wednesday 01: C++, 02: Lists C++, slides 12.8 to 13.14 (end); lists, slides 1 to 4.5 (recording) 01:C++, slides 12.5 to 13.14
8 Sep 9 Friday 02: Lists lists, slides 4.5 to 6.13 (recording) lists, slides 1 to 5.10
9 Sep 12 Monday Lab 3: Stacks (md) / Tutorial 3: More UNIX, part 1, introduction and sections 1-4 02: Lists, 03: Numbers lists, slides 6.13 to 9.4 (end); numbers, slides 1 to 5.4 (recording) lists, slides 6.1 to 7.3
10 Sep 14 Wednesday 03: Numbers numbers, slides 5.5 to 8.9 (recording) lists, slides 7.4 to 9.4; numbers, slides 1 to 7.4
11 Sep 16 Friday 03: Numbers numbers, slides 9.1 to 9.15 (recording) numbers, slides 7.4 to 9.16
12 Sep 19 Monday Lab 4: Numbers (md) / Tutorial 4: More UNIX, part 2, sections 5-8 03: Numbers numbers, slides 9.15 to 9.35 (end) (recording) numbers, slides 9.15 to 9.35
13 Sep 21 Wednesday 04: Arrays & big-Oh arrays & big-Oh, slides 1 to 5.4 (recording) Arrays & big-Oh, slides 1 to 5.8
14 Sep 23 Friday 04: Arrays & big-Oh arrays & big-Oh, slides 5.2 to 5.18 (recording) Arrays & big-Oh, slides 5.8 to 6.8
Sep 25 Sunday Exam 1 review session
15 Sep 26 Monday Exam 1 instead during Tuesday's lab 04: Arrays & big-Oh arrays & big-Oh, slides 5.16 to 6.8 (end); trees, slides 1 to 4.12 (recording)
16 Sep 38 Wednesday 05: Trees trees, slides 4.12 to 5.18 (recording)
17 Sep 30 Friday 05: Trees trees, slides 5.19 to 7.10 (recording)
Oct 3 Monday No lab this week due to fall break (fall break)
18 Oct 5 Wednesday 05: Trees trees, slides 7.10 to 7.31 (recording)
19 Oct 7 Friday 05: Trees, 06: Hashes trees, slides 8.1 to 9.9 (no recording; see note below)
20 Oct 10 Monday Lab 5: Trees (md) / Tutorial 5: make (md) 06: Hashes trees, slides 10.1 to 10.10 (end); hashes, slides 1 to 5.7 (recording)
21 Oct 12 Wednesday 06: Hashes hashes, slides 5.8 to 6.6 (recording)
22 Oct 14 Friday 06: Hashes, 07: IBCM (machine language) hashes, slides 6.7 to 8.4 (recording)
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) hashes, slides 8.5 to 8.7 (end); IBCM, slides 1 to 5.11 (recording; see note below)
24 Oct 19 Wednesday 07: IBCM (machine language) IBCM, slides 5.11 to 6.8 (recording)
25 Oct 21 Friday 08: Assembly (assembly language) IBCM, slides 6.9 to 7.10 (end) (recording)
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 (assembly language) 08: Assembly, slides 1 to 4.10 (recording)
27 Oct 26 Wednesday 08: Assembly (assembly language) 08: Assembly, slides 4.10 to 6.6 (recording)
28 Oct 28 Friday 08: Assembly (assembly language) 08: Assembly, slides 6.6 to 8.14 (recording)
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++ 08: Assembly, slides 8.15 to 10.19 (recording)
30 Nov 2 Wednesday 09: Advanced C++ 08: Assembly, slides 10.17 to 10.33 (end); 09: Advanced C++, slides 1 to 6.4 (recording)
31 Nov 4 Friday 09: Advanced C++ 09: Advanced C++, slides 6.4 to 6.22 (recording)
Nov 6 Sunday Exam 2 review session
32 Nov 7 Monday Exam 2 instead during Tuesday's lab 10: Heaps and Huffman coding 09: Advanced C++, slides 7 to 8.12 (end); 10: Heaps and Huffman, slides 1 to 4.4 (recording)
33 Nov 9 Wednesday 10: Heaps and Huffman coding 10: Heaps and Huffman, slides 5 to 6.11 (recording)
34 Nov 11 Friday 10: Heaps and Huffman coding 10: Heaps and Huffman, slides 6.11 to 6.16 (recording)
35 Nov 14 Monday Lab 9: assembly, part 2 (md) / Tutorial 9: C (md) 10: Heaps and Huffman coding, 11: Graphs 10: Heaps and Huffman, slides 7.1 to 8.24 (recording)
36 Nov 16 Wednesday 11: Graphs 10: Heaps and Huffman, slides 8.21 to 9.9 (end); 11: Graphs, slides 1 to 4.7 (recording)
37 Nov 18 Friday 11: Graphs 11: Graphs, slides 4.7 to 6.7 (recording)
38 Nov 21 Monday Lab 10: Huffman coding (md) / (no tutorial) 11: Graphs 11: Graphs, slides 6.7 to 7.6 (recording)
Nov 23 Wednesday (Thanksgiving break)
Nov 25 Friday (Thanksgiving break)
39 Nov 28 Monday Lab 11: Graphs (md) 11: Graphs 11: Graphs, slides 8.1 to 9.15 (recording)
40 Nov 30 Wednesday 12: Memory 12: Memory, slides 1 to 4.12 (recording)
41 Dec 2 Friday 12: Memory 12: Memory, slides 4.12 to 4.26 (recording)
42 Dec 5 Monday Lab 12: Objective C (md) 13: Esoteric PLs, Course conclusion 12: Memory, slides 5.1 to 5.19 (end); 13: Esoteric PLs, slides 1 to 6.13 (end); Course conclusion, slides 1 to 12 (end) (recording)
Dec 7 Wednesday Final exam review session
Dec 9 Friday Final exam from 7:00 p.m. - 10:00 p.m. in the lecture classroom Final exam from 7:00 p.m. - 10:00 p.m. in the lecture classroom

Recording notes


Grading Concerns

None yet!