Skip to content

Commit

Permalink
Updates for Fall 2023.
Browse files Browse the repository at this point in the history
  • Loading branch information
dvanhorn committed Aug 28, 2023
1 parent 06574e5 commit 5f1ef53
Show file tree
Hide file tree
Showing 7 changed files with 135 additions and 45 deletions.
52 changes: 35 additions & 17 deletions www/defns.rkt
Original file line number Diff line number Diff line change
Expand Up @@ -2,39 +2,57 @@
(provide (all-defined-out))
(require scribble/core scribble/html-properties scribble/manual)

(define prof (link "https://www.cs.umd.edu/~dvanhorn/" "David Van Horn"))
(define prof-pronouns "he/him")
(define prof-email "dvanhorn@cs.umd.edu")
(define prof-initials "DVH")
(define prof1 (link "https://jmct.cc" "José Manuel Calderón Trilla"))
(define prof1-pronouns "he/him")
(define prof1-email "jmct@cs.umd.edu")
(define prof1-initials "JMCT")

(define semester "summer")
(define prof2 (link "https://www.cs.umd.edu/~dvanhorn/" "David Van Horn"))
(define prof2-pronouns "he/him")
(define prof2-email "[email protected]")
(define prof2-initials "DVH")

(define semester "fall")
(define year "2023")
(define courseno "CMSC 430")

(define lecture-dates "May 30 -- July 7, 2023")
(define lecture-dates "" #;"May 30 -- July 7, 2023")

(define IRB "IRB")
(define AVW "AVW")
(define KEY "KEY")


(define m1-date "June 14")
(define m2-date "June 29")
(define m1-date "TBD")
(define m2-date "TBD")
(define midterm-hours "24") ; for summer
(define final-date "July 7")
(define elms-url "https://umd.instructure.com/courses/1345891/")
(define final-date "TBD")
(define elms-url "TBD")


(define racket-version "8.7")
(define racket-version "8.10")

(define staff
(list (list "William Wegand" "[email protected]" "3:00-4:00PM MTWThF")
(list "Pierce Darragh" "[email protected]" "10:30-11:30AM MTWTh")
(list #;(list "William Wegand" "[email protected]" "3:00-4:00PM MTWThF")
(list "Pierce Darragh" "[email protected]" "TBD")
(list "Fuxiao Liu" "[email protected]" "TBD")
(list "Vivian Chen" "[email protected]" "TBD")
(list "Ian Morrill" "[email protected]" "TBD")
(list "Matthew Schneider" "[email protected]" "TBD")
(list "Rhea Jajodia" "[email protected]" "TBD")
(list "Syed Zaidi" "[email protected]" "TBD")
(list "William Wegand" "[email protected]" "TBD")
(list "Wilson Smith" "[email protected]" "TBD")
(list "Yuhwan Lee" "[email protected]" "TBD")
))


(define lecture-schedule "Weekdays, 12:30pm - 1:50pm")
(define classroom (link "https://umd.zoom.us/j/99876119693?pwd=d0h3aWRML2dka3dzbElVSHdMeVBEZz09" "Zoom"))
(define lecture-schedule1 "MW, 2:00-3:15pm")
(define lecture-schedule2 "MW, 3:30-4:45pm")

(define classroom1 "BRB 1101")
(define classroom2 "IRB 0318")

(define discord "https://discord.gg/Me7XFYC8")
(define gradescope "https://www.gradescope.com/courses/533338")
(define discord "TBD")
(define piazza "TBD")
(define gradescope "TBD")
16 changes: 12 additions & 4 deletions www/main.scrbl
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,16 @@

@emph{@string-titlecase[semester], @year}

@emph{Lectures: @lecture-schedule, @classroom}
@emph{Sections:}
@itemlist[
@item{0101: @lecture-schedule2, @classroom2

@emph{Professor}: @prof2}

@item{0201: @lecture-schedule1, @classroom1

@emph{Professor}: @prof1}]

@emph{Professor: @prof (@prof-pronouns)}

CMSC 430 is an introduction to compilers. Its major goal is to arm
students with the ability to design, implement, and extend a
Expand All @@ -35,10 +42,11 @@ implement several related languages.
#:row-properties '(bottom-border ())
(list* (list @bold{Staff} 'cont 'cont)
(list @bold{Name} @elem{@bold{E-mail}} @elem{@bold{Hours}})
(list prof prof-email "By appt.")
(list prof1 prof1-email "TBD")
(list prof2 prof2-email "TBD")
staff)]

@bold{Communications:} @link[@elms-url]{ELMS}, @link[@discord]{Discord}
@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
Expand Down
3 changes: 2 additions & 1 deletion www/midterms/1.scrbl
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
Midterm 1 will be released at least @midterm-hours hours prior to
its due date.

@;{
@section{Instructions}

The midterm will be released as a zip file @tt{m1.zip} on ELMS.
Expand Down Expand Up @@ -46,4 +47,4 @@ If you fail these tests, we will not be able to grade your submission.
Passing these tests only means your submission is well-formed. Your
actual grade will be computed after the deadline.

You are encouraged to check your own work.
You are encouraged to check your own work.}
2 changes: 2 additions & 0 deletions www/midterms/2.scrbl
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
Midterm 2 will be released at least @midterm-hours hours prior to
its due date.

@;{
@section{Instructions}

The midterm will be released as a zip file @tt{m2.zip} on ELMS.
Expand Down Expand Up @@ -40,3 +41,4 @@ You should submit your work as a single zip file of this directory on
Gradescope. Unlike past assignments, Gradescope will not provide
feedback on the correctness of your solutions so you are encouraged to
check your own work.
}
5 changes: 5 additions & 0 deletions www/project.scrbl
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@
The final assessment for this course consists of an individually
completed project.

Details to be released later in the semester.

@;{

Final deliverables are due on the last day of class, July 7.

@elem[#:style "strike"]{There are several projects to choose from,
Expand Down Expand Up @@ -656,3 +660,4 @@ The @tt{<lang>} should be @tt{iniquity}, @tt{loot},
etc. and should be the same as the directory that contains the
implementation.

}
57 changes: 56 additions & 1 deletion www/schedule.scrbl
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,61 @@
@(define (day s) @elem[s])


@tabular[#:style 'boxed
#:sep @hspace[1]
#:row-properties '(bottom-border)
(list (list @bold{Week} @bold{Due} @bold{Monday} @bold{Wednesday})
(list @wk{8/28}
""
@secref["Intro"]
@elem{@secref["OCaml to Racket"]})


(list @wk{9/4}
@seclink["Assignment 1"]{A1}
@elem{Labor day (no lecture)}
@elem{@secref["OCaml to Racket"], cont.})

(list @wk{9/11}
@seclink["Assignment 2"]{A2}
@elem{@secref["a86"]}
@elem{@secref["Abscond"]})

(list @wk{9/18}
""
@itemlist[@item{@secref["Blackmail"]} @item{@secref["Con"]}]
@itemlist[@item{@secref["Dupe"]} @item{@secref{Dodger}}])

(list @wk{9/25}
""
@secref["Evildoer"]
@secref["Extort"])

(list @wk{10/2}
""
@secref["Fraud"]
@secref["Hustle"])

(list @wk{10/9}
""
@secref["Hoax"]
"")

(list @wk{10/16}
""
""
"")

(list @wk{10/23} "" "" "")
(list @wk{10/30} "" "" "")
(list @wk{11/6} "" "" "")
(list @wk{11/13} "" "" "")
(list @wk{11/20} "" "" "Thanksgiving break (no lecture)")
(list @wk{11/27} "" "" "")
(list @wk{12/4} "" "" "")
(list @wk{12/11} "" "" "")
)]
@;{
@tabular[#:style 'boxed
#:sep @hspace[1]
#:row-properties '(bottom-border)
Expand Down Expand Up @@ -49,6 +104,6 @@
(list @day{7/7} "Slack" @secref{Project})
)
]

}

@bold{Final project assessment: @|final-date|.}
45 changes: 23 additions & 22 deletions www/syllabus.scrbl
Original file line number Diff line number Diff line change
Expand Up @@ -24,23 +24,25 @@

@bold{Term:} @string-titlecase[semester], @year

@bold{Professor:} @prof (@prof-pronouns)
@bold{Professors:} @prof1 (@prof1-pronouns), @prof2 (@prof2-pronouns)

@bold{Email:} @prof-email
@bold{Email:} @prof1-email, @prof2-email

@bold{Office Hours:} By appointment. Send email or Discord DM to set
@bold{Office Hours:} By appointment. Send email or ELMS message to set
up.

@bold{Prerequisite:} a grade of C or better in CMSC330; and permission
of department; or CMSC graduate student.

@bold{Credits:} 3.

@bold{Lecture dates:} @lecture-dates
@;{@bold{Lecture dates:} @lecture-dates}

@bold{Lecture Times:} @lecture-schedule
@bold{Lectures:}
@itemlist[
@item{0101: @lecture-schedule2, @classroom2}
@item{0201: @lecture-schedule1, @classroom1}]

@bold{Classroom:} @classroom

@bold{Course Description:} @courseno is an introduction to compilers.
Its major goal is to arm students with the ability to design,
Expand All @@ -54,8 +56,8 @@ OCaml from CMSC 330, and, to a lesser extent, imperative programming
in C and Assembly as covered in CMSC 216.


@bold{Course Structure:} The course will consist of synchronous
@bold{zoom} lectures, which will be recorded and available on ELMS
@bold{Course Structure:} The course will consist of
in-person lectures, which will be recorded and available on ELMS
immediately after each lecture. There are two midterms, a final
project, which counts as the final assessment for the class, several
assignments, and several quizes and surveys. Midterms are take-home
Expand Down Expand Up @@ -107,11 +109,12 @@ and we ask you to do the same for all of your fellow Terps.

@bold{Communication with Instructor:}

Email: If you need to reach out and communicate with @prof, please
email at @|prof-email|. Please DO NOT email questions that are easily
found in the syllabus or on ELMS (i.e. When is this assignment due?
How much is it worth? etc.) but please DO reach out about personal,
academic, and intellectual concerns/questions.
Email: If you need to reach out and communicate with @prof1 or @prof2,
please email at @|prof1-email| or @|prof2-email|. Please DO NOT email
questions that are easily found in the syllabus or on ELMS (i.e. When
is this assignment due? How much is it worth? etc.) but please DO
reach out about personal, academic, and intellectual
concerns/questions.

ELMS: IMPORTANT announcements will be sent via ELMS messaging. You
must make sure that your email & announcement notifications (including
Expand Down Expand Up @@ -147,9 +150,7 @@ hindered by the learning environment.

@section{Office Hours}

Office hours will be held on @link[@discord]{this discord
server}. Make sure that your 'nickname' is set to something appropriate for
class.
Office hours will be held online and in-person. Details TBD.

@;{Please make sure that you fill out
@link["https://docs.google.com/spreadsheets/d/1sDCpekBHIGjVSuGDsabPb74wZ5nHA_sTLvIPOzTUQ4k/edit?usp=sharing"]{
Expand All @@ -162,7 +163,7 @@ up repeatedly, the staff can make an announcement that addresses the concern
for the entire class. Lastly, it helps the course staff keep an eye on what
topics might need more attention.}

The discord server is there for you to organize as a class, ask questions of
@;{The discord server is there for you to organize as a class, ask questions of
each other, and to get help from staff. Its main purpose is as a vehicle for
office hours. That said, feel free to use the discord for discussion. I (@prof-initials)
will check periodically, but if you would like to ask a question directly to
Expand All @@ -172,7 +173,7 @@ communication.
There is a channel '#course-discussion' that is meant for
discussion/questions/help regarding the material of the course, make sure that
you keep that channel free from noise so that other students and course staff
can easily see what issues are being brought up.
can easily see what issues are being brought up.}

@section{Topics}

Expand Down Expand Up @@ -305,23 +306,23 @@ will be provided during office hours. Office hours for the
instructional staff will be posted on the course web page.

Additional assistance will provided via discussion on
@link[@discord]{Discord}. You may use this forum to ask general
@link[@piazza]{Piazza}. You may use this forum to ask general
questions of interest to the class as a whole, e.g., administrative
issues or problem set clarification questions. The course staff will
monitor it on a daily basis, but do not expect immediate answers to
questions. Please do not post publicly any information that would
violate the university academic integrity policy (e.g., problem set
code).

Discord allows students to send private questions that are only
@;{Discord allows students to send private questions that are only
visible to instructors. Please use this feature if you wish to ask
specific questions concerning your assignment solutions.
specific questions concerning your assignment solutions.}

Personal e-mail to TAs should be reserved for issues
that cannot be handled by the above methods.

Important announcements will be made in class or on the class web
page, and via Discord.
page, and via Piazza.

@section{Excused Absences}

Expand Down

0 comments on commit 5f1ef53

Please sign in to comment.