-
Notifications
You must be signed in to change notification settings - Fork 33
Expand file tree
/
Copy pathmain.scrbl
More file actions
66 lines (49 loc) · 2.05 KB
/
main.scrbl
File metadata and controls
66 lines (49 loc) · 2.05 KB
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
#lang scribble/manual
@(require scribble/core
scriblib/footnote
scribble/decode
scribble/html-properties
"defns.rkt"
"utils.rkt")
@(define accessible
(style #f (list (js-addition "js/accessibility.js")
(attributes '((lang . "en"))))))
@title[#:style accessible @courseno]{: Design and Implementation of
Programming Languages}
@image[#:scale 1/2 #:style float-right]{img/wizard.png}
@emph{@string-titlecase[semester], @year}
@emph{Lecture}: @lecture-schedule1, @classroom1
@emph{Professor}: @prof1
CMSC 430 is an introduction to compilers. Its major goal is to arm
students with the ability to design, implement, and extend a
programming language. Throughout the course, students will design and
implement several related languages.
@tabular[#:style 'boxed
#:row-properties '(bottom-border ())
(list* (list @bold{Staff} 'cont)
(list @bold{Name} @elem{@bold{E-mail}})
(list prof1 prof1-email)
#;(list prof2 prof2-email)
staff)]
@bold{Communications:} @link[@elms-url]{ELMS}, @link[@piazza]{Piazza}
@bold{Assumptions:} This course assumes you know the material in CMSC
330 and CMSC 216. In particular, you need to know how to program in a
functional programming language like OCaml and some familiarity with
programming in C and Assembly. See the @seclink["Texts"]{Texts} page
for references to brush up on this material.
@bold{Disclaimer:} All information on this web page is tentative and
subject to change. Any substantive change will be accompanied with an
announcement to the class via ELMS.
@bold{Feedback:} We welcome anonymous feedback on the course and its
staff using this @link[feedback]{form}.
@bold{TA office hours:} @office-hour-location (unless otherwise noted)
@office-hours
@include-section{syllabus.scrbl}
@include-section{texts.scrbl}
@include-section{schedule.scrbl}
@include-section{notes.scrbl}
@include-section{assignments.scrbl}
@include-section{midterms.scrbl}
@include-section{project.scrbl}
@include-section{software.scrbl}
@include-section{colophon.scrbl}