Prerequisites: CSCE 240
Meeting time and venue: TTh 1450-1505 in INNOVA 1400
Instructor: Marco Valtorta
Office: INNOVA 2269, 777-4641
E-mail:
mgv@cse.sc.edu
Office Hours:
M 1500-1800, or by previous appointment.
Update of 2020-03-15. Due to the closing of the university, there will
be no in-person office hours.
Update of 2020-03-28.
Virtual office hourse will take place as a Collaborate Ultra Session.
APOGEE students will receive a guest link to join the session.
Teaching Assistant: MD Modasshir
Office: INNOVA 1203
E-mail:
modasshm@email.sc.edu
W 1400-1700.
Update of 2020-03-15. Due to the closing of the university, there will
be no in-person office hours.
Update of 2020-03-28.
Virtual office hourse will take place as a Collaborate Ultra Session.
APOGEE students will receive a guest link to join the session.
Time Allocation Framework and Textbooks
Updated on 2020-03-18 and 2020-04-13
Grading Policy
Updated on 2020-03-18 and 2020-03-13
Specific objectives of this course are that the students will be able to:
Videos Since March 24, 2020
Lecture of 2020-03-24
Lecture of 2020-03-26
Lecture of 2020-03-31
Lecture of 2020-04-02
Lecture of 2020-04-07
Lecture of 2020-04-09
Lecture of 2020-04-14
Lecture of 2020-04-16
Lecture of 2020-04-21
Lecture of 2020-04-23
Notes
Introductory lectures
Lecture notes for Chapter 1 [W]
Lecture notes for Chapter 2 [W]
Transcript of handwritten notes of
2020-01-16 lecture, with an example of use of the technique of loop invariants.
Lecture notes for Chapter 3 [W]
Lecture notes for Chapter 4 [W]
More lecture notes for Chapter 4 [W]
, used on 2020-02-11, with Java code for a recursive descent parser
for CLite.
Lecture notes for Chapter 1 [M]
, provided by Dr. Jost Berthold through Torben Mogensen.
Transcript
of handwritten notes with details of minimization of DFA example
from a slide by Dr. Jost Berhold, used in the 2020-01-30 lecture.
Lecture notes for Chapter 2 [M]
, provided by Dr. Jost Berthold through Torben Mogensen.
Lecture notes for
Chapters 1 and 2 [M]
by Cosmin O. Oancea, provided by Dr. Torben Mogensen.
Lecture notes on syntax, with the grammar
of the CLite language
Transcript
of handwritten notes with details of conversion of an NFA to a DFA for SLR
table construction
from a slide by Dr. Jost Berhold, used in the 2020-02-18 lecture.
Lecture notes for Chapter 5 [W]
, on Contextual Analysis (scope and type checking), used in the
2020-02-25 lecture.
Transcript of handwritten notes of
2020-02-25 lecture, with definition of reduce (insert, fold)
and map (apply-to-all).
Lecture notes for
Chapter 3 [M]
by Cosmin O. Oancea, provided by Dr. Torben Mogensen.
Lecture notes for Chapter 4 [R]
, provided by Dr. Aarne Ranta. Note that all slides for [R] are available at
http://www.grammaticalframework.org/ipl-book/.
Lecture notes for
Chapter 3 [M]
Lecture notes for Chapter 5 [R]
, (Interpreters) provided by Dr. Aarne Ranta. Note that all slides for [R] are available at
http://www.grammaticalframework.org/ipl-book/.
Lecture notes for
Chapter 4 [M] (Interpretation).
Lecture
notes for Chapter 6 [M]
on Intermediate Code Generation,
modified from slides by Cosmin O. Oancea, provided by Dr. Torben Mogensen.
Lecture
notes for Chapter 7 [M]
on Machine Code Generation,
modified from slides by Cosmin O. Oancea, provided by Dr. Torben Mogensen.
Lecture
notes for Chapter 8 [M]
on Register Allocation and Liveness Analysis,
modified from slides by Cosmin O. Oancea, provided by Dr. Torben Mogensen.
The SimpleSem simulator (java, zip archive).
A Java-based environment for teaching programming language concepts, by Manfred Hauswirth, Mehdi Jazayeri, and Alexander Winzer.
A paper presented at FIE '98: Frontiers in Education '98, November 4-7,
1998, Tempe, Arizona.
Sections 6.2-6.6 [W] on functions
Quizzes (In-Class Exercises)
Tests
Homework and Projects
See lecture log for a more complete list, which includes assignments for
which no handout was given.
Assignments should be turned in via the departmental dropbox.
Points per assignment.
Project Assignment 1a: assigned
February 4 and due February 11.
Project Assignment 1b: assigned
February 13 and due February 20.
Tips on how to complete PR1b
successfully for CSCE 531 students, Spring 2020.
Project Assignment 1c: assigned
February 20 and due February 27.
Project Assignment 1c
Update 1 of 2020-02-23: assigned
February 20 and due February 27.
Project Assignment 1c
Update 2 of 2020-02-24: assigned
February 20 and due February 27.
Project Assignment 2a: assigned March 24
and due March 31.
Project Assignment 2b: assigned March 31
and due April 14.
Update of 2020-04-13: The due date is changed to April 21
Update of 2020-04-21: The due date is changed to April 23
Hints on how to get started on PR2b
for CSCE 531 students, Spring 2020.
Submission Instructions for
Project 2b
Please read carefully the submission instructions in the previous entry.
Here is how your program is tested:
Programs
Some useful links: