Staff
- Lecturer: Prof. Dr. Ralf Lämmel <ed.znelbok-inu|lemmeal#ed.znelbok-inu|lemmeal>
- Lab assistant: MSc Informatik Marcel Heinz <ed.znelbok-inu|znieh#ed.znelbok-inu|znieh>
- Assignment assistant: Matthias Paul <ed.znelbok-inu|luapm#ed.znelbok-inu|luapm>
Links
- Timeless course portal (Wiki)
- KLIPS: lecture; lab
- Curriculum: Module 04IN1024
- Script: Shared "privately"
- Past exams: *.pdf (requires uniko login)
- Facebook: Private group for course
Schedule
Slides and videos are available from the wiki page for the software languages book.
Relevant chapters of the book are shared for restricted class room use.
The lectures are exercised in "flipped class room" mode.
- Lecture: Fridays 10:15-11:45, E 313
- Lab: Mondays 12-14
The "Reading" column points to chapters or sections in the software languages book; see book access below. Also remember that you find short videos for many topics on the page for the software languages book.
| Date | Topic | Reading |
|---|---|---|
| 28.04.2017 | Lecture: Introduction | - |
| 05.05.2017 | Flipped classroom: Tree-based abstract syntax | 3.1, 4.1.3.1 |
| 08.05.2017 | Lab | Abstract Syntax |
| 12.05.2017 | Flipped classroom: Basics of interpretation | 5.1 |
| 15.05.2017 | Lab | Basics of Interpretation |
| 19.05.2017 | Flipped classroom: Big-step operational semantics | 8.1 |
| 22.05.2017 | Lab | - |
| 26.05.2017 | No lecture | - |
| 29.05.2017 | Flipped classroom: Small-step operational semantics + Lab | 8.2 |
| 02.06.2017 | Flipped classroom: Type systems | 9 |
| 12.06.2017 | Lab | Type Systems |
| 16.06.2017 | Flipped classroom: Denotational semantics | 10.1, 10.2 |
| 19.06.2017 | Lab | Denotational Semantics |
| 23.06.2017 | Flipped classroom: Abstract interpretation | 10.4 |
| 26.06.2017 | Lab | Abstract Interpretation |
| 30.06.2017 | Flipped classroom: The untyped lambda calculus | 11.1 |
| 03.07.2017 | Lab | ULL |
| 07.07.2017 | Flipped classroom: The simply typed lambda calculus | 11.2 |
| 10.07.2017 | Lab | - |
| 14.07.2017 | Preparation exam | - |
| 17.07.2017 | Preparation exam | - |
| 21.07.2017 | Exam | - |
Book access
Deadline passed.
Students enrolled in this course are provided with the relevant chapters from the Software Languages Book. To this end, these students need to agree and comply with the corresponding license; they need to request access by an email from their university account and include their confirmation of the license. This Email URL defines the subject line, the sender, and a reasonable body. If received before 5 May, the sender will be granted access to a designated svn repository (uni-koblenz login and access permission required). Please allow some delay (42 hours) between sending email and granting access. Emails are not confirmed.
Assignments
Assignment specifications
Once the assignments are published, the numbers are linked to the repository location with the assignment specifications.
| No. | Date of issue | Deadline | Topic |
|---|---|---|---|
| 1 | 05.05.2017 | 11.05.2017 | Tree-based abstract syntax |
| 2 | 12.05.2017 | 18.05.2017 | Basics of interpretation |
| 3 | 19.05.2017 | 25.05.2017 | Big-step operational semantics |
| 4 | 26.05.2017 | 01.06.2017 | Small-step operational semantics |
| 5 | 02.06.2017 | 15.06.2017 | Type systems |
| 6 | 16.06.2017 | 22.06.2017 | Denotational semantics |
| 7 | 23.06.2017 | 29.06.2017 | Abstract interpretation |
| 8 | 30.06.2017 | 06.07.2017 | Untyped Lambda calculus |
| 9 | 07.07.2017 | 13.07.2017 | Simple typed Lambda |
Assignment logistics
- There are 9 assignments in total. They are linked in the table above.
- The svn repo will be communicated by lab assistant.
- Student solutions are submitted to https://svn.uni-koblenz.de/softlang/pltcourse/plt17/students/username (replace username by your Uni username).
- Student submissions are checked by assignment assistant.
- Each assignment is graded with either of the following scores:
- 0: "missing or largely incomplete and/or largely incorrect"
- 1: "noticeably incomplete and/or noticeably incorrect"
- 2: "nearly or completely complete and nearly or completely correct"
- An assignment may offer options from which students must choose one, as they wish.
- Reference solutions are published via svn: https://svn.uni-koblenz.de/softlang/pltcourse/plt17/public/solutions/
General rules for solutions
- Use Unicode for text files include source-code files.
- Submit Haskell source code as .hs files.
- If other languages are permitted, then use appropriate extensions.
- Submit "textual" solutions as .txt or .pdf (no .doc, .docx, etc.).
- If there are options (1, 2, …), use the option number in the filename.
- Make sure non-obvious source-code details are commented.
- Make sure that your source code parses/compiles/runs "as is".
If you do not obey these rules, your solution may receive less points.
Exam
Exam dates
- Exam: last lecture slot; same room; same time; register via KLIPS
- Resit: end of next semester
Exam admission
- Exam admission is inherited from previous editions ever since 2010/11.
- Each student must submit at least 6 solutions with score 1 or above.
- Out of these 6 solutions, 3 solutions must receive score 2.
- Each student must present 1 solution, if asked to do so.
Rationale
- Lectures, labs, and assignments are designed to prepare effectively for the exam.
- The assignment topics directly correspond to the exam topics.
- All submitted solutions are reviewed by the assignment assistant.
- Upcoming assignments are discussed briefly in the lab.
- Completed assignments are discussed in detail in the lab while also leveraging student presentations.