Lund University →
Faculty of Engineering →
Department of Computer Science
EDAP05 Concepts of Programming Languages 2021
Course facts
Credits:7.5 hp, Advanced level
Study period: LP2 2021
Locations and times:
- Tue, 15:15–17:00 in V:A (Exception: first lecture is at 08:15 in E:A)
- Wed, 15:15–17:00 in E:A
Start: First class on 2 November (Tue), 8:15 in E:A
Labs: 08:15–10:00 (Thu, Fri), 13:15–15:00 (Thu)
Textbook: Concepts of Programming Languages by Robert Sebesta
Course responsible: Christoph Reichenbach
TAs: Idriss Riouak (idriss.riouak@cs...) and Anton Risberg Alaküla (anton.risberg_alakula@cs...)
Zoom: Zoom link for classes and office hours
Office hours: via Zoom; Monday 13:30–15:30 (formerly irregular: [11 Nov: 15:30–16:30] [19 Nov: 13:30–14:30] [22 Nov: 09:30–11:30])
Student representatives: Erik Präntare (er3020pr-s at student.lu...)
Final Exam:15 January (Sat), 08:00--13:00, in Vic:2A and Vic:2B
Previous instances: [2019]
News
- 2022-04-11 The re-exam will take place as scheduled in E:2116 on 2022-04-21 (Thursday) from 08:00 to 13:00. Modalities are the same as for Exam 1, and bonus points apply.
- 2022-04-11 Exam 1 and solution hints posted. Please contact me for exam inspection.
- 2022-01-11 Exam information updated again with remote alternative.
- 2022-01-09 Exam information updated.
- 2021-12-03 Updated office hours: Office hours every Monday (time slots updated).
- 2021-11-25 Opportunities: We have options for project courses (7.5hp in lp3 or lp4), M.Sc. theses, and Amanuens positions for students interested in research. More details here.
- 2021-11-19 Lab locations confusion: Due to the confusion about lab locations, we will be extending the deadline for all groups in lab group G2 to Monday, 12:00. We will also add Zoom office hours on Monday morning.
- 2021-11-19 Lab locations update: We have been informed that the labs for group G2 will be alternating between E:Alfa and E:Val, and that group G0 will be in two different rooms on December 9th. Please see the new lab locations table below.
- 2021-11-16 Skill changes for lecture modules 4, 5 The skills 8.1 and 8.2 are listed as part of module 4, since they were part of the reading and of HW1. Skills 0.4 and 0.5 are added to module 5, though we have already been using them.
- 2021-11-09 Lecture video stream. We will attempt to stream today's lecture live, as announced per e-mail.
- 2021-11-09 Added office hours. Zoom office hours for the next two weeks added.
- 2021-11-04 Moodle is available for discussion now. For administrative reasons we could not make Canvas universally accessible quickly enough and will therefore be using Moodle.
2021-11-04 Canvas is available now. Feel free to start looking for group partners now.
2021-11-03 Canvas as discussion platform. Canvas won the discussion platform vote, and the forum will become available as soon as everything is approved by the university administration. If the forum is not available by Thursday 16:00, we will instead use the runner-up platform.
- 2021-11-03 Fixed lecture locations. The web site previously reported the wrong locations for the lectures.
Lab Locations
Date
|
G0
|
G1
|
Date
|
G2
|
11-18
|
E:Alfa
|
E:Val
|
11-19
|
E:Alfa
|
11-25
|
E:Alfa
|
E:Val
|
11-26
|
E:Val
|
12-2
|
E:Alfa
|
E:Val
|
12-3
|
E:Alfa
|
12-9
|
E:Mars, E:Varg
|
E:Val
|
12-10
|
E:Val
|
12-16
|
E:Alfa
|
E:Val
|
12-17
|
E:Alfa
|
Important Links
Overview
When existing software doesn't provide what we need, programming
langauges are the principal tools that we have to create new
software and understand and adapt existing software. However, these
languages come in many forms and flavours, often with large
communities advocating their use. This can make it hard to
understand what the right language for a given task might be.
In this course, we will explore key concepts that underly the
programming languages of today to better understand what the common
features among today's languages are. The intent of the course is
to help you
- lean new languages more quickly
- compare the suitability of languages for a given task, and
- understand key considerations of language design
The textbook for the course will be Robert Sebesta's Concepts of Programming Languages, which you can find e.g. here (stores listed in alphabetical order):
Older versions of the book should work, but references may be off.
For a more detailed overview of the material that we will be
covering, please have a look at the tentative
list of skills.
Expectations
To pass the course, you are expected to complete all of the lab
exercises (achieving an average of 50% or more of the maximum points
in each lab exercise, averaged over the five lab exercise scores)
and the exam. For exchange students only, there will be an
alternative option to taking the exam, in that you will have to
complete a side project, write a report, and briefly present your
results in the final class.