|
Lund University
|
|
Course Program
|
|
Dept. of Computer Science
|
|
2011-08-29
|
Page 1(2)
EDA040:
Concurrent Programming / Realtidsprogrammering
Study periods HT1+HT2
- Contacts
-
Lecturer: Klas Nilsson; room:E4131, tel:046-2224304,
http://cs.lth.se/klas_nilsson
SMS:0705-365015, skype:klas_nilsson, mailto:klas@cs.lth.se
Teacher:
Mathias Haage; room E:4132c, tel:046-2223036,
mailto:mathias@cs.lth.se
-
Secretary: Lena Ohlsson; room E:2179, tel:046-2228040,
mailto:lena.ohlsson@cs.lth.se
Expedition-time: 9.30-11.30 and 12.45-13.30.
-
Notice-board
-
Next to the stairs and opposite to the secretary, second floor in
the E building.
-
Rarely used nowadays; please refer to the home page and links
therein.
-
Home page
-
http://cs.lth.se/EDA040
-
Requirements
-
Prior to starting this course, you should have passed EDA027 /
EDAA01 (Algorithms and data structures / ..) or (for exchange/other
students) have the corresponding documented knowledge.
Schedules
- Scheduled sessions (each 2 hours)
-
HT1: Lectures 7. Exercises 6. Labs 3.
HT2: Lectures 2.
Project-guidance 4 (2 intro and 2 final, in computer room).
-
Groups
-
You register for a certain scheduled session electronically using a
web form found via the course homepage. The same grouping applies to
both the exercises and (most important) to the labs.
The labs are
done pairwise (with resulting individual solutions), the project in
groups of four. -
Lectures
-
HT1: Tuesday 13-15 in room E:B.
HT2: Tuesday 25/10 and Tuesday
6/12, both during 8-10 in room E:B
-
Exercises
-
HT1: Group A-C: We 13-15, and Group D-G: Th 8-10 (grouping in common
with labs).
HT2: Project guidance corresponding to one exercise
per week, according to later schedule.
-
Labs
-
The laboratory sessions take place in computer rooms, where the
final part of the lab work is carried out. There are seven lab (and
exercise) groups scheduled according to the official LTH-schedule,
including room numbers. Due to an error in the LTH (exercise)
schedule, we here enumerate groups A-G (instead of 1-7). You sign up
for the lab sessions electronically, and you should aim for the
corresponding exercise session (initially, but exercise groups may
be merged later). The lab groups are scheduled for the computer
rooms during the following hours:
Group A-C [in room E:Mars]: Fr
8-10, Fr 10-12, Fr 13-15 respectively.
Group D-G [in room
E:Mars]: Mo 8-10, Mo 10-12, Mo 13-15, Mo 15-17 respectively.
-
Preparation starts with theory as presented during a preceding
lecture, more detailed preparation and problem analysis then follows
during an exercise session prior to the lab session. Then home work
(in the range of 1 to 12 hours depending on skill and luck)
constitutes a main part of the work, then followed by the lab
session. That session may start with a test on the required
corresponding knowledge as covered by the exercises. Then either a
fully working solution is examined, or the remaining problems are
analyzed and guidance towards an acceptable implementation is
given.
-
Schedule for first study period (HT1) Page 2(2)
-
|
Week; day/month:
|
29/8-2/9
|
5-9/9
|
12-16/9
|
19-23/9
|
26/9-30/9
|
3-7/10
|
10-14/10
|
|
Lecture (Tu 13-15):
|
F1
|
F2
|
F3
|
F4
|
F5
|
F6
|
F7
|
|
Exer. (We 13/Th 8):
|
Ö1
|
Ö2
|
Ö3
|
Ö4
|
Ö5
|
Ö6
|
|
|
Labs (Group#A-C):
|
|
L1
|
|
L2
|
|
L3
|
|
|
Labs (Group#D-G):
|
|
|
L1
|
|
L2
|
|
L3
|
- Fn = Lecture #n (Swe: Föreläsning nr n),
Tuesday
-
Ön = Exercise
#n (Swe: Övning nr n), Wednesday / Thursday
-
Ln = Lab. #n
(Swe: Laboration nr n), Friday-Monday
[Note: Mandatory; Swe: Obligatoriskt!]
-
Schedule for second study period (HT2)
-
The detailed schedule for HT2 is distributed during the mandatory
lecture F8, which is the first HT2 lecture.
-
Examination (NOTE: EXAMINATION NOW AFTER HT1; BEFORE THE PROJECT
IN HT2)
-
The ordinary examination is Saturday 2011-10-22 during
8-13 (for location see the LTH schedule).
First retake
examination is Monday
2012-01-09 during
8-13.
Content
The content is formally covered
during the first study period. The project, which takes about 2/5
(that is 1/4-1/2 depending on yourself) of the total efforts in time,
should give the practical engineering skills needed for the exam and
for your future (software-oriented) profession.
- Lectures
-
The content of the lectures during the first study period
define the theoretical content of the course. For each of the seven
lectures F1 to F7 this means:
-
Introduction. Concurrent execution, something about semaphores..
-
Synchronization, mutual exclusion, more on semaphores.
-
Monitors; synchronized methods. Design w.r.t. concurrency and state.
-
Messages and event processing. Deadlock.
-
Scheduling. Priority inversion and priority inheritance.
-
Scheduling analysis.
-
Implementation techniques for run-time systems.
-
During the second study period, the two lectures cover:
Information about the project. This lecture is mandatory.
Follow-up on the project,
possibly a guest lecture, and summary/questions for the exam.
- Literature
-
Ongoing attempt to provide all material electronically, for free
(re)distribution. Coordinated printing of booklet if desired. Some
material might be handed out at printing cost (no profit).
-
Exercises and labs
-
Content as for the lectures, focused on practical design and
programming based on lectures 1 to 4. Scheduling analysis is
covered by the last exercise (but no lab), whereas the
Implementation techniques for run-time systems are primary
topics of the final lecture (no exercise or lab).
-
Project
-
The project deals with design and implementation of a distributed
real-time video surveillance system. Your experiences from the labs
will be most valuable. During the project you will gain some
experience also from network programming. A completed project
results in runnable software, a manual-oriented on-line report, and
an oral presentation.