SIFI2100 – Programming: Principles and Practice
Course content
Computational thinking and programming are key competencies in the development of digital technologies.? Software is at the core of all computation. This course will give participants practical programming competencies in the popular Python programming language, including an understanding of foundational concepts such as modularization, abstraction, and algorithm design.
Learning outcome
After completing this course, you can:
-
understand the basic principles and building blocks of algorithms
-
develop programs of moderate complexity in Python
-
identify programming errors and correct them
-
read and navigate Python code written by others
-
apply popular libraries to manipulate various types of data
Admission to the course
Students admitted to the?Digitalization certificate are guaranteed admission to this course. Other students will have to wait until the secondary admission periode (etteranmeldingen) and apply then.
Formal prerequisite knowledge
You must currently be enrolled in a bachelor's programme, be an incoming exchange student at the bachelor's level or be enrolled in integrated 5-year master's programmes or 6-year professional programmes at the University of Oslo (UiO).
Students must have completed at least 60 ECTS at bachelor's level (one year of full-time studies) at the University of Oslo before applying for admission to the course.
Recommended previous knowledge
You ought to have completed SIFI2000 – Foundations of Digitalization prior to taking this course.
Teaching
The course will combine lecture-style teaching with guided, "hands-on" laboratories and mandatory programming assignments that will be evaluated and graded.?
Two hours of hybrid plenary lecture-style gatherings per week in the first half of the semester.
Two hours of supervised practical laboratories per week in the first half of the semester.
Examination
2 hour digital written exam upon completion of the course, with high proportion of multiple-choice questions and elements of programming.
To qualify for the exam, students need to successfully complete two to three obligatory mandatory assignments.
Examination support material
No examination support material is allowed.
Grading scale
Grades are awarded on a pass/fail scale. Read more about?the grading system.
More about examinations at UiO
- Use of sources and citations
- Special exam arrangements due to individual needs
- Withdrawal from an exam
- Illness at exams / postponed exams
- Explanation of grades and appeals
- Resitting an exam
- Cheating/attempted cheating
You will find further guides and resources at the web page on examinations at UiO.