University of Liege | Version française
Academic year 2014-2015Value date : 24/10/2014
INFO0027-2  Programming techniques

Duration :  30h Th, 24h Pr, 70h Proj.
Number of credits :  
Bachelor in Computer sciences, 2nd year6
One-year preliminary programme leading to the Master in Computer Sciences6
Master of science in computer science and engineering, research focus, 2nd year5
Master in Computer science6
Master in Mathematical Sciences, professional focus in computer science, 2nd year6
Lecturer :  Laurent Mathy
Language(s) of instruction :  
English language
Organisation and examination :  
Teaching in the second semester
Course contents :  
The course runs as two parts: the first part addresses algorithmic problem solving and describes examples of advanced algorithms, using C as the reference programming language. The second part provides an introduction to parallel programming on multi-core systems, using Java as the reference programming language.
Specifically, the first part content comprises the following topics: programming as problem solving; advanced sorting; balanced search; radix search; external algorithms; algorithms on graphs. The second part content comprises: principles of multiprocessor programming; contention and scalable locking; introduction to parallel data structures and algorithms; scheduling and work distribution.
Learning outcomes of the course :  
In this course, the students learn: - the principles of complex program decomposition; - to write efficient programs - knowledge of advanced algorithmic techniques - techniques for parallel programming
Prerequisites and co-requisites/ Recommended optional programme components :  
Knowledge of basic algorithms. Practical knowledge of the C and Java programming languages.
INFO0902 or INFO2050
INFO0062
Planned learning activities and teaching methods :  
Lectures and practicals, both involving problem solving in class. The students carry out 4 assignments: 2 individual programming assignments (one for each part of the course) and 2 group mini-projects (one for each part of the course).
Mode of delivery (face-to-face ; distance-learning) :  
Weekly lectures and practicals, Q2
Recommended or required readings :  
Optional recommended readings: Introduction to algorithms; Cormen, Leiserson, Rivest and Stein; MIT press. Algorithms in C; Sedgewick; Addison Wesley. The Art of Multiprocessor Programming; Herlihy and Shavit; Morgan Kaufmann.
Assessment methods and criteria :  
Written exam and assignments.The assignments count towards 40% of the final mark, while the exam counts towards 60% of the final mark. Each part of the course bears equal weight in the final mark. During exams, the students can use the lecture and practical notes that were officially distributed on the myulg course page (and only those).
There is no guaranteed support for projects to be resubmitted for the resit session.
Work placement(s) :  
Organizational remarks :  
Contacts :  



Home

Bachelors, masters, advanced master et AESS

Lifelong Learning Education

Doctorat (Ph.D.)

Search by teacher

Search by course code and title

Students and Studies Administration - Academic Affairs - Contact : Monique Marcourt, General Director for Education and Training - Developed by SEGI