Advanced Programming

Course - first cycle - 7.5 credits

Syllabus for students autumn 2019

Course Code:
DA405E revision 1
Level of specialisation
Main fields of study:
No main fields
Date of ratification:
15 February 2019
Decision-making body:
Faculty of Technology and Society
Enforcement date:
02 September 2019

Entry requirements

1. At least 60 credits in Computer Science including at least 15 credits in Programming.
2. The equivalent of English B in Swedish secondary school.

Specialisation and progression relative to the degree regulations

Single subject course.


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


The course contains the following moments:

  • problem modeling: graph models, geometric models, problem complexity)
  • programming methodologies: matroids, divide and conquer, dynamic programming, heuristic methods (hill climbing, simulated annealing, etc)

Learning outcomes

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

  • demonstrate understanding of established programming methodologies, strategies and techniques

Skills and Abilities
On completion of the course the student shall:
  • 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

Judgement and approach
On completion of the course the student shall:
  • given a problem statement be able to analyze 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.

Learning activities

Lectures, project work, development and individual studies.


Passed assignments 5 credits and passed written examination 2,5 credits.
The final grade for the course is based on the grade of the written examination.

Grading system

Excellent (A), Very Good (B), Good (C), Satisfactory (D), Pass (E) or Fail (U).

Course literature and other teaching materials

Obligatorisk litteratur
  • Dasgupta, S., Papadimitriou, C.H. and Vazirani, U.V. Algorithms. McGraw-Hill, 2007.
  • Skiena, S.S. and Revilla, M.A., Programming Challenges. Springer, 2003.
  • Bentley, J., 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.