This repository has been archived by the owner on Jul 4, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 10
/
teaching.html
245 lines (226 loc) · 27.6 KB
/
teaching.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
<!DOCTYPE html>
<html lang="en"><head><meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta property="og:title" content="NEU PRL" />
<meta property="og:description" content="Programming Research Laboratory @ Northeastern&nbsp;University" />
<meta property="og:image" content="img/prl-bg.png" />
<title>Teaching - Programming Research Laboratory - Northeastern University</title>
<!-- Bootstrap -->
<link href="css/bootstrap.min.css" rel="stylesheet" />
<!-- Custom css -->
<link href="css/custom.css" rel="stylesheet" />
<!-- Fonts -->
<link href="https://fonts.googleapis.com/css?family=Ubuntu:300" rel="stylesheet" type="text/css" />
<link href="https://fonts.googleapis.com/css?family=PT+Sans" rel="stylesheet" type="text/css" />
<!-- For IE 9 and below. ICO should be 32x32 pixels in size -->
<!-- [if IE]><link rel="shortcut icon" href="img/favicon.ico"><![endif] -->
<!-- Firefox, Chrome, Safari, IE 11+ and Opera. 196x196 pixels in size. -->
<link rel="icon" href="img/favicon.png" />
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!-- [if lt IE 9] -->
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<!-- <![endif] --> </head>
<body id="pn-top"><nav class="navbar navbar-inverse"><div class="container"><div class="row"><div class="navbar-header"><button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar"><span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span></button></div>
<div id="navbar" class="navbar-collapse collapse"><ul class="nav navbar-nav"><li role="presentation"><a href="./">Home</a></li><li role="presentation"><a href="people.html">People</a></li><li role="presentation" class="active"><a href="#">Teaching</a></li><li role="presentation"><a href="seminars.html">Seminars</a></li><li role="presentation"><a href="software.html">Software</a></li><li role="presentation"><a href="publications.html">Publications</a></li><li role="presentation"><a href="new-members.html">New Members</a></li><li role="presentation"><a href="contact.html">Contact</a></li><li role="presentation"><a href="blog/index.html">Blog</a></li></ul> </div></div></div></nav>
<div class="jumbotron subpages"><div class="container"><div class="row"><div class="col-md-12"><h1>Teaching</h1></div></div></div></div>
<div class="pn-main-wrapper"><div class="content"> <div class="container"><div class="row"><p>PRL Faculty & Staff write academic <a href="#books1">books</a>, teach <a href="#courses">courses</a>, and write <a href="#books2">more books</a>.</p></div></div>
<div class="pn-separator-img-short"></div>
<div class="container"><a name="#books1" id="books1"></a>
<div class="row"><div class="col-md-12"><div class="col-md-4"><span class="how-to-design-programs">H<br />o<br />w<br /> <br />t<br />o<br /> <br />D<br />e<br />s<br />i<br />g<br />n</span>
<p><img src="img/how-to-design-programs.jpg" alt="How to Design Programs" /> <br /> <span class="how-to-design-programs-2">Programs</span></p></div>
<div class="col-md-8"><p><i>How To Design Programs</i> focuses on the program design process,
distinguishing it from other introductory books.
This approach fosters a variety of skills --- critical reading,
analytical thinking, creative synthesis, and attention to detail.
On the surface we use engaging contexts, our "hello world" program
is an animation, and students have the opportunity to program games, etc.</p>
<p>We have spent over twenty years developing the related Program By Design curriculum and have offerings at the middle-school, high-school and university levels. Our material is even used for in-house corporate training.</p>
<p>This is the primary textbook for our courses <a href="http://www.ccs.neu.edu/course/cs5010/">CS 5010</a> and <a href="http://www.ccs.neu.edu/course/cs2500/">CS 2500</a>.
<a href="www.htdp.org">www.htdp.org</a> <br />
<a href="http://www.ccs.neu.edu/home/matthias/HtDP2e/">http://www.ccs.neu.edu/home/matthias/HtDP2e/</a> <br />
<a href="http://www.programbydesign.org">http://www.programbydesign.org</a>
<a href="http://www.bootstrapworld.org">http://www.bootstrapworld.org</a></p></div> <br /> </div></div></div>
<div class="pn-separator-img"></div>
<div class="container"><div class="row"><div class="col-md-12"><div class="col-md-8"><p><i>Essentials of Programming Languages</i> is a study of programming languages. Our goal is to provide a deep, working understanding of the essential concepts of programming languages. These essentials have proved to be of enduring importance; they form a basis for understanding future developments in programming languages.</p>
<p>Our approach is both theoretical and hands-on. The book provides views of programming languages using widely varying levels of abstraction, maintaining a clear connection between the high-level and low-level views. The text uses interpreters to express the semantics of many essential language elements in a way that is both clear and executable.</p>
<p><a href="http://www.eopl3.com">http://www.eopl3.com</a></p></div>
<div class="col-md-4"><span class="essentials-of-programming-languages">E<br />s<br />s<br />e<br />n<br />t<br />i<br />a<br />l<br />s</span>
<p style="text-align: right ;"><img src="img/essentials-of-programming-languages.jpg" alt="Essentials of programming languages" style="float: right;" />
<br />
<span class="essentials-of-programming-languages-2">of Programming <br /> Languages</span></p></div></div></div></div>
<div class="pn-separator-img"></div>
<div class="container"><div class="row"><div class="col-md-12"><div class="col-md-4"><span class="how-to-design-programs">S<br />e<br />m<br />a<br />n<br />t<br />i<br />c<br />s</span>
<p><img src="img/redex.jpg" width="250px" alt="Semantics Engineering with PLT Redex" />
<br />
<span class="how-to-design-programs-2">Engineering with <br /> PLT Redex</span></p></div>
<div class="col-md-8"><p><i>Semantics Engineering with PLT Redex</i> is the first comprehensive presentation of reduction semantics in one volume. It also introduces the first reliable and easy-to-use tool set for such forms of semantics.</p>
<p>Automatic tool support is critical for rapid prototyping and modeling and this book is addressed to the working semantics engineer. With PLT Redex, semanticists can formulate models as grammars and reduction models on their computers with the ease of paper-and-pencil designs.</p>
<p>This text first presents a framework for the formulation of language models, focusing on equational calculi and abstract machines, then introduces PLT Redex, a suite of software tools for expressing these models as PLT Redex models. Finally, experts describe a range of models formulated in Redex.</p>
<p>This is the primary textbook for our course <a href="http://www.ccs.neu.edu/home/amal/course/7400-s17/">CS 7400</a> - Intensive Principles of Programming Languages.</p>
<p><a href="http://redex.racket-lang.org/">http://redex.racket-lang.org/</a></p>
<br /> <br /></div></div></div></div>
<div class="pn-separator-img-short"></div>
<div class="container"><div class="row"><div class="col-md-12"><h2>Courses</h2>
<a name="#courses" id="courses"></a></div>
<div class="col-md-6"><ul><li><strong>7976</strong> Directed Study
<br />
S 2020 Seminar in Technical Writing <span class="pn-muted">Mitch Wand</span>
<br />
F 2019 Seminar in Technical Writing <a href="https://course.ccs.neu.edu/cs7976f19/" target="_blank">link</a> <span class="pn-muted">Mitch Wand</span>
<br />
F 2018 Seminar in Technical Writing <a href="https://course.ccs.neu.edu/cs7976f18/" target="_blank">link</a> <span class="pn-muted">Mitch Wand</span></li>
<li><strong>7680</strong> Special Topics in Computer Systems
<br />
F 2016 Programming Models for Distributed Computing <a href="http://heather.miller.am/teaching/cs7680/" target="_blank">link</a> <span class="pn-muted">Heather Miller</span></li>
<li><strong>7580</strong> Special Topics in Software Engineering
<br />
F 2019 Intensive Software, Construction and Engineering <a href="http://janvitek.org/events/NEU/7580/" target="_blank">link</a> <span class="pn-muted">Jan Vitek</span></li>
<li><strong>7480</strong> Special Topics in Programming Languages
<br />
F 2020 Type Systems <span class="pn-muted">John Boyland</span>
<br />
S 2019 Gradual Typing and Principled Language Interoperability <a href="http://www.ccs.neu.edu/home/amal/course/7480-s19/" target="_blank">link</a> <span class="pn-muted">Amal Ahmed</span>
<br />
S 2017 History of Programming Languages <a href="http://www.ccs.neu.edu/home/matthias/7480-s17/index.html" target="_blank">link</a> <span class="pn-muted">Matthias Fellsein</span>
<br />
F 2016 Advanced Program Analysis <a href="https://docs.google.com/document/d/1JeYoC-dmCxLgYuQcv5tU1rfez6IRf_OKO4ipeRtQd7o" target="_blank">link</a> <span class="pn-muted">Frank Tip</span>
<br />
F 2015 Types, Contracts, and Gradual Typing <a href="http://www.ccs.neu.edu/home/amal/course/7480-f15/" target="_blank">link</a> <span class="pn-muted">Amal Ahmed</span>
<br />
S 2012 Type Systems <a href="http://www.ccs.neu.edu/home/amal/course/7480-s12/" target="_blank">link</a> <span class="pn-muted">Amal Ahmed</span></li>
<li><strong>7400</strong> Intensive Principles of Programming Languages
<br />
S 2020 <a href="http://www.ccs.neu.edu/home/amal/course/7400-s20/" target="_blank">link</a> <span class="pn-muted">Amal Ahmed</span> <br />
S 2017 <a href="http://www.ccs.neu.edu/home/amal/course/7400-s17/" target="_blank">link</a> <span class="pn-muted">Amal Ahmed</span> <br />
F 2016 <a href="http://www.ccs.neu.edu/home/amal/course/7400-f16/" target="_blank">link</a> <span class="pn-muted">Amal Ahmed</span> <br />
S 2016 <a href="http://www.ccs.neu.edu/home/amal/course/7400-s16/" target="_blank">link</a> <span class="pn-muted">Amal Ahmed</span> <br />
S 2015 <a href="http://www.ccs.neu.edu/home/amal/course/7400-s15/" target="_blank">link</a> <span class="pn-muted">Amal Ahmed</span> <br />
S 2014 <a href="http://www.ccs.neu.edu/home/matthias/7400-s14/" target="_blank">link</a> <span class="pn-muted">Matthias Felleisen</span> <br />
F 2012 <a href="http://www.ccs.neu.edu/home/matthias/7400-f12/" target="_blank">link</a> <span class="pn-muted">Matthias Felleisen</span> <br />
F 2011 <a href="http://www.ccs.neu.edu/home/matthias/7400-f11/" target="_blank">link</a> <span class="pn-muted">Matthias Felleisen</span></li>
<li><strong>6515</strong> Software Design and Development <br />
S 2013 <a href="http://www.ccs.neu.edu/home/matthias/6515-s13/" target="_blank">link</a> <span class="pn-muted">Matthias Felleisen</span></li>
<li><strong>6240</strong> Parallel Data Processing in MapReduce <br />
F 2017 <a href="http://janvitek.github.io/pdpmr/f17/" target="_blank">link</a> <span class="pn-muted">Jan Vitek</span> <br />
S 2016 <a href="https://sites.google.com/site/mapreduce16s/" target="_blank">link</a> <span class="pn-muted">Jan Vitek</span> <br />
S 2015 <a href="https://sites.google.com/site/mapreduce15s/" target="_blank">link</a> <span class="pn-muted">Jan Vitek</span></li>
<li><strong>6050 DS</strong> Seminar in Data Science <br />
S 2019 Expeditions in Data Science <a href="http://janvitek.org/events/NEU/6050/" target="_blank">link</a> <span class="pn-muted">Jan Vitek</span> <br /></li>
<li><strong>5500</strong> Foundations of Software Engineering <br />
F 2020 <a href="https://pages.github.ccs.neu.edu/CS5500-CourseMaterials/CS4530-CS5500-Fall2020/index.html" target="_blank">link</a> <span class="pn-muted">Mitch Wand, Frank Tip, Jon Bell</span> <br />
F 2019 <a href="https://pages.github.ccs.neu.edu/CS5500-CourseMaterials/2019-Fall-Section1/index.html" target="_blank">link</a> <span class="pn-muted">Frank Tip</span> <br />
S 2017 <a href="http://www.ccs.neu.edu/course/cs5500sp17/" target="_blank">link</a> <span class="pn-muted">Michael Weintraub, Frank Tip</span> <br /></li>
<li><strong>5110 DS</strong> Introduction to Data Science <br />
S 2017 <a href="http://janvitek.org/events/NEU/5110/" target="_blank">link</a> <span class="pn-muted">Jan Vitek</span> <br /></li>
<li><strong>5010</strong> Program Design Paradigms <br />
S 2017 <a href="http://www.ccs.neu.edu/course/cs5010sp17" target="_blank">link</a> <span class="pn-muted">William D. Clinger</span> <br />
F 2016 <a href="http://www.ccs.neu.edu/course/cs5010f16" target="_blank">link</a> <span class="pn-muted">Mitch Wand, William D. Clinger, James Miller, Ezra Kilty</span> <br />
S 2016 <a href="http://www.ccs.neu.edu/course/cs5010sp16" target="_blank">link</a> <span class="pn-muted">William D. Clinger, Kevin Gold</span> <br />
F 2015 <a href="http://www.ccs.neu.edu/course/cs5010f15" target="_blank">link</a> <span class="pn-muted">Mitch Wand, William D. Clinger</span> <br />
S 2015 <a href="http://www.ccs.neu.edu/course/cs5010sp15" target="_blank">link</a> <span class="pn-muted">Stephen Chang</span> <br />
F 2014 <a href="http://www.ccs.neu.edu/course/cs5010f14" target="_blank">link</a> <span class="pn-muted">Mitch Wand, Stephen Chang, Jan Vitek</span> <br />
S 2014 <a href="http://www.ccs.neu.edu/course/cs5010sp14/" target="_blank">link</a> <span class="pn-muted">Ryan Culpepper</span> <br />
F 2013 <a href="http://www.ccs.neu.edu/course/cs5010f13/" target="_blank">link</a> <span class="pn-muted">Ryan Culpepper</span></li></ul></div>
<div class="col-md-6"><ul><li><strong>4910</strong> Type Systems <br />
F 2020 <span class="pn-muted">John Boyland</span></li>
<li><strong>4620</strong> Building Extensible Systems <br />
S 2018 Hack Your Own Language <a href="https://felleisen.org/matthias/4620-s18/index.html" target="_blank">link</a> <span class="pn-muted">Matthias Felleisen, Stephen Chang</span> <br />
S 2015 <a href="http://www.ccs.neu.edu/home/matthias/4620-s15/" target="_blank">link</a> <span class="pn-muted">Matthias Felleisen</span></li>
<li><strong>4500</strong> Software Development <br />
F 2020 <a href="https://www.ccs.neu.edu/home/matthias/4500-f20/" target="_blank">link</a> <span class="pn-muted">Matthias Felleisen, Jason Hemann</span> <br />
S 2020 <a href="http://janvitek.org/events/NEU/4500/s20/" target="_blank">link</a> <span class="pn-muted">Jan Vitek, Jason Hemann, Ferdinand Vesely</span> <br />
F 2019 <a href="https://felleisen.org/matthias/4500-f19/" target="_blank">link</a> <span class="pn-muted">Matthias Felleisen</span> <br />
F 2018 <a href="https://felleisen.org/matthias/4500-f18/" target="_blank">link</a> <span class="pn-muted">Matthias Felleisen, Jason Hemann</span> <br />
S 2016 <a href="https://felleisen.org/matthias/4500-s16/" target="_blank">link</a> <span class="pn-muted">Matthias Felleisen</span></li>
<li><strong>4410</strong> Compilers <br />
S 2020 <a href="https://course.ccs.neu.edu/cs4410sp20/" target="_blank">link</a> <span class="pn-muted">Ben Lerner</span> <br />
F 2019 <a href="https://course.ccs.neu.edu/csu4410/" target="_blank">link</a> <span class="pn-muted">Olin Shivers</span> <br />
S 2019 <a href="https://course.ccs.neu.edu/cs4410sp19/" target="_blank">link</a> <span class="pn-muted">Ben Lerner</span> <br />
F 2018 <a href="https://course.ccs.neu.edu/csu4410/" target="_blank">link</a> <span class="pn-muted">Olin Shivers</span> <br />
S 2017 <a href="https://course.ccs.neu.edu/cs4410sp17/" target="_blank">link</a> <span class="pn-muted">Ben Lerner</span> <br />
F 2013 <a href="http://www.ccs.neu.edu/home/amal/course/4410-s13/" target="_blank">link</a> <span class="pn-muted">Amal Ahmed</span> <br />
S 2012 <a href="http://www.ccs.neu.edu/course/csu4410/" target="_blank">link</a> <span class="pn-muted">Olin Shivers</span></li>
<li><strong>4400</strong> Programming Languages <br />
S 2020 <a href="https://felleisen.org/matthias/4400-s20/" target="_blank">link</a> <span class="pn-muted">Matthias Felleisen</span> <br />
F 2018 <a href="https://pl.barzilay.org/" target="_blank">link</a> <span class="pn-muted">Jason Hemann</span></li>
<li><strong>4530</strong> Fundamentals of Software Engineering <br />
F 2020 <a href="https://pages.github.ccs.neu.edu/CS5500-CourseMaterials/CS4530-CS5500-Fall2020/index.html" target="_blank">link</a> <span class="pn-muted">Frank Tip, Jon Bell</span> <br /></li>
<li><strong>3800</strong> Theory of Computation <br />
F 2015 <a href="http://www.ccs.neu.edu/course/cs3800f15wc/" target="_blank">link</a> <span class="pn-muted">William D. Clinger</span></li>
<li><strong>3500</strong> Object Oriented Design <br />
F 2019 <a href="https://course.ccs.neu.edu/cs3500f19/" target="_blank">link</a> <span class="pn-muted">Ben Lerner, Clark Freifeld, Alex Grob</span> <br />
F 2018 <a href="https://course.ccs.neu.edu/cs3500f18/" target="_blank">link</a> <span class="pn-muted">Ben Lerner, Amit Shesh, Clark Freifeld</span> <br />
F 2016 <a href="https://course.ccs.neu.edu/cs3500f16/" target="_blank">link</a> <span class="pn-muted">Ben Lerner, Amit Shesh</span> <br />
F 2015 <a href="http://www.ccs.neu.edu/course/cs3500/" target="_blank">link</a> <span class="pn-muted">Ben Lerner</span></li>
<li><strong>2800</strong> Logic and Computation <br />
F 2020 <a href="https://pages.github.ccs.neu.edu/jhemann/20FA-2800/" target="_blank">link</a> <span class="pn-muted">Jason Hemann</span> <br />
S 2020 <a href="https://www.khoury.northeastern.edu/~pete/courses/Logic-and-Computation/2020-Spring/" target="_blank">link</a> <span class="pn-muted">Pete Manolios, Olin Shivers</span></li>
<li><strong>2510</strong> Fundamentals of Computer Science 2 <br />
S 2020 accelerated <a href="https://course.ccs.neu.edu/cs2510asp20/" target="_blank">link</a> <span class="pn-muted">Ben Lerner</span> <br />
S 2019 <a href="https://course.ccs.neu.edu/cs2510sp19/" target="_blank">link</a> <span class="pn-muted">Leena Razzaq, Jason Hemann, Matthew Singer</span> <br />
S 2019 accelerated <a href="https://course.ccs.neu.edu/cs2510asp19/" target="_blank">link</a> <span class="pn-muted">Ben Lerner, Matthew Singer</span> <br />
S 2018 <a href="https://course.ccs.neu.edu/cs2510sp18/" target="_blank">link</a> <span class="pn-muted">Ben Lerner, Nada Naji, Clark Freifeld, Jan Vitek, Becca MacKenzie</span> <br />
S 2018 accelerated <a href="https://course.ccs.neu.edu/cs2510asp18/" target="_blank">link</a> <span class="pn-muted">Ben Lerner, Becca MacKenzie</span> <br />
S 2017 <a href="http://www.ccs.neu.edu/course/cs2510sp17/" target="_blank">link</a> <span class="pn-muted">Ben Lerner, Nada Naji, Leena Razzaq, Clark Freifeld, Becca MacKenzie</span> <br />
S 2016 <a href="http://www.ccs.neu.edu/course/cs2510f16/" target="_blank">link</a> <span class="pn-muted">Ben Lerner, Nada Naji, Leena Razzaq, Magy Seif El-Nasr</span> <br />
S 2015 <a href="http://www.ccs.neu.edu/course/cs2510sp15/" target="_blank">link</a> <span class="pn-muted">Ben Lerner, Leena Razzaq</span> <br />
F 2014 <a href="http://www.ccs.neu.edu/course/cs2510f14/" target="_blank">link</a> <span class="pn-muted">Ben Lerner, Leena Razzaq</span> <br />
S 2014 honors <a href="http://www.ccs.neu.edu/home/cs2510hsp14/" target="_blank">link</a> <span class="pn-muted">Ben Lerner</span></li>
<li><strong>2500</strong> Fundamentals of Computer Science <br />
F 2020 accelerated <a href="https://course.ccs.neu.edu/cs2500accelf20/" target="_blank">link</a> <span class="pn-muted">Amal Ahmed, Ben Lerner</span> <br />
F 2020 <a href="http://www.ccs.neu.edu/course/cs2500/" target="_blank">link</a> <span class="pn-muted">Amal Ahmed, Ben Lerner, Arjun Guha, John Park, Ferdinand Vesely</span> <br />
F 2019 accelerated <a href="https://course.ccs.neu.edu/cs2500accelf19/" target="_blank">link</a> <span class="pn-muted">Amal Ahmed</span> <br />
S 2019 <a href="http://www.ccs.neu.edu/course/cs2500/" target="_blank">link</a> <span class="pn-muted">Olin Shivers</span> <br />
F 2018 accelerated <a href="https://course.ccs.neu.edu/cs2500accelf18/" target="_blank">link</a> <span class="pn-muted">Amal Ahmed</span> <br />
F 2017 <a href="https://course.ccs.neu.edu/cs2500f17/" target="_blank">link</a> <span class="pn-muted">Ben Lerner, Alan Mislove, Christo Wilson, Nada Naji, Byron Wallace</span> <br />
F 2017 accelerated <a href="https://course.ccs.neu.edu/cs2500accelf17/" target="_blank">link</a> <span class="pn-muted">Matthias Felleisen</span> <br />
S 2017 <a href="http://www.ccs.neu.edu/course/cs2500/" target="_blank">link</a> <span class="pn-muted">Olin Shivers, Nat Tuck</span> <br />
F 2016 <a href="http://www.ccs.neu.edu/course/cs2500f16/" target="_blank">link</a> <span class="pn-muted">Matthias Felleisen, Amal Ahmed, Ben Lerner</span> <br />
F 2016 accelerated <a href="http://www.ccs.neu.edu/course/cs2500accelf16/" target="_blank">link</a> <span class="pn-muted">Olin Shivers</span> <br />
F 2015 <a href="http://www.ccs.neu.edu/course/cs2500hfa15/" target="_blank">link</a> <span class="pn-muted">Olin Shivers</span> <br />
F 2015 honors <a href="http://www.ccs.neu.edu/course/cs2500f15/" target="_blank">link</a> <span class="pn-muted">Ben Lerner</span> <br />
F 2014 <a href="http://www.ccs.neu.edu/course/cs2500f14/index.html" target="_blank">link</a> <span class="pn-muted">Olin Shivers, Amal Ahmed, Ben Lerner</span> <br />
S 2014 <a href="http://www.ccs.neu.edu/course/cs2500sp14/index.html" target="_blank">link</a> <span class="pn-muted">Amal Ahmed</span> <br />
F 2013 <a href="http://www.ccs.neu.edu/course/cs2500f13/index.html" target="_blank">link</a> <span class="pn-muted">Matthias Felleisen, Amal Ahmed</span> <br />
F 2011 <a href="http://www.ccs.neu.edu/course/csu211/" target="_blank">link</a> <span class="pn-muted">Amal Ahmed</span></li></ul></div></div></div>
<div class="pn-separator-img-short"></div>
<div class="container"><div class="row"><div class="col-md-12"><div class="col-md-8"><a name="#books2" id="books2"></a>
<p>Racket is a descendant of Lisp, a programming language renowned for its elegance, power, and challenging learning curve. But while Racket retains the functional goodness of Lisp, it was designed with beginning programmers in mind and Realm of Racket is an introduction to the Racket language.</p>
<p>Our approach teaches programming by creating increasingly complex games. The journey begins with the Guess My Number game and coverage of some basic Racket etiquette. Next, readers dig into syntax and semantics, lists, structures, and conditionals, and learn to work with recursion and the GUI in building the Robot Snake game. Then it's on to lambda and mutant structs (and an Orc Battle), and fancy loops and the Dice of Doom. Finally, readers explore laziness, AI, distributed games, and the Hungry Henry game.</p>
<p><a href="http://realmofracket.com/realmofracket.com">http://realmofracket.com/realmofracket.com</a></p>
<br /></div>
<div class="col-md-4"><p style="text-align: right;"><img src="img/racket.jpg" width="250px" alt="Realm of Racket" />
<br />
<span class="essentials-of-programming-languages-2">Realm of Racket</span></p></div></div></div></div>
<div class="pn-separator-img-short"></div>
<div class="container"><div class="row"><div class="col-md-12"><div class="col-md-4"><p><img width="350px" src="img/littles.gif" alt="The Littles Series" style="float: right;" />
<br />
<span class="how-to-design-programs-2">The Littles Series</span></p></div>
<div class="col-md-8"><p>The Littles Series open new doors of thought to everyone who wants to find out what computing is really about.</p>
<p>The original, <i>Little LISPer</i>, unfolds some of the most beautiful concepts in mathematics, computer science, and logic. The follow-on books further the notion that 'thinking about computing is one of the most exciting things the human mind can do.' This sets both <i>The Little Schemer</i> and its companion volume, <i>The Seasoned Schemer</i>, apart from other books on LISP.</p>
<p><i>The Little MLer</i> introduces one of the most important members of the family of programming languages. ML has emerged as a natural language for software engineering courses because it provides a sophisticated and expressive module system and is the language of choice for some NU CCIS courses.</p>
<p>Design patterns, which moved object-oriented programming to a new level, provide programmers with a language to communicate with others about their designs. As a result, programs become more readable, more reusable, and more easily extensible. <i>A Little Java, A Few Patterns</i>, use a small subset of Java to introduce pattern-directed program design.</p></div></div></div></div>
<footer class="footer"><p><a href="https://twitter.com/neu_prl" class="twitter-follow-button" data-show-count="false" data-lang="en">Follow the PRL</a><script type="text/javascript">!function(d,s,id){
var js,fjs=d.getElementsByTagName(s)[0];
if(!d.getElementById(id)){
js=d.createElement(s);
js.id=id;
js.src="https://platform.twitter.com/widgets.js";
fjs.parentNode.insertBefore(js,fjs);
}
}(document,"script","twitter-wjs");</script></p>
<p>© Copyright Programming Research Laboratory 2015-2019 | made by Catchexception s.r.o. | source on <a href="https://github.com/nuprl/website">GitHub</a></p>
<a class="pn-top pn-dark" href="#pn-top"><img src="img/up-arrow.png" alt="top" /></a></footer>
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="js/bootstrap.min.js"></script>
<!-- Custom scripts -->
<script src="js/custom.js"></script>
<script src="js/analytics.js"></script></div></div></body></html>