INF4331 - Problem solving with high level languages
The course gives an introduction to fundamental and advanced aspects of the Python programming language, including data structures, regular expressions, interaction with the operating system, platform-independent code, advanced text processing, effective design of software with time critical oparations, and extensions in compiled langugages such as C and C++. The course also gives a basic introduction to the Bash scripting language, development tools such as git and github, and compiling, linking and profiling of C and C++ code. The main emphasis of the course is on practical problem solving.
After completing this course:
- you are familiar with basic and morea dvanced aspects of scripting languages, Bash and the Python programming language, including data structures, regular expressions, and interaction with the operating system.
- you can write scrips in Python and Bash to automate tasks in your own work.
- you can use vectorization to write efficient Python programs.
- you can combine Python with compiled languages such as C, C++, and Fortran.
- you can write programs to solve tasks from a variety of fields, such as physics, medicine, biology, and finance.
- get a deeper understanding of more advances aspects of the Python language, for instance efficient numerical calculations based on vectorisation, extending Python with code written in compiled languages, and embedding Python in compiled programs.
Students admitted at UiO must apply for courses in Studentweb. Students enrolled in other Master's Degree Programmes can, on application, be admitted to the course if this is cleared by their own study programme.
Nordic citizens and applicants residing in the Nordic countries may apply to take this course as a single course student.
If you are not already enrolled as a student at UiO, please see our information about admission requirements and procedures for international applicants.
- 10 credits overlap with INF3331 - Problemløsning med høynivå-språk
- 5 credits overlap with INF3330 - Problem solving with high level languages (discontinued)
- 5 credits overlap with INF4330 - Problem solving with high level languages (discontinued)
- 5 credits overlap with INF5660 - Advanced problem solving with high level languages (discontinued)
Two hours lectures and two hours exercises every week. The lectures will be a combination of regular lectures and guided project work and exercise solving. There are mandatory assignments. Rules for mandatory assignments
Examination support material
Any examination support materials are allowed
Language of examination
You may write your examination paper in Norwegian, Swedish, Danish or English.
Grades are awarded on a pass/fail scale. Read more about the grading system.
Explanations and appeals
Resit an examination
Students who can document a valid reason for absence from the regular examination are offered a postponed examination at the beginning of the next semester.
Re-scheduled examinations are not offered to students who withdraw during, or did not pass the original examination.
Withdrawal from an examination
It is possible to take the exam up to 3 times. If you withdraw from the exam after the deadline or during the exam, this will be counted as an examination attempt.
Special examination arrangements
Application form, deadline and requirements for special examination arrangements.