Program and Data Representation: CS 2150 Specific Content

Fall 2015

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. Unless otherwise indicated, both lectures stopped at the same point.

Num Date Day of week Lab & Tutorial (on Tue) Planned topic Actual lecture progress (and recording)
1 Aug 26 Wednesday no lab this week Course introduction Course introduction, slides 1 to 42 (recording)
2 Aug 28 Friday Course introduction, 01: C++ Course introduction, slides 43 to 58 (end); 01-cpp, slides 1 to 14 (recording)
3 Aug 31 Monday Lab 1: Intro to C++ (md) / Tutorial 1: Intro to UNIX (md) 01: C++ 01-cpp, slides 15 to 42 (recording)
4 Sep 2 Wednesday 01: C++ 01-cpp, slides 43 to 63 (recording)
5 Sep 4 Friday 01: C++ 01-cpp, slides 64 to 79 (recording)
6 Sep 7 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++ 01-cpp, slides 80 to 87 (recording)
7 Sep 9 Wednesday 01: C++, 02: Lists 01-cpp, slides 87 to 121 (end) (recording)
8 Sep 11 Friday 02: Lists 02-lists, slides 1 to 27 (recording)
9 Sep 14 Monday Lab 3: Stacks (md) / Tutorial 3: More UNIX, part 1, introduction and sections 1-4 02: Lists, 03: Numbers 02-lists, slides 28 to 56 (recording)
10 Sep 16 Wednesday 03: Numbers 03: Numbers, slides 1 to 30 (recording)
11 Sep 18 Friday 03: Numbers 03: Numbers, slides 31 to 49 (recording)
12 Sep 21 Monday Lab 4: Numbers (md) / Tutorial 4: More UNIX, part 2, sections 5-8 03: Numbers 03: Numbers, slides 50 to 65 (recording)
13 Sep 23 Wednesday 04: Arrays & big-Oh 03: Numbers, slides 65 to 73 (end); 04: Arrays & Big-Oh, slides 1 to 15 (recording)
14 Sep 25 Friday 04: Arrays & big-Oh 04: Arrays & Big-Oh, slides 16 to 25 (recording)
Sep 27 Sunday Exam 1 review session (recording)
15 Sep 28 Monday Exam 1 instead during Tuesday's lab 04: Arrays & big-Oh, 05: Trees 04: Arrays & Big-Oh, slides 26 to 58 (recording)
16 Sep 30 Wednesday 05: Trees 05: Trees, slides 1 to 30 (recording)
17 Oct 2 Friday 05: Trees 05: Trees, slides 30 to 64 (recording)
Oct 5 Monday no lab this week due to fall break no class (fall break) No lecture today (fall break)
18 Oct 7 Wednesday 05: Trees 05: Trees, slides 65 to 85 (see below this table for details about the recording)
19 Oct 9 Friday 05: Trees 05: Trees, slides 86 to 99 (recording)
20 Oct 12 Monday Lab 5: Trees (md) / Tutorial 5: make (md) 06: Hashes 05: Trees, slides 100 to 116 (end); 06: Hashes, slides 1 to 18 (recording)
21 Oct 14 Wednesday 06: Hashes 06: Hashes, slides 19 to 36 (recording)
22 Oct 16 Friday 06: Hashes, 07: IBCM (machine language) 06: Hashes, slides 37 to 48 (recording)
23 Oct 19 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) 06: Hashes, slides 49 to 55 (end); 07: IBCM, slides 1 to 18 (recording)
24 Oct 21 Wednesday 07: IBCM (machine language) 07: IBCM, slides 15 to 30 (recording)
25 Oct 23 Friday 07: IBCM (machine language) 07: IBCM, slides 30 to 40 (recording)
26 Oct 26 Monday Lab 7: IBCM (md) / Tutorial 7: Shell scripting, part 2 (remainder of here, as described on the tutorials page) 08: x86 (assembly language) 07: IBCM, slides 40 to 48 (end); 08: x86, slides 1 to 10 (recording)
27 Oct 28 Wednesday 08: x86 (assembly language) 08: x86, slides 10 to 31 (recording)
28 Oct 30 Friday 08: x86 (assembly language) 08: x86, slides 31 to 51 (recording)
29 Nov 2 Monday Lab 8: x86, part 1 (md) / Tutorial 8: nasm, which is two book chapters: 1 and 2 08: x86 (assembly language) 08: x86, slides 52 to 65 (recording)
30 Nov 4 Wednesday 08: x86, 09: Advanced C++ 08: x86, slides 66 to 86 (recording)
31 Nov 6 Friday 09: Advanced C++ 08: x86, slides 87 to 106 (recording)
Nov 8 Sunday Exam 2 review session (recording)
32 Nov 9 Monday Exam 2 instead during Tuesday's lab 09: Advanced C++ 09: Advanced C++, slides 25 to 46 (recording)
33 Nov 11 Wednesday 09: Advanced C++, 10: Heaps and Huffman coding 09: Advanced C++, slides 47 to 65 (end) (recording)
34 Nov 13 Friday 10: Heaps and Huffman coding 10: Heaps and Huffman coding, slides 1 to 15 (recording)
35 Nov 16 Monday Lab 9: x86, part 2 (md) / Tutorial 9: C (md) 10: Heaps and Huffman coding 10: Heaps and Huffman coding, slides 14 to 29 (recording)
36 Nov 18 Wednesday 10: Heaps and Huffman coding, 11: Graphs 10: Heaps and Huffman coding, slides 29 to 46 (recording)
37 Nov 20 Friday 11: Graphs 10: Heaps and Huffman coding, slides 47 to 80 (end) (recording)
38 Nov 23 Monday Lab 10: Huffman coding (md) / (no tutorial) 11: Graphs 11: Graphs, slides 1 to 26 (recording)
Nov 25 Wednesday no class (Thanksgiving break) No lecture today (Thanksgiving break)
Nov 27 Friday no class (Thanksgiving break) No lecture today (Thanksgiving break)
39 Nov 30 Monday Lab 11: Graphs (md) / Tutorial 11: doxygen (md) 11: Graphs 11: Graphs, slides 27 to 40 and 47 to 55 (recording)
40 Dec 2 Wednesday 11: Graphs, 12: Memory 11: Graphs, slides 41 to 46 and 56 to 70 (end); 12: Memory, slides 1 to 8 (recording)
41 Dec 4 Friday 12: Memory 12: Memory, slides 8 to 29 (recording)
42 Dec 7 Monday Lab 12: Objective C (md) 12: Memory, 13: Esoteric PLs, Course conclusion 12: Memory, slides 30 to 48; 13: Esoteric PLs, slides 1 to 54; Course conclusion, slides 1 to 12 (recording)
Dec 9 Wednesday Final exam review session (recording)
Dec 11 Friday Final exam from 9:00-noon in Gilmer 130 Final exam from 9:00-noon in Gilmer 130

On Wednesday, Ocrober 7th, Mark Floryan covered class, and the lecture was not recorded. What is posted instead are the lectures from last semester (spring 2015) that covered the same material. Because the two semesters were slightly out of sync with each other, the material was covered across two lectures: 05-trees-3-spring-2015, starting at 33:37, and 05-trees-4-spring-2015, ending at 30:57. Because of a difference in the verions of the slide software, the slide numbers won't match up.


Grading Concerns

None yet!