Advanced Programming

Course - first cycle - 7.5 credits

Syllabus for students autumn 2012

Course Code:
DA234A revision 1.1
Level of specialisation
Main fields of study:
Computer Science
Date of establishment:
18 February 2011
Date of ratification:
18 October 2011
Decision-making body:
Faculty of Technology and Society
Enforcement date:
16 January 2012
Replaces Syllabus ratified:
18 February 2011

Course description

The student develops a deeper knowledge of computer programming and computational problem solving by established programming methods and techniques.

Advancement in relation to the degree requirements

The course can be a part of a Bachelor of Science degree in Computer Science.

Entry requirements

The special prerequisite for this course, besides basic eligibility for university studies, is fieldeligibility 6C: Civics A and English B. Applicants are exempted from the Civics A requirement. At least 60 ECTS credits in computer science including at least 15 ECTS credits in programming.

Learning outcomes

Knowledge and Understanding
On completion of the course the student shall:

  • demonstrate understanding of the properties of different programming paradigms.
  • demonstrate understanding of established programming methodologies, strategies and techniques.

Skills and Abilities
On completion of the course the student shall:
  • be able to decide on a suitable development paradigm for a specific set of requirements.
  • be able to decide and argue for a programming methodology appropriate for a given problem statement and implement it in the programming language of choice.

Capability of Assessing and Perception
On completion of the course the student shall:
  • given a problem statement be able to analyse and choose appropriate solution strategies and methodologies, implement the solution correctly, and reason about the validity of the choices from different aspects such as: running time, ease of implementation, generality, etc.


Requirements for pass: Passed assignments and passed written examination.

Requirements for pass with distinction: Passed assignments and written examination passed with distinction.

Course content

  • programming paradigms
  • programming methodologies: matroids, divide and conquer, dynamic programming, heuristic methods (hill climbing, simulated annealing, etc)

Learning activities

Lectures approximately 30hrs, development and individual studies approximately 110hrs, project approximately 60hrs.

Grading system

Fail (U), Pass (G) or Pass with Distinction (VG).

Course literature and other teaching materials

Obligatorisk litteratur
R. Sebesta. Concepts of Programming Languages (9th Edition). Addison Wesley, 2009.

S. Dasgupta, C.H. Papadimitriou, U.V. Vazirani. Algorithms. McGraw-Hill, 2007.

S.S. Skiena, M.A. Revilla. Programming Challenges. Springer, 2003.

J. Bentley. Programming Pearls (2nd Edition). Addison Wesley, 2000.

Course evaluation

All students are given the opportunity to give their comments at the end of the course in writing. A compilation of the results will be available on the faculty computer net. Student participation is in the form of course meetings.