forked from uva-cs/pdr
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
498 lines (498 loc) · 16.9 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>Program and Data Representation: CS 2150 Specific Content</title>
<style type="text/css">
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
div.column{display: inline-block; vertical-align: top; width: 50%;}
</style>
<link rel="stylesheet" href="../markdown.css" />
</head>
<body>
<h1 id="program-and-data-representation-cs-2150-specific-content">Program and Data Representation: CS 2150 Specific Content</h1>
<h2 id="fall-2021">Fall 2021</h2>
<p><a href="../readme.html">Go up to the main README file</a> (<a href="../readme.md">md</a>)</p>
<p>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.</p>
<hr />
<h2 id="links">Links</h2>
<p>There are a number of links and other parts of this course that are <strong>NOT</strong> included in this repository. They are:</p>
<ul>
<li>The set of online tools, which can be accessed through Collab or <a href="https://pegasus.cs.virginia.edu/satori/cs2150-sp2021/">here</a> (not yet ready)
<ul>
<li>These tools are the <a href="https://pegasus.cs.virginia.edu/satori/cs2150-sp2021/tickets/">support requests</a> (not yet ready) tool and the <a href="https://pegasus.cs.virginia.edu/satori/cs2150-sp2021/queue/">office hours queue</a> (not yet ready)</li>
</ul></li>
<li>The announcements, which are posted to the CS 2150 twitter feed: <a href="http://twitter.com/UVaCS2150">@UVaCS2150</a></li>
<li>Email list archive, which is a Collab tool (<a href="https://collab.its.virginia.edu/x/6KjU79">here</a> is the direct link, although Collab login is required)</li>
<li><a href="https://piazza.com/">Piazza</a>; Collab can log you in directly; the Collab tool link is <a href="https://collab.its.virginia.edu/x/yTsZAt">here</a> (again, Collab login required)</li>
<li><a href="https://collab.its.virginia.edu/x/JunIx3">Anonymous feedback</a></li>
<li>All submission of assignments is via Gradescope, which can be accessed through Collab</li>
</ul>
<p>The parts of this course that are in this repo are:</p>
<ul>
<li><a href="daily-announcements.html#/">Daily announcements slide set</a></li>
<li><a href="course-introduction.html#/">Course introduction slide set</a></li>
<li><a href="syllabus.html">Course syllabus</a> (<a href="syllabus.md">md</a>): the course syllabus</li>
<li><a href="gradescope-faq.html">Gradescope FAQ</a> (<a href="gradescope-faq.md">md</a>) for submission questions and answers</li>
<li><a href="tas.html">Teaching assistants</a>: get to know your TAs!</li>
<li><a href="labduedates.html">Lab due dates</a> (<a href="labduedates.md">md</a>): When the various lab parts are due</li>
<li><a href="https://docs.google.com/forms/d/e/1FAIpQLSdBDC7EFLdG068qmyOdjJLp_YFfSIJz8YOM4gdhlyF85voQ5w/viewform">UNIX honor pledge</a>, signed via Google Forms, will need to be signed by all the students in the course</li>
<li><a href="exam-review.html#/">Generic review session slide set</a>, which is really just a blank set of slides</li>
<li>The <a href="lectures/index.html">lectures page</a> (<a href="lectures/index.md">md</a>) has a few pictures of the chalkboard from lecture</li>
<li>The <a href="grades.html">final course grading metrics</a> (<a href="grades.md">md</a>)</li>
</ul>
<p>The <a href="../docs/index.html">Documents page</a> (<a href="../docs/index.md">md</a>) has a number of useful parts:</p>
<ul>
<li><a href="../docs/compiler_flags.html">Useful compiler flags</a> (<a href="../docs/compiler_flags.md">md</a>)</li>
<li><a href="../docs/gdb_summary.html">GDB command summary</a> (<a href="../docs/gdb_summary.md">md</a>)</li>
<li><a href="../docs/lldb_summary.html">LLDB command summary</a> (<a href="../docs/lldb_summary.md">md</a>)</li>
<li><a href="../docs/gdb_vs_lldb.html">GDB vs LLDB</a> (<a href="../docs/gdb_vs_lldb.md">md</a>)</li>
<li><a href="../docs/compilation.html">Compilation issues</a> (<a href="../docs/compilation.md">md</a>)</li>
<li><a href="../docs/readings.html">Readings</a> (<a href="../docs/readings.md">md</a>) in lieu of a textbook</li>
</ul>
<hr />
<h2 id="labs-and-tutorials">Labs and Tutorials</h2>
<p>This is a series of links to the labs and tutorials that are elsewhere in this repository. A bunch of notes:</p>
<ul>
<li>The lab parts are all due on specific times throughout the week, as detailed on the <a href="labduedates.html">lab due dates</a> (<a href="labduedates.md">md</a>) page
<ul>
<li>Each lab is for a given week, which (for sake of argument) we claim starts on a Monday</li>
<li>Which lab is done on which week is listed below in the semester schedule</li>
</ul></li>
<li>The lab is released the week before, typically on a Wednesday or Thursday
<ul>
<li>While a version of the lab will be in this github repo for some time prior, there <strong>WILL</strong> be modifications to that lab up until the “official” release, which is when it is announced as released on the twitter feed: <a href="http://twitter.com/UVaCS2150">@UVaCS2150</a></li>
</ul></li>
<li>All the labs and tutorials can be found on the <a href="../labs/index.html">labs page</a> (<a href="../labs/index.md">md</a>) and the <a href="../tutorials/index.html">tutorials page</a> (<a href="../tutorials/index.md">md</a>).
<ul>
<li>In particular, these pages have additional details and links not described here</li>
</ul></li>
</ul>
<hr />
<h2 id="semester-schedule">Semester Schedule</h2>
<p>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.</p>
<table>
<colgroup>
<col style="width: 7%" />
<col style="width: 7%" />
<col style="width: 7%" />
<col style="width: 31%" />
<col style="width: 18%" />
<col style="width: 28%" />
</colgroup>
<thead>
<tr class="header">
<th>Num</th>
<th>Date</th>
<th>Day of week</th>
<th>Lab & Tutorial (on Tuesday)</th>
<th>Planned topic</th>
<th>Lecture progress</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>1</td>
<td>Aug 25</td>
<td>Wednesday</td>
<td>no lab this week</td>
<td><a href="course-introduction.html#/">Course introduction</a></td>
<td></td>
</tr>
<tr class="even">
<td>2</td>
<td>Aug 27</td>
<td>Friday</td>
<td></td>
<td><a href="course-introduction.html#/">Course introduction</a>, <a href="../slides/01-cpp.html#/">01: C++</a></td>
<td></td>
</tr>
<tr class="odd">
<td>3</td>
<td>Aug 30</td>
<td>Monday</td>
<td><a href="../labs/lab01/index.html">Lab 1: Intro to C++</a> (<a href="../labs/lab01/index.md">md</a>) / <a href="../tutorials/01-intro-unix/index.html">Tutorial 1: Intro to UNIX</a> (<a href="../tutorials/01-intro-unix/index.md">md</a>)</td>
<td><a href="../slides/01-cpp.html#/">01: C++</a></td>
<td></td>
</tr>
<tr class="even">
<td>4</td>
<td>Sep 1</td>
<td>Wednesday</td>
<td></td>
<td><a href="../slides/01-cpp.html#/">01: C++</a></td>
<td></td>
</tr>
<tr class="odd">
<td>5</td>
<td>Sep 3</td>
<td>Friday</td>
<td></td>
<td><a href="../slides/01-cpp.html#/">01: C++</a></td>
<td></td>
</tr>
<tr class="even">
<td>6</td>
<td>Sep 6</td>
<td>Monday</td>
<td><a href="../labs/lab02/index.html">Lab 2: Linked lists</a> (<a href="../labs/lab02/index.md">md</a>) / <a href="../tutorials/02-lldb/index.html">Tutorial 2: LLDB</a> (<a href="../tutorials/02-lldb/index.md">md</a>) <em>OR</em> <a href="../tutorials/02-gdb/index.html">Tutorial 2: GDB</a> (<a href="../tutorials/02-gdb/index.md">md</a>) (see <a href="../labs/lab02/index.html">lab 2</a> for which one to pick)</td>
<td><a href="../slides/01-cpp.html#/">01: C++</a></td>
<td></td>
</tr>
<tr class="odd">
<td>7</td>
<td>Sep 8</td>
<td>Wednesday</td>
<td></td>
<td><a href="../slides/01-cpp.html#/">01: C++</a>, <a href="../slides/02-lists.html#/">02: Lists</a></td>
<td></td>
</tr>
<tr class="even">
<td>8</td>
<td>Sep 10</td>
<td>Friday</td>
<td></td>
<td><a href="../slides/02-lists.html#/">02: Lists</a></td>
<td></td>
</tr>
<tr class="odd">
<td>9</td>
<td>Sep 13</td>
<td>Monday</td>
<td><a href="../labs/lab03/index.html">Lab 3: Stacks</a> (<a href="../labs/lab03/index.md">md</a>) / <a href="../tutorials/03-04-more-unix/index.html">Tutorial 3: More UNIX, part 1</a>, introduction and sections 1-4</td>
<td><a href="../slides/02-lists.html#/">02: Lists</a>, <a href="../slides/03-numbers.html#/">03: Numbers</a></td>
<td></td>
</tr>
<tr class="even">
<td>10</td>
<td>Sep 15</td>
<td>Wednesday</td>
<td></td>
<td><a href="../slides/03-numbers.html#/">03: Numbers</a></td>
<td></td>
</tr>
<tr class="odd">
<td>11</td>
<td>Sep 17</td>
<td>Friday</td>
<td></td>
<td><a href="../slides/03-numbers.html#/">03: Numbers</a></td>
<td></td>
</tr>
<tr class="even">
<td>12</td>
<td>Sep 20</td>
<td>Monday</td>
<td><a href="../labs/lab04/index.html">Lab 4: Numbers</a> (<a href="../labs/lab04/index.md">md</a>) / <a href="../tutorials/03-04-more-unix/index.html">Tutorial 4: More UNIX, part 2</a>, sections 5-8</td>
<td><a href="../slides/03-numbers.html#/">03: Numbers</a></td>
<td></td>
</tr>
<tr class="odd">
<td>13</td>
<td>Sep 22</td>
<td>Wednesday</td>
<td></td>
<td><a href="../slides/04-arrays-bigoh.html#/">04: Arrays & big-Oh</a></td>
<td></td>
</tr>
<tr class="even">
<td>14</td>
<td>Sep 24</td>
<td>Friday</td>
<td></td>
<td><a href="../slides/04-arrays-bigoh.html#/">04: Arrays & big-Oh</a></td>
<td></td>
</tr>
<tr class="odd">
<td></td>
<td>Sep 26</td>
<td>Sunday</td>
<td></td>
<td>Exam 1 review session</td>
<td></td>
</tr>
<tr class="even">
<td>15</td>
<td>Sep 27</td>
<td>Monday</td>
<td>Exam 1 instead during Tuesday’s lab</td>
<td><a href="../slides/04-arrays-bigoh.html#/">04: Arrays & big-Oh</a>, <a href="../slides/05-trees.html#/">05: Trees</a></td>
<td></td>
</tr>
<tr class="odd">
<td>16</td>
<td>Sep 29</td>
<td>Wednesday</td>
<td></td>
<td><a href="../slides/05-trees.html#/">05: Trees</a></td>
<td></td>
</tr>
<tr class="even">
<td>17</td>
<td>Oct 1</td>
<td>Friday</td>
<td></td>
<td><a href="../slides/05-trees.html#/">05: Trees</a></td>
<td></td>
</tr>
<tr class="odd">
<td></td>
<td>Oct 4</td>
<td>Monday</td>
<td><a href="../labs/lab05/index.html">Lab 5: Trees</a> (<a href="../labs/lab05/index.md">md</a>) / <a href="../tutorials/05-make/index.html">Tutorial 5: make</a> (<a href="../tutorials/05-make/index.md">md</a>)</td>
<td><a href="../slides/05-trees.html#/">05: Trees</a></td>
<td></td>
</tr>
<tr class="even">
<td>18</td>
<td>Oct 6</td>
<td>Wednesday</td>
<td></td>
<td><a href="../slides/05-trees.html#/">05: Trees</a></td>
<td></td>
</tr>
<tr class="odd">
<td>19</td>
<td>Oct 8</td>
<td>Friday</td>
<td></td>
<td><a href="../slides/06-hashes.html#/">06: Hashes</a></td>
<td></td>
</tr>
<tr class="even">
<td>20</td>
<td>Oct 11</td>
<td>Monday</td>
<td>no lab this week due to fall break</td>
<td>fall break</td>
<td>no lecture due to fall break</td>
</tr>
<tr class="odd">
<td>21</td>
<td>Oct 13</td>
<td>Wednesday</td>
<td></td>
<td><a href="../slides/06-hashes.html#/">06: Hashes</a></td>
<td></td>
</tr>
<tr class="even">
<td>22</td>
<td>Oct 15</td>
<td>Friday</td>
<td></td>
<td><a href="../slides/06-hashes.html#/">06: Hashes</a></td>
<td></td>
</tr>
<tr class="odd">
<td>23</td>
<td>Oct 18</td>
<td>Monday</td>
<td><a href="../labs/lab06/index.html">Lab 6: Hashes</a> (<a href="../labs/lab06/index.md">md</a>) / Tutorial 6: Shell scripting, part 1 (part of <a href="http://en.wikibooks.org/wiki/Bash_Shell_Scripting">this link</a>; the specific sections are mentioned on the <a href="../tutorials/index.html">tutorials page</a>)</td>
<td><a href="../slides/07-ibcm.html#/">07: IBCM</a> (machine language)</td>
<td></td>
</tr>
<tr class="even">
<td>24</td>
<td>Oct 20</td>
<td>Wednesday</td>
<td></td>
<td><a href="../slides/07-ibcm.html#/">07: IBCM</a> (machine language)</td>
<td></td>
</tr>
<tr class="odd">
<td>25</td>
<td>Oct 22</td>
<td>Friday</td>
<td></td>
<td><a href="../slides/07-ibcm.html#/">07: IBCM</a> (machine language), <a href="../slides/08-assembly-64bit.html#/">08: Assembly</a></td>
<td></td>
</tr>
<tr class="even">
<td>26</td>
<td>Oct 25</td>
<td>Monday</td>
<td><a href="../labs/lab07/index.html">Lab 7: IBCM</a> (<a href="../labs/lab07/index.md">md</a>) / Tutorial 7: Shell scripting, part 2 (remainder of <a href="http://en.wikibooks.org/wiki/Bash_Shell_Scripting">here</a>, as described on the <a href="../tutorials/index.html">tutorials page</a>)</td>
<td><a href="../slides/08-assembly-64bit.html#/">08: Assembly</a></td>
<td></td>
</tr>
<tr class="odd">
<td>27</td>
<td>Oct 27</td>
<td>Wednesday</td>
<td></td>
<td><a href="../slides/08-assembly-64bit.html#/">08: Assembly</a></td>
<td></td>
</tr>
<tr class="even">
<td>28</td>
<td>Oct 29</td>
<td>Friday</td>
<td></td>
<td><a href="../slides/08-assembly-64bit.html#/">08: Assembly</a></td>
<td></td>
</tr>
<tr class="odd">
<td>29</td>
<td>Nov 1</td>
<td>Monday</td>
<td><a href="../labs/lab08-64bit/index.html">Lab 8: assembly, part 1</a> (<a href="../labs/lab08-64bit/index.md">md</a>) / Tutorial 8: see the information on the <a href="../../tutorials/index.html">tutorials page</a> (<a href="../../tutorials.md">md</a>)</td>
<td><a href="../slides/08-assembly-64bit.html#/">08: Assembly</a>, <a href="../slides/09-advanced-cpp.html#/">09: Advanced C++</a></td>
<td></td>
</tr>
<tr class="even">
<td>30</td>
<td>Nov 3</td>
<td>Wednesday</td>
<td></td>
<td><a href="../slides/09-advanced-cpp.html#/">09: Advanced C++</a></td>
<td></td>
</tr>
<tr class="odd">
<td>31</td>
<td>Nov 5</td>
<td>Friday</td>
<td></td>
<td><a href="../slides/09-advanced-cpp.html#/">09: Advanced C++</a>, <a href="../slides/10-heaps-huffman.html#/">10: Heaps and Huffman coding</a></td>
<td></td>
</tr>
<tr class="even">
<td></td>
<td>Nov 7</td>
<td>Sunday</td>
<td></td>
<td>Exam 2 review session</td>
<td></td>
</tr>
<tr class="odd">
<td>32</td>
<td>Nov 8</td>
<td>Monday</td>
<td>Exam 2 instead during Tuesday’s lab</td>
<td><a href="../slides/10-heaps-huffman.html#/">10: Heaps and Huffman coding</a></td>
<td></td>
</tr>
<tr class="even">
<td>33</td>
<td>Nov 10</td>
<td>Wednesday</td>
<td></td>
<td><a href="../slides/10-heaps-huffman.html#/">10: Heaps and Huffman coding</a></td>
<td></td>
</tr>
<tr class="odd">
<td>34</td>
<td>Nov 12</td>
<td>Friday</td>
<td></td>
<td><a href="../slides/10-heaps-huffman.html#/">10: Heaps and Huffman coding</a></td>
<td></td>
</tr>
<tr class="even">
<td>35</td>
<td>Nov 15</td>
<td>Monday</td>
<td><a href="../labs/lab09-64bit/index.html">Lab 9: assembly, part 2</a> (<a href="../labs/lab09/index.md">md</a>) / <a href="../tutorials/09-c/index.html">Tutorial 9: C</a> (<a href="../tutorials/09-c/index.md">md</a>)</td>
<td><a href="../slides/10-heaps-huffman.html#/">10: Heaps and Huffman coding</a>, <a href="../slides/11-graphs.html#/">11: Graphs</a></td>
<td></td>
</tr>
<tr class="odd">
<td>36</td>
<td>Nov 17</td>
<td>Wednesday</td>
<td></td>
<td><a href="../slides/11-graphs.html#/">11: Graphs</a></td>
<td></td>
</tr>
<tr class="even">
<td>37</td>
<td>Nov 19</td>
<td>Friday</td>
<td></td>
<td><a href="../slides/11-graphs.html#/">11: Graphs</a></td>
<td></td>
</tr>
<tr class="odd">
<td>38</td>
<td>Nov 22</td>
<td>Monday</td>
<td><a href="../labs/lab10/index.html">Lab 10: Huffman coding</a> (<a href="../labs/lab10/index.md">md</a>) / (no tutorial)</td>
<td><a href="../slides/11-graphs.html#/">11: Graphs</a></td>
<td></td>
</tr>
<tr class="even">
<td></td>
<td>Nov 24</td>
<td>Wednesday</td>
<td></td>
<td>Thanksgiving break</td>
<td>no lecture due to Thanksgiving break</td>
</tr>
<tr class="odd">
<td></td>
<td>Nov 26</td>
<td>Friday</td>
<td></td>
<td>Thanksgiving break</td>
<td>no lecture due to Thanksgiving break</td>
</tr>
<tr class="even">
<td>39</td>
<td>Nov 29</td>
<td>Monday</td>
<td><a href="../labs/lab11/index.html">Lab 11: Graphs</a> (<a href="../labs/lab11/index.md">md</a>)</td>
<td><a href="../slides/11-graphs.html#/">11: Graphs</a>, <a href="../slides/12-memory.html#/">12: Memory</a></td>
<td></td>
</tr>
<tr class="odd">
<td>40</td>
<td>Dec 1</td>
<td>Wednesday</td>
<td></td>
<td><a href="../slides/12-memory.html#/">12: Memory</a></td>
<td></td>
</tr>
<tr class="even">
<td>41</td>
<td>Dec 3</td>
<td>Friday</td>
<td></td>
<td>Extra “buffer” day if we get behind in lecture</td>
<td></td>
</tr>
<tr class="odd">
<td>42</td>
<td>Dec 6</td>
<td>Monday</td>
<td></td>
<td><a href="../slides/13-esoteric-pls.html#/">13: Esoteric PLs</a>, <a href="course-conclusion.html#/">Course conclusion</a></td>
<td></td>
</tr>
<tr class="even">
<td></td>
<td>Dec 12?</td>
<td>Sunday?</td>
<td></td>
<td>Final exam review session</td>
<td></td>
</tr>
<tr class="odd">
<td></td>
<td>Dec 14</td>
<td>Tuesday</td>
<td>Final exam from 7:00 p.m. - 10:00 p.m.</td>
<td>Final exam from 7:00 p.m. - 10:00 p.m.</td>
<td></td>
</tr>
</tbody>
</table>
<hr />
<h2 id="grading-concerns">Grading Concerns</h2>
<ul>
<li>There will be a 15 <em>percentage</em> point curve on exam 1</li>
</ul>
</body>
</html>