Program and Data Representation: CS 2150 Specific Content

Spring 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 Jan 14 Monday no lab this week Course introduction course intro, slides 1 to 3.41 (recording)
2 Jan 16 Wednesday Course introduction, 01: C++ course intro, slides 3.42 to 7.3 (end); C++, slides 1 to 4.9 (recording)
3 Jan 18 Friday 01: C++ C++, slides 4.10 to 7.9 (recording)
Jan 21 Monday Lab 1: Intro to C++ (md) / Tutorial 1: Intro to UNIX (md) No class: MLK day No class: MLK day
4 Jan 23 Wednesday 01: C++
5 Jan 25 Friday 01: C++
6 Jan 28 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 Jan 30 Wednesday 01: C++, 02: Lists
8 Feb 1 Friday 02: Lists
9 Feb 4 Monday Lab 3: Stacks (md) / Tutorial 3: More UNIX, part 1, introduction and sections 1-4 02: Lists
10 Feb 6 Wednesday 03: Numbers
11 Feb 8 Friday 03: Numbers
12 Feb 11 Monday Lab 4: Numbers (md) / Tutorial 4: More UNIX, part 2, sections 5-8 03: Numbers
13 Feb 13 Wednesday 03: Numbers, 04: Arrays & big-Oh
14 Feb 15 Friday 04: Arrays & big-Oh
Feb 17? Sunday? Exam 1 review session
15 Feb 18 Monday Exam 1 instead during Tuesday's lab 04: Arrays & big-Oh, 05: Trees
16 Feb 20 Wednesday 05: Trees
17 Feb 22 Friday 05: Trees
18 Feb 25 Monday Lab 5: Trees (md) / Tutorial 5: make (md) 05: Trees
19 Feb 27 Wednesday 05: Trees
20 Mar 1 Friday 05: Trees, 06: Hashes
21 Mar 4 Monday Lab 6: Hashes (md) / Tutorial 6: Shell scripting, part 1 (part of this link; the specific sections are mentioned on the tutorials page) 06: Hashes
22 Mar 6 Wednesday 06: Hashes
23 Mar 8 Friday 06: Hashes, 07: IBCM (machine language)
Mar 11 Monday No lab this week because of spring break No class: spring break No class: spring break
Mar 13 Wednesday No class: spring break No class: spring break
Mar 15 Friday No class: spring break No class: spring break
24 Mar 18 Monday Lab 7: IBCM (md) / Tutorial 7: Shell scripting, part 2 (remainder of here, as described on the tutorials page) 07: IBCM (machine language)
25 Mar 20 Wednesday 07: IBCM (machine language)
26 Mar 22 Friday 07: IBCM (machine language), 08: Assembly
27 Mar 25 Monday Lab 8: assembly, part 1 (md) / Tutorial 8: see the information on the tutorials page (md) 08: Assembly
28 Mar 27 Wednesday 08: Assembly
29 Mar 29 Friday 08: Assembly
Mar 31? Sunday? Exam 2 review session
30 Apr 1 Monday Exam 2 instead during Tuesday's lab 08: Assembly, 09: Advanced C++
31 Apr 3 Wednesday 09: Advanced C++
32 Apr 5 Friday 09: Advanced C++
33 Apr 8 Monday Lab 9: assembly, part 2 (md) / Tutorial 9: C (md) 10: Heaps and Huffman coding
34 Apr 10 Wednesday 10: Heaps and Huffman coding
35 Apr 12 Friday 10: Heaps and Huffman coding
36 Apr 15 Monday Lab 10: Huffman coding (md) / (no tutorial) 10: Heaps and Huffman coding, 11: Graphs
37 Apr 17 Wednesday 11: Graphs
38 Apr 19 Friday 11: Graphs
39 Apr 22 Monday Lab 11: Graphs (md) 11: Graphs
40 Apr 24 Wednesday 11: Graphs
41 Apr 26 Friday 12: Memory
42 Apr 29 Monday 13: Esoteric PLs, Course conclusion
May 7? Tuesday? Final exam review session
May 9 Thursday 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