IN1910 – Programming with Scientific Applications
Course description
Schedule, syllabus and examination date
Course content
The course is a continuation of the course IN1900, and provides an introduction to more advanced concepts in programming and software development. The central goal of the subject is to introduce new tools and concepts for scientific programming.
Learning outcome
After taking IN1910 you will:
- Have knowledge of and experience with more advanced use of Python programming language, including heritage and object-oriented programming, as well as using Python in combination with other programming languages.
- Have basic knowledge and experience with programming in C ++, including key concepts in object-orientation such as abstract classes and virtual methods.
- Have knowledge of some key data structures such as arrays and linked lists, with associated algorhythms
- Be able to generate random numbers and use these to run stochastic simulations.
- Know easier forms of algorithm analysis and optimization, such as profiling and parallelization.
- Be able to use version control and verification tools, including device testing and regression testing.
Admission to the course
Students who are admitted to study programmes at UiO must each semester register which courses and exams they wish to sign up for in Studentweb.
Special admission requirements
In addition to fulfilling the Higher Education Entrance Qualification, applicants have to meet the following special admission requirements:
- Mathematics R1 or Mathematics (S1+S2)
The special admission requirements may also be covered by equivalent studies from Norwegian upper secondary school or by other equivalent studies. Read more about special admission requirements (in Norwegian).
Formal prerequisite knowledge
One of the courses IN1000, IN1900/IN-KJM1900/IN-GEO1900, INF1000, INF1100, IN105, or INF101
Recommended previous knowledge
This course assumes knowledge of how to program using Python. Students whose only experience lies with other programming languages are recommended to read up on basic Python before the lectures starts. This could for example be done as self-study based on the first few chapter in the recommended curriculum.
Overlapping courses
- 6 credits overlap with INF1010 – Object oriented programming (continued).
- 6 credits overlap with IN1010 – Object-oriented Programming.
Teaching
4 hours of lectures and 2 hours of exercises each week. The lectures will be a combination of ordinary lectures and supervised work with projects and exercises.
Examination
Portfolio assessment and an oral exam. The students will develop and submit a larger application system with corresponding documentation, and everyone will have an oral exam where they demonstrate that their program works and explains central parts of the program and the underlying mathematics.
Both the portfolio- and exam-part must be passed to pass the course.
Examination support material
All kinds of aid are permitted.
Language of examination
You may write your examination paper in Norwegian, Swedish, Danish or English.
Grading scale
Grades are awarded on a pass/fail scale. Read more about the grading system.
Resit an examination
Students who can document a valid reason for absence from the oral examination are offered a postponed examination.
New oral examinations are offered at the beginning of the next semester for students who did not pass the oral exam, provided they have passed the portfolio assessment.
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.