Winter term 1995/96:
Summer term 1996:
Winter term 1996/97:
Summer term 1997:
Winter term 1997/98:
Summer term 1998:
No teaching during my habilitation fellowship 1999-2000.
Undergraduate courses since 2001 at
IDA
,
Linköpings universitet
Short description:
Advanced-level course
for computer science and computer engineering (C, D, IT)
and electrical engineering and physics (Y) students in the fourth year.
The course gives an introduction to programming parallel computers,
covering parallel architectures, vector operations, shared memory parallelism,
message passing, performance analysis and visualization tools, numerical
linear algebra, HPF, pthreads, OpenMP, MPI. For the part on numerical
linear algebra we cooperate with the Mathematics department (course code TANA77).
Structure: Lecture series (28 hours), lessons (4 hours), programming labs (30 hours).
Short description:
TDDB56 is a mandatory course for the second year of the computer engineering (D) program.
It covers data structures, algorithms, and
combinatorial optimization, where the latter part is
given by the Mathematics department.
Structure: Lecture series (42h), lessons (30h), labs (ca. 30h).
Short description:
TTIT33 covers data structures, algorithms, and
combinatorial optimization, where the latter part is
given by the Mathematics department.
The course is given as a PBL (problem based learning) course for the IT program
(computer engineering with PBL education), second year.
Structure: Lecture series (26h), student group work (28h), labs (ca. 20h).
Short description:
Introduction to the concepts of component-based software engineering,
metaprogramming and program composition.
Component systems: CORBA, Java Beans, EJB, COM, .NET, Web services,
Software architecture systems.
Composition systems: AOP with AspectJ, Invasive software composition.
Short introduction to Model-driven architecture (MDA).
Structure: Lecture series (32h), lessons (4h).
Short description:
Introduction to compilers, with a short introduction of formal languages
and automata, and a focus on compiler frontend issues.
Structure: Lecture series (24h), lessons (6h), programming labs (12h).
Short description:
Introduction to compilers, with a focus on compiler frontend issues.
Structure: Lecture series (24h), lessons (8h), programming labs (32h).
Graduate courses at IDA
The following PhD-level courses were given since 2001
at the computer science department (IDA), Linköpings universitet.
Short description:
Advanced topics in compiler construction. Control and data flow analysis,
interprocedural analysis,
layered intermediate representations and SSA, data dependence analysis,
loop transformations and automatic parallelization,
code generation, instruction scheduling, register allocation, garbage collection.
Structure: Lectures (ca. 36h), lessons (6h), programming labs (ca. 20h), student presentations.
Short description:
PhD-level course on parallel programming, with a
focus on theory, language constructs, and
algorithmic paradigms of parallel computing.
Structure: Lecture series (32h), programming lab (ca. 10h).
Short description:
PhD-level course on shared-memory parallel programming, with a
focus on parallel algorithms, multicore architecture, parallel and
concurrent programming, parallel language constructs.
Practical programming exercises with the Cell processor.
Ca. 20 students per instance.
Short description:
This PhD-level course builds upon FDA001 Advanced Compiler Construction
and teaches principles and techniques of reviewing
research papers in the compiler construction domain,
based of selected papers from the most recent PLDI, ICS, LCTES, CC
conferences.
Structure: Introductory lecture, writing reviews,
student presentations with opposition.
Short description:
Annual CUGS core course for first-year graduate students; mandatory for
PhD students in the CUGS graduate school, and
for international master students in computer science (CS).
Broad coverage of the foundations of software engineering;
treats some topics in more depth.
Structure: 4 full days of lectures (24h), written exam.
Supervision of master thesis projects
Teaching-related administrative activities