forked from aaronbloomfield/pdr
-
Notifications
You must be signed in to change notification settings - Fork 228
/
course-conclusion.html
191 lines (164 loc) · 7.78 KB
/
course-conclusion.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
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>CS 2150: course-conclusion slide set</title>
<meta name="description" content="A set of slides for a course on Program and Data Representation">
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, minimal-ui">
<link rel="stylesheet" href="../slides/reveal.js/dist/reset.css">
<link rel="stylesheet" href="../slides/reveal.js/dist/reveal.css">
<link rel="stylesheet" href="../slides/reveal.js/dist/theme/black.css" id="theme">
<link rel="stylesheet" href="../slides/css/pdr.css">
<!-- Code syntax highlighting -->
<link rel="stylesheet" href="../slides/reveal.js/plugin/highlight/zenburn.css">
<!-- Printing and PDF exports -->
<script>
var link = document.createElement( 'link' );
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = window.location.search.match( /print-pdf/gi ) ? '../slides/reveal.js/css/print/pdf.scss' : '../slides/reveal.js/css/print/paper.scss';
document.getElementsByTagName( 'head' )[0].appendChild( link );
</script>
<!--[if lt IE 9]>
<script src="../slides/reveal.js/lib/js/html5shiv.js"></script>
<![endif]-->
<style>.reveal li { font-size:93%; line-height:120%; }</style>
</head>
<body>
<div class="reveal">
<!-- Any section element inside of this container is displayed as a slide -->
<div class="slides">
<section data-markdown id="cover"><script type="text/template">
# CS 2150
### Program and Data Representation
<p class='titlep'> </p>
<div class="titlesmall"><p>
<a href="http://www.cs.virginia.edu/~asb">Aaron Bloomfield</a> (aaron@virginia.edu)<br>
<a href="http://github.com/uva-cs/pdr">@github</a> | <a href="index.html">↑</a> | <a href="./course-conclusion.html?print-pdf"><img class="print" width="20" src="../slides/images/print-icon.png" style="top:0px;vertical-align:middle"></a>
</p></div>
<p class='titlep'> </p>
## Course Conclusion
</script></section>
<section data-markdown><script type="text/template">
## Course Objectives
<div style="font-size:67%">
<ul>
<li>Understand program representation from the high-level programming language perspective down to the underlying machine level representation, including: number representation, operations, conditionals, and control structures</li>
<li>Be able to implement basic and advanced abstract data types in C++ including: linked lists, stacks, queues, hash tables, trees, and graphs</li>
<li>Be able to evaluate asymptotic time and space complexity analysis of programs and data structure implementations using Big-O, Big-Omega, and Big-Theta notation and assess the suitability of a data structure for a particular problem</li>
<li>Understand the basic program execution model and the underlying computer hardware and software (fetch-execute cycle, memory hierarchy, operating system, compiler)</li>
<li>Be able to implement basic program control and data structures in an assembly language (loops, conditionals, subroutines and parameter passing modes, arrays)</li>
</div>
</script></section>
<section data-markdown><script type="text/template">
## What was new this semester
- Much better TA-to-student ratio due to the smaller class size
- Very experienced TAs
- A few tweaks and updates to the [github repo](https://github.com/uva-cs/pdr)
- A very small class (about 80 students)
</script></section>
<section>
<h2>Lab comments</h2>
<table class="transparent">
<tr><td><ul>
<li>Lab 1: Intro to C++</li>
<li>Lab 2: Lists</li>
<li>Lab 3: Stacks</li>
<li>Lab 4: Data representation</li>
<li>Lab 5: Trees</li>
<li>Lab 6: Hashes</li>
</ul></td><td style="width:50px"></td><td class="top"><ul>
<li>Lab 7: IBCM</li>
<li>Lab 8: x86 part 1</li>
<li>Lab 9: x86 part 2</li>
<li>Lab 10: Huffman</li>
<li>Lab 11: Graphs</li>
<li><strike>Lab 12: Survey</strike></li>
</td></tr></table>
</section>
<section data-markdown><script type="text/template">
## What didn't work well
- More individual student issues (illness, mental health) than is typical, which was not surprising
- Only one instructor keeping up with all the logistics
- M1 Macs not being able to run x86 assembly
- Gradescope compilation issues due to a reconfiguration on their side
</script></section>
<section data-markdown><script type="text/template">
## CS 2150 Enrollment Graph
![enrollment graph](enrollment.svg)
</script></section>
<section data-markdown><script type="text/template">
## What did work well
- Gradescope as the submission system (even if there were tweaks to be made)
- Especially the support ticket system, even if we were occassionally slow to respond
- The office hours queue system (but not Thursdays)
- An excellent group of undergraduate TAs
- None of the labs had any major issues! W00t!
- Use of the [github repo](https://github.com/uva-cs/pdr), and almost no use of Collab
- Behind-the-scenes stuff: TA management, organization, etc.
</script></section>
<section data-markdown><script type="text/template">
## Did we push too hard?
- We got as many "things are going great" comments as "things are going terrible"
- Part of the issues were the hard labs
- This course is meant to be a lot of work: a gateway into the CS electives
- The goal is to make you work efficiently, not necessarily more
- In hindsight, considering how much you accomplished this semester, was it still too much work?
</script></section>
<section data-markdown><script type="text/template">
## Changes for next semester
- This is the last semester of CS 2150!
- The course content is being split into multiple classes in the new curriculum:
- Data structures into CS 3100 (DSA2)
- Assembly into CS 2130 & 3130 (CSO1 & CSO2, but more so the former)
</script></section>
<section data-markdown><script type="text/template">
## CS 2150 moving forward
- RIP
</script></section>
<section data-markdown><script type="text/template">
## Let us know your comments!
- Please send us your feedback!
- Either by e-mail or anonymously or on the course surveys
- Please fill out the course surveys!
</script></section>
<section>
<h2>Have a great break!</h2>
<img class="stretch" src="http://www.adamfishercox.com/calvinandhobbes/pageimages/laststrip.png" alt="calvin and hobbes" style="width:100%;background-color:white">
</section>
</div>
</div>
<script src="../slides/reveal.js/dist/reveal.js"></script>
<script src="../slides/reveal.js/plugin/zoom/zoom.js"></script>
<script src="../slides/reveal.js/plugin/notes/notes.js"></script>
<script src="../slides/reveal.js/plugin/search/search.js"></script>
<script src="../slides/reveal.js/plugin/markdown/markdown.js"></script>
<script src="../slides/reveal.js/plugin/highlight/highlight.js"></script>
<script src="../slides/reveal.js/plugin/math/math.js"></script>
<!-- You cannot, apparently, include this from another directory, hence why settings.js is reproduced here in full -->
<script>
// Full list of configuration options available here:
// https://github.com/hakimel/reveal.js#configuration
Reveal.initialize({
controlsTutorial: false,
controls: true,
progress: true,
history: true,
slideNumber: true,
transition: 'slide', // none/fade/slide/convex/concave/zoom
hash: true,
math: {
mathjax: 'https://cdn.jsdelivr.net/gh/mathjax/mathjax@2.7.8/MathJax.js',
config: 'TeX-AMS_HTML-full',
// pass other options into `MathJax.Hub.Config()`
TeX: { Macros: { RR: "{\\bf R}" } }
},
// Learn about plugins: https://revealjs.com/plugins/
plugins: [ RevealZoom, RevealNotes, RevealSearch, RevealMarkdown, RevealHighlight, RevealMath ],
});
</script>
</body>
</html>