Parallel Programming
Postgraduate course
- ECTS credits
- 10
- Teaching semesters
- Spring
- Course code
- INF236
- Number of semesters
- 1
- Teaching language
- English
- Resources
- Schedule
Course description
Objectives and Content
Objectives:
The course gives an overview of the architectures and communication networks employed in parallel computers. The course covers the foundations for development of efficient parallel algorithms, including examples from relatively simple numerical problems, sorting, and graph problems. Adaption of algorithms to special computer architectures is discussed.
Content:
Relevant theory is covered in lectures together with examples of how one develops parallel computer programs. The students then solve programming problems themselves using parallel computers. A large part of the teaching is practically oriented.
Learning Outcomes
On completion of the course the student should have the following learning outcomes defined in terms of knowledge, skills and general competence:
Knowledge
The student knows
- the basic construction and use of parallel computers,
- the content and use of the terminology for how one measures the performance of parallel algorithms and parallel computers,
- how to develop computer programs for different types of parallel computers.
Skills
The student is able to
- optimize sequential code for fastest possible execution.
- analyze sequential programs and determine if they are worthwhile to parallelize.
- develop, analyze, and implement algorithms for parallel computers. This applies both to computers with shared memory and with distributed memory.
General competence
The student
- can analyze and perform development work related to the use of parallel computers.
Full-time/Part-time
ECTS Credits
Level of Study
Semester of Instruction
Required Previous Knowledge
Access to the Course
Teaching and learning methods
The teaching is divided into a theoretical and a practical part. In both parts new material will be covered. Thus the student is expected to participate in all parts of the teaching.
The theoretical teaching is conducted in a lecture room, four hours a week, the practical teaching is conducted using the students own laptops.