Program and Data Representation: CS 2150 Specific Content

Go up to the main README file (md)

Fall 2022

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

Num Date Day of week Lab & Tutorial (on Tuesday) Planned topic
1 Aug 24 Wednesday no lab this week Course introduction
2 Aug 26 Friday Course introduction, 01: C++
3 Aug 29 Monday Lab 1: Intro to C++ (md) / Tutorial 1: Intro to UNIX (md) 01: C++
4 Aug 31 Wednesday 01: C++
5 Sep 2 Friday 01: C++
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++
7 Sep 7 Wednesday 01: C++, 02: Lists
8 Sep 9 Friday 02: Lists
9 Sep 12 Monday Lab 3: Stacks (md) / Tutorial 3: More UNIX, part 1, introduction and sections 1-4 02: Lists, 03: Numbers
10 Sep 14 Wednesday 03: Numbers
11 Sep 16 Friday 03: Numbers
12 Sep 19 Monday Lab 4: Numbers (md) / Tutorial 4: More UNIX, part 2, sections 5-8 03: Numbers
13 Sep 21 Wednesday 04: Arrays & big-Oh
14 Sep 23 Friday 04: Arrays & big-Oh
Sep 25 Sunday Exam 1 review session
15 Sep 26 Monday Exam 1 instead during Tuesday’s lab 04: Arrays & big-Oh, 05: Trees
16 Sep 28 Wednesday 05: Trees
17 Sep 30 Friday 05: Trees
Oct 3 Monday Fall break, so no lab
18 Oct 5 Wednesday 05: Trees
19 Oct 7 Friday 05: Trees
20 Oct 10 Monday Lab 5: Trees (md) / Tutorial 5: make (md) 06: Hashes
21 Oct 12 Wednesday 06: Hashes
22 Oct 14 Friday 06: Hashes
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)
24 Oct 19 Wednesday 07: IBCM (machine language)
25 Oct 21 Friday 07: IBCM (machine language), 08: Assembly
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
27 Oct 26 Wednesday 08: Assembly
28 Oct 28 Friday 08: Assembly
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++
30 Nov 2 Wednesday 09: Advanced C++
31 Nov 4 Friday 09: Advanced C++, 10: Heaps and Huffman coding
Nov 6 Sunday Exam 2 review session
32 Nov 7 Monday Exam 2 instead during Tuesday’s lab 10: Heaps and Huffman coding
33 Nov 9 Wednesday 10: Heaps and Huffman coding
34 Nov 11 Friday 10: Heaps and Huffman coding
35 Nov 14 Monday Lab 9: assembly, part 2 (md) / Tutorial 9: C (md) 10: Heaps and Huffman coding, 11: Graphs
36 Nov 16 Wednesday 11: Graphs
37 Nov 18 Friday 11: Graphs
38 Nov 21 Monday Lab 10: Huffman coding (md) / (no tutorial) 11: Graphs
Nov 23 Wednesday Thanksgiving break
Nov 25 Friday Thanksgiving break
39 Nov 28 Monday Lab 11: Graphs (md) 11: Graphs, 12: Memory
40 Nov 30 Wednesday 12: Memory
41 Dec 2 Friday Extra “buffer” day if we get behind in lecture
42 Dec 5 Monday 13: Esoteric PLs, Course conclusion
Dec 13? Tuesday? Final exam review session
Dec 15 Thursday Final exam from 9:00 a.m. - noon Final exam from 9:00 a.m. - noon

Grading Concerns

None yet!