Advanced Programming

Undergraduate course

Course description

Objectives and Content

The aim of the course is to give students advanced knowledge about programming, including data structures and algorithms, object orientation, threads, recursion, and elementary computational complexity.

An introduction to different standards for structured data for use with external data sources will also be given.


  • Selected topics on data structures and algorithms, including computational complexity.
  • Programming techniques such as object orientation and thread programming.
  • Standards for structured data, such as Json, rdf, xml and handling of such data.

Learning Outcomes

A student who have completed the course should have the following learning outcomes:


The student has

  • deep knowledge about selected algorithms and data structures
  • basic knowledge about object orientation and thread programming
  • basic knowledge about computational complexity analysis of algorithms
  • knowledge about standards for structured data


The student can

  • do basic analysis of the computational complexity of algorithms
  • choose suitable data structures and algorithms for different uses
  • implement data structures and algorithms in the Python programming language
  • handle different forms of structured data using Python

ECTS Credits


Level of Study


Semester of Instruction

Required Previous Knowledge
INFO132 or equivalent
Credit Reduction due to Course Overlap
  • DATA130 (5 ECTS)
  • DATA140 (5 ECTS)
  • INF102 (10 ECTS)
  • INFO233 (10 ECTS)
  • Access to the Course

    The course is open to students with admission to study at UiB.

    The course has 225 study places and enrolment is based on application in StudentWeb.

    Students who have this course as a compulsory part of their study plan will have priority access.

    The application deadline is Monday week 2.

    You will receive confirmation of whether you received a seat no later than Thursday the same week as the deadline.

    Teaching and learning methods
    Lectures and group seminars (typically 2 hours of lectures and 2 hours of seminars each week in appr. 7-10 weeks).
    Compulsory Assignments and Attendance
  • Compulsory assignments that must be completed and approved.
  • Compulsory participation: Attendance at labs (at least 75%).
  • Approved compulsory requirements are valid for the two following semesters.

    Forms of Assessment

    4 hours written exam

    The exam assignment will be given in the language of instruction in the course.
    The exam answer must be submitted in the same language as the exam assignment.

    Grading Scale
    Assessment Semester

    Assessment in teaching semester

    A retake exam is arranged for students with valid absence according to § 5-5. If there is a retake exam, this will be available for students with the follow results/absences:

    • Medical certificate/valid absence
    • Interruption during the exam
    • Fail/failed

    If you have the right to take a retake exam and a retake exam is arranged for students with valid absences, you can sign up yourself in Studentweb after January 15/August 1.

    Reading List
    The reading list will be ready before 1 July for the autumn semester and 1 December for the spring semester.
    Course Evaluation
    All courses are evaluated according to UiB's system for quality assurance of education.
    Programme Committee
    The Programme Committee is responsible for the content, structure and quality of the study programme and courses.
    Course Administrator
    The Department of Information Science and Media Studies at the Faculty of Social Sciences has the administrative responsibility for the course and the study programme.