Master program in Computational Science at the University of Oslo
Tom Andersen [1]
Andreas Austeng [2]
Arne Bang Huseby [3]
John Burkart [4]
Michele Cascella [5]
Mats Carlsson [6]
Geir Dahl [3]
Simon Wolfgang Funke [2, 7]
Marianne Fyhn [1]
Viggo Hansteen [6]
Morten Hjorth-Jensen (chair) [8]
Joseph Lacasce [4]
Katrine Langvad (admin) [8]
Anders Malthe-Sørenssen [8]
Kend-Andre Mardal [3]
Martin Reimers [3]
Knut Mørken [3]
Torbjørn Rognes [2]
Thomas Schuler [4]
Grete Stavik-Døvle (admin) [8]
Joakim Sundnes [2, 7]
[1] Department of Biosciences, University of Oslo
[2] Department of Informatics, University of Oslo
[3] Department of Mathematics, University of Oslo
[4] Department of Geoscience, University of Oslo
[5] Department of Chemistry, University of Oslo
[6] Institute for Theoretical Astrophysics, University of Oslo
[7] Simula Research Laboratory
[8] Department of Physics, University of Oslo
Planned start: Fall 2018
Master program in Computational Science
We propose a new Master of Science program at the Faculty of Mathematics and Natural Sciences of the University of Oslo. This program is called Computational Science, with acronym CS
The program is a collaboration between seven departments and classical disciplines:
- Institute of Theoretical Astrophysics
- Department of Biosciences
- Department of Chemistry
- Department of Geoscience
- Department of Informatics
- Department of Mathematics
- Department of Physics
The program will be administrated by the Department of Physics.
The program is multidisciplinary and all students who have completed
undergraduate studies in science and engineering, with a sufficient
quantitative background, are eligible. The language of instruction is
Norwegian or English.
Strategic importance
The program will educate the next generation of cross-disciplinary
science students with the knowledge, skills, and values needed to pose
and solve current and new scientific, technological and societal
challenges. The program will lay the foundation for cross-disciplinary
educational, research and innovation activities.
It is the first educational program to
comprehensively treat computation as the triple junction of
algorithm development and analysis, high performance computing, and
applications to scientific and engineering modeling and data
science. This approach recognizes computation as a new discipline
rather than being decentralized into isolated sub-disciplines. The CS program
will will enable application-driven computational modeling
while also exposing disciplinary computational scientists to
advanced tools and techniques, which will ignite new
transformational connections in research and education.
Vision for the future: Scientific Computing and Data Science
Scientific computing focuses on the development of predictive computer
models of the world around us. As study of physical phenomena through
experimentation has become impossible, impractical and/or expensive,
computational modeling has become the primary tool for
understanding—equal in stature to analysis and experiment.
The discipline of scientific computing
is the development of new methods that make challenging problems
tractable on modern computing platforms, providing scientists and
engineers with key windows into the world around us.
Data science focuses on the development of tools designed to find
trends within datasets that help scientists who are challenged with
massive amounts of data to assess key relations within those
datasets. These key relations provide hooks that allow scientists to
identify models which, in turn, facilitate making accurate predictions
in complex systems. For example, a key data science goal on the
biological side would be better care for patients (e.g., personalized
medicine). Given a patient’s genetic makeup, the proper data-driven
model would identify the most effective treatment for that patient.
Aims of the program
A specific aim of this program is to develop the students' ability to pose and
solve problems that combine physical insights with mathematical tools
and computational skills. This provides a unique combination
of applied and theoretical knowledge and skills. These features are invaluable
for the development of multi-disciplinary educational and research programs.
The main focus is not to educate computer
specialists, but to educate students with a solid understanding in basic science
as well as an integrated knowledge on how to use
essential methods from computational science. This requires an
education that covers both the specific disciplines like physics, biology,
geoscience, mathematics etc with a strong background in computational science.
A significant aspect of this program is the ability to offer new educational
opportunities that are aligned with the needs of a 21st century
workforce. Many companies are seeking
individuals who have knowledge of both a specific discipline and
computational modeling.
We plan to offer first Master of Science degrees in Computational Science
and our students will be expressly educated in the use of
computing to model and study the world around them. Students in the CS
program will achieve a high degree of proficiency in model
development, critical thinking and analysis.
Scientific and educational motivation
Applications of simulation.
Numerical simulations of various systems in science are central to our
basic understanding of nature and technlogy.
The increase in computational power,
improved algorithms for solving problems in science as well as access
to high-performance facilities, allow researchers nowadays to study
complicated systems across many length and energy scales. Applications
span from studying quantum physical systems in nanotechnology and the
characteristics of new materials or subamotic physics at its smallest
length scale, to simulating galaxies and the evolution of the universe.
In between, simulations are key to understanding
cancer treatment and how the brain works,
predicting climate changes and this week's weather,
simulating natural disasters, semi-conductor devices,
quantum computers, as well as assessing risk in the insurance and
financial industry. These are just a few topics
already well covered at the University of Oslo and that can be
topics for coming thesis projects as well as research directions.
Job market.
A large number of the candidates from the five involved departments
get jobs where numerical simulations are central and essential. The proposed
program will raise the educational quality in this area, because
our candidates need a broader understanding of the possibilities
and limitations of computation-based problem solving.
Multiscale modeling is a big open research question
Today's problems, unlike traditional
science and engineering, involve complex systems with many distinct
physical processes. The wide open research topic of this century, both
in industry and at universities, is how to effectively couple
processes across different length and energy scales. Progress will
rely on a multi-disciplinary approach and therefore a need for
a multi-disciplinary educational program.
The proposed program will foster candidates with the right
multi-disciplinary background and computational thinking for
understanding today's simulation technology and its challenges.
The new program combines old and new initiatives
This program builds on the strengths and successes of two existing Master of Science directions at the University of Oslo, namely the
programs in Computational Physics (at the Dept. of Physics) and
Applied Mathematics and Mechanics (at the Dept. of Mathematics).
These programs were established in 2003.
Based on the experience from these programs, the hope is that the proposed program can enlarge the reach of disciplines where computations play and/or are expected to play a large. In particular, new directions
in Computational Life Science need to be developed to
meet coming needs of the scientific community. We believe this new direction is
best developed in close collaboration with already successful
computational science programs.
Computing competence
Computing means solving scientific problems using computers. It covers
numerical as well as symbolic computing. Computing is also about
developing an understanding of the scientific process by enhancing
algorithmic thinking when solving problems. Computing competence has
always been a central part of the science and engineering
education.
Modern computing competence is about
- derivation, verification, and implementation of algorithms
- understanding what can go wrong with algorithms
- overview of important, known algorithms
- understanding how algorithms are used to solve mathematical problems
- reproducible science and ethics
- algorithmic thinking for gaining deeper insights about scientific problems
Key elements in computing competence
The power of the scientific method lies in identifying a given problem
as a special case of an abstract class of problems, identifying
general solution methods for this class of problems, and applying a
general method to the specific problem (applying means, in the case of
computing, calculations by pen and paper, symbolic computing, or
numerical computing by ready-made and/or self-written software). This
generic view on problems and methods is particularly important for
understanding how to apply available, generic software to solve a
particular problem.
Computing competence represents a central element
in scientific problem solving, from basic education and research to
essentially almost all advanced problems in modern
societies. Computing competence is simply central to further
progress. It enlarges the body of tools available to students and
scientists beyond classical tools and allows for a more generic
handling of problems. Focusing on algorithmic aspects results in
deeper insights about scientific problems.
Today's projects in science and industry tend to involve larger teams. Tools for reliable collaboration must therefore be mastered (e.g., version control systems, automated computer experiments for reproducibility, software and method documentation).
Overarching description of the CS program
Students of this program learn to use the computer as a laboratory for
solving problems in science and engineering. The program offers
exciting thesis projects from many disciplines: biology and life
science, chemistry, mathematics, informatics, physics, geophysics,
mechanics, geology, computational finance, computational informatics, b
ig data analysis, digital signal processing
and image analysis – the candidates select research field according to
their interests.
A Master’s degree from this program gives the candidate a methodical
training in planning, conducting, and reporting large research
projects, often together with other students and university teachers.
THe projects emphasize finding practical solutions, developing an
intuitive understanding of the science and the scientific methods
needed to solve complicated problems, use of many tools, and not least
developing own creativity and independent thinking. The thesis
work is a scientific project where the candidates learn to tackle a
scientific problem in a professional manner. The program aims also at
developing a deep understanding of the role of computing in solving modern scientific
problems. A candidate from this program gains deep insights in the fundamnetal role
computations play in our advancement of science and technology, as well as the role computations play in society.
The program opens up for flexible backgrounds
While discipline-based master's programs tend to introduce very strict
requirements to courses, we believe in adapting a computational thesis
topic to the student's background, thereby opening up for
students with a wide range of bachelor's degrees.
A very heterogeneous student community is thought to be a strength and
unique feature of this program.
Thesis directions
- Computational Science: Applied Mathematics and Risk Analysis
- Computational Science: Astrophysics
- Computational Science: Bioinformatics
- Computational Science: Biology
- Computational Science: Chemistry
- Computational Science: Geoscience
- Computational Science: Imaging and Biomedical Computing
- Computational Science: Materials science
- Computational Science: Mechanics
- Computational Science: Physics
The thesis projects will be tailored to the student's needs, wishes and scientific background. The projects can easily incorporate topics from more than one discipline.
Structure and courses
The table here is an example of a suggested path for a Master of Science project,
with course work the first year and thesis work the last year.
| 10 ECTS | 10 ECTS | 10 ECTS |
4th semester | Master thesis | Master Thesis | Master Thesis |
3rd semester | Master thesis | Master Thesis | Master Thesis |
2nd semester | Master courses | Master courses | Master courses |
1st semester | Master courses | Master courses | Master courses |
The program is very flexible in its structure and students may opt for starting with their thesis
work from the first semester and scatter the respective course load across all four semesters.
Depending on interests and specializations, there are many courses on computational science which can make
up the required curriculum of course work. Furthermore, courses may be broken up in smaller modules,
avoding thereby the limitation of 10 ECTS per course only. Some of these courses are listed below.
Presently available courses at UiO and NMBU
New courses
In order to build a common study program and identity as a Computational Science student, there will be two compulsory courses that aim at providing topics of common and broad interest.
Both courses have a workload of 10 ECTS each. The courses are
- CS-MATH1: Data analysis and machine learning, 10 ECTS (Existing STK2100, GEO4310)
- Monte Carlo methods and statistical data analysis
- Optimization of data and handling of large data sets
- Machine learning and neural networks
- CS-INF1: High-Performance Computing and Numerical projects, 10 ECTS (Existing INF3380)
- This course teaches you to develop and structure large numerical projects, from code writing to finalizing a report
- Topics which are included are parallelization and vectorization
- Machine architecture and GPU-CPU programming
- Optimization of code and benchmarking
- Numerical methods from linear algebra will be discussed as well as examples from life science.
Possible new courses
Some of these courses could incorporate (or base themselves upon) existing ones. The courses here are organized according to their corresponding disciplines. They should, for search ease, contain the word Computational
- Mathematics
- CS-MATH1: Data analysis and machine learning (Existing GEO4330, STK2100)
- CS-MATH2: Basic methods in computational modeling (new? do we need it?)
- CS-MATH3: Mathematical Foundations of data science (based on MAT-INF4110 and STK4021)
- CS-MATH4: Computational Linear Algebra (based on MAT-INF4130)
- CS-MATH5: Computational differential equations (Based on INF5620)
- CS-MATH6: Computational finance (based on STK4520)
- CS-MATH7: Advanced data science (new)
- Physical sciences (Astrophysics, geoscience, physics, chemistry and materials science)
- CS-PHYS1: Computational Physics (based on FYS3150/4150)
- CS-PHYS2: Computational Molecular dynamics in life science and materials science (new)
- CS-PHYS3: Computational Astrophysics (based on AST9110)
- CS-PHYS4: Computational quantum mechanics (based on fys4411 and FYS-MENA4110)
- CS-PHYS5: Computational statistical mechanics (based on fys4460)
- CS-PHYS6: Computational Materials Science (based on FYS-MENA4111)
- Bioscience
- CS-BIO1: Computational Bioinformatics (Based on INF5380)
- CS-BIO2: Advanced Computational bioinformatics (new)
- CS-PHYS2: Computational Molecular dynamics in life science and materials science (new)
- Computer science
- CS-INF1: High-Performance Computing and Numerical projects (parts of inf3380, else new)
- CS-INF2: Advanced optimization of numerical code (new)
- Mechanics
- CS-MECH1: Computational Mechanics (based on MEK4470 and MEK4250?)
- CS-MECH2: Advanced Computational Mechanics (new?)
Graduate Certificates
The program plans to offer graduate certificates in
- Three of the courses with label CS-MATH gives a certificate in Computational Mathematics
- Three of the courses with label CS-PHYS gives a certificate in Computational Physics, Astrophysics, Chemistry, Materials Science and Geoscience
- Three of the courses with label CS-BIO gives a certificate in Computational life science.
- Three of the courses with label CS-INF gives a certificate in High-performance computing.
Description of Study directions
The basic structure of the study directions could be
- Description of study directions with potential projects
- Admission criteria
- Learning outcomes
- Program structure
- Semester abroad
- Career prospects
- Teaching and examinations
What follows are text proposals for these items.
Admission criteria: Applied Mathematics and Risk Analysis
This study direction requires 90 ECTS in mathematics and informatics courses.
- 70 ECTS have to be from the following courses, equivalent or similar to the University of Oslo mathematics and programming courses MAT1110, MAT1120, MAT2100/MAT2400, STK1100, MAT-INF1100, INF1000/INF1110 and IN2900 (new code).
- In addition, 20 ECTS have to come from at least two of the advanced courses MAT-INF3100, MAT-INF3360, STK2130, STK3405, INF3311, MAT-INF3xxx (Numerical analysis, new code) and/or MAT-INF3yyy (Dynamical systems, new code).
- An average mark C (European grading scale) is required for the above courses.
Admission criteria: Astrophysics
The program has a minimum course requirement of 120 ECTS (European Credit Transfer System) at the undergraduate level (bachelor degree or equivalent) in astrophysics, bioscience, chemistry, computer science and informatics, geoscience, mathematics, materials science, mechanics and physics.
- Of these 120 ECTS, 40 ECTS have to include basic mathematics and programming courses, equivalent to the University of Oslo mathematics courses MAT1100, MAT1110, MAT1120 and at least one of the corresponding computing and programming courses INF1000/INF1110 or MAT-INF1100/MAT-INF1100L/BIOS1100/KJM-INF1xxx.
- The remaining 80 ECTS have to be within at most two of the fields of astrophysics, bioscience, chemistry, computer science and informatics, geoscience, mathematics, materials science, mechanics and physics. 40 of these 80 ECTS have to be advanced undergraduate courses at the 2000 and 3000 level and a minimum of 20 ECTS must be at the 3000 level within physics/material science/astrophysics/informatics/mathematics/mechanics.
- An average mark C (European grading scale) is required for the 40 ECTS in mathematics and programming (corresponding to the University of Oslo courses MAT1100, MAT1110, MAT1120 and the corresponding computing and programming courses INF1000/INF1110 or MAT-INF1100/MAT-INF1100L/BIOS1100/KJM-INF1xxx or similar courses) and the 40 ECTS at the 2000 and 3000 level. A minimum of 20 ECTS must be at the 3000 level within physics/material science/astrophysics/informatics/mathematics/mechanics.
Admission criteria: Bioinformatics
The program has a minimum course requirement of 120 ECTS (European Credit Transfer System) at the undergraduate level (bachelor degree or equivalent) in Astrophysics, bioscience, chemistry, computer science and informatics, geoscience, mathematics, materials science, mechanics and physics.
- Of these 120 ECTS, 80 ECTS have to be within Informatics/Mathematics/Statistics (courses labeled as INF/IN, INF-MAT, MAT-INF, MAT and STK) where of 50 ECTS have to include basic mathematics and programming courses, equivalent to the University of Oslo mathematics courses MAT1100, MAT1110, MAT1120 and the corresponding computing and programming courses INF1000/INF1110 and INF1010/IN2900.
- A total of at least 40 ECTC out of the 120 ECTC have to be advanced undergraduate courses at the 2000 and 3000 level.
- An average mark C (European grading scale) is required for the above-specified 80 ECTS in Informatics/Mathematics/Statistics.
Admission criteria: Bioscience
The program has a minimum course requirement of 120 ECTS (European Credit Transfer System) at the undergraduate level (bachelor degree or equivalent) in Astrophysics, bioscience, chemistry, computer science and informatics, geoscience, mathematics, materials science, mechanics and physics.
- Of these 120 ECTS, 40 ECTS have to include basic mathematics and programming courses, equivalent to the University of Oslo mathematics courses MAT1100, MAT1110, MAT1120 and at least one of the corresponding computing and programming courses INF1000/INF1110 or MAT-INF1100/MAT-INF1100L/BIOS1100/KJM-INF1xxx.
- The remaining 80 ECTS have to be within at most two of the fields of astrophysics, bioscience, chemistry, computer science and informatics, geoscience, mathematics, materials science, mechanics and physics. 40 of these 80 ECTS have to be advanced undergraduate courses at the 2000 and 3000 level and a minimum of 20 ECTS must be at the 3000 level within bioscience.
- An average mark C (European grading scale) is required for the 40 ECTS in mathematics and programming (corresponding to the University of Oslo courses MAT1100, MAT1110, MAT1120 and the corresponding computing and programming courses INF1000/INF1110 or MAT-INF1100/MAT-INF1100L/BIOS1100/KJM-INF1xxx or similar courses) and the 40 ECTS at the 2000 and 3000 level. A minimum of 20 ECTS must be at the 3000 level within bioscience.
Admission criteria: Chemistry
The program has a minimum course requirement of 120 ECTS (European Credit Transfer System) at the undergraduate level (bachelor degree or equivalent) in Astrophysics, bioscience, chemistry, computer science and informatics, geoscience, mathematics, materials science, mechanics and physics.
- Of these 120 ECTS, 40 ECTS have to include basic mathematics and programming courses, equivalent to the University of Oslo mathematics courses MAT1100, MAT1110, MAT1120, MAT1050 and MAT1060 and at least one of the corresponding computing and programming courses INF1000/INF1110 or MAT-INF1100/MAT-INF1100L/BIOS1100/KJM-INF1xxx/GEO-KJM1040.
- The remaining 80 ECTS have to be within at most two of the fields of astrophysics, bioscience, chemistry, computer science and informatics, geoscience, mathematics, materials science, mechanics and physics. 40 of these 80 ECTS have to be advanced undergraduate courses at the 2000 and 3000 level and a minimum of 20 ECTS must be at the 3000 level within physics/material science/mechanics/astrophysics/informatics/mathematics/bioscience/chemistry/geoscience.
- An average mark C (European grading scale) is required for the 40 ECTS in mathematics and programming (corresponding to the University of Oslo courses MAT1100, MAT1110, MAT1120, MAT1050 and MAT1060 and the corresponding computing and programming courses INF1000/INF1110 or MAT-INF1100/MAT-INF1100L/BIOS1100/KJM-INF1xxx/GEO-KJM1040 or similar courses) and the 40 ECTS at the 2000 and 3000 level. A minimum of 20 ECTS must be at the 3000 level within physics/material science/astrophysics/mechanics/mathematics/informatics/bioscience/chemistry/geoscience.
Admission criteria: Geoscience
The program has a minimum course requirement of 120 ECTS (European Credit Transfer System) at the undergraduate level (bachelor degree or equivalent) in Astrophysics, bioscience, chemistry, computer science and informatics, geoscience, mathematics, materials science, mechanics and physics.
- Of these 120 ECTS, 40 ECTS have to include basic mathematics and programming courses, equivalent to the University of Oslo mathematics courses MAT1100, MAT1110, MAT1120 and at lest one of the corresponding computing and programming courses INF1000/INF1110 or MAT-INF1100/MAT-INF1100L/BIOS1100/GEO1040/GEO-KJM1040.
- The remaining 80 ECTS have to be within at most two of the fields of astrophysics, bioscience, chemistry, computer science and informatics, geoscience, mathematics, materials science, mechanics and physics. 40 of these 80 ECTS have to be advanced undergraduate courses at the 2000 and 3000 level in the fields of astrophysics, bioscience, chemistry, computer science and informatics, geoscience, mathematics, materials science, mechanics and physics.
- An average mark C (European grading scale) is required for the 40 ECTS in mathematics and programming (corresponding to the University of Oslo courses MAT1100, MAT1110, MAT1120 and the corresponding computing and programming courses INF1000/INF1110 or MAT-INF1100/MAT-INF1100L/BIOS1100/GEO1040/GEO-KJM1040 or similar courses) and the 40 ECTS at the 2000 and 3000 level within the fields of astrophysics, bioscience, chemistry, computer science and informatics, geoscience, mathematics, materials science, mechanics and physics.
Admission criteria: Imaging and Biomedical Computing
The program has a minimum course requirement of 120 ECTS (European Credit Transfer System) at the undergraduate level (bachelor degree or equivalent) in Astrophysics, bioscience, chemistry, computer science and informatics, geoscience, mathematics, materials science, mechanics and physics.
- Of these 120 ECTS, 80 ECTS have to be within Informatics/Mathematics/Statistics (courses labeled as INF/IN, INF-MAT, MAT-INF, MAT and STK) where of 50 ECTS have to include basic mathematics and programming courses, equivalent to the University of Oslo mathematics courses MAT1100, MAT1110, MAT1120 and the corresponding computing and programming courses INF1000/INF1110 and INF1010/IN2900.
- A total of at least 40 ECTC out of the 120 ECTC have to be advanced undergraduate courses at the 2000 and 3000 level.
- An average mark C (European grading scale) is required for the above-specified 80 ECTS in Informatics/Mathematics/Statistics.
Admission criteria: Materials Science
The program has a minimum course requirement of 120 ECTS (European Credit Transfer System) at the undergraduate level (bachelor degree or equivalent) in Astrophysics, bioscience, chemistry, computer science and informatics, geoscience, mathematics, materials science, mechanics and physics.
- Of these 120 ECTS, 40 ECTS have to include basic mathematics and programming courses, equivalent to the University of Oslo mathematics courses MAT1100, MAT1110, MAT1120 and at least one of the corresponding computing and programming courses INF1000/INF1110 or MAT-INF1100/MAT-INF1100L/BIOS1100/KJM-INF1xxx.
- The remaining 80 ECTS have to be within at most two of the fields of astrophysics, bioscience, chemistry, computer science and informatics, geoscience, mathematics, materials science, mechanics and physics. 40 of these 80 ECTS have to be advanced undergraduate courses at the 2000 and 3000 level and a minimum of 20 ECTS must be at the 3000 level within physics/material science/astrophysics/informatics/mathematics/bioscience/chemistry/mechanics/geoscience.
- An average mark C (European grading scale) is required for the 40 ECTS in mathematics and programming (corresponding to the University of Oslo courses MAT1100, MAT1110, MAT1120 and the corresponding computing and programming courses INF1000/INF1110 or MAT-INF1100/MAT-INF1100L/BIOS1100/KJM-INF1xxx or similar courses) and the 40 ECTS at the 2000 and 3000 level. A minimum of 20 ECTS must be at the 3000 level within physics/material science/astrophysics/mathematics/mechanics/informatics/bioscience/chemistry/geoscience.
Admission Criteria: Mechanics
- The program requires 80 ECTS within the basic mathematics and programming courses, equivalent to the University of Oslo mathematics courses MAT1100, MAT1110, MAT1120, MEK1100, MEK2200, INF1000/INF1100, MAT-INF3360.
- In addition, the program requires one of the following courses INF3331, MAT-INF3100, MAT-INF3xxx (Numerical analysis, new code) and/or MAT-INF3yyy (Dynamical systems, new code).
- An average mark C (European grading scale) is required for these courses.
Admission Criteria: Physics
The program has a minimum course requirement of 120 ECTS (European Credit Transfer System) at the undergraduate level (bachelor degree or equivalent) in Astrophysics, bioscience, chemistry, computer science and informatics, geoscience, mathematics, materials science, mechanics and physics.
- Of these 120 ECTS, 40 ECTS have to include basic mathematics and programming courses, equivalent to the University of Oslo mathematics courses MAT1100, MAT1110, MAT1120 and at least one of the corresponding computing and programming courses INF1000/INF1110 or MAT-INF1100/MAT-INF1100L/BIOS1100/KJM-INF1xxx.
- The remaining 80 ECTS have to be within at most two of the fields of astrophysics, bioscience, chemistry, computer science and informatics, geoscience, mathematics, materials science, mechanics and physics. 40 of these 80 ECTS have to be advanced undergraduate courses at the 2000 and 3000 level and a minimum of 20 ECTS must be at the 3000 level within physics/material science/mechanics/astrophysics/informatics/mathematics/bioscience/chemistry/geoscience.
- An average mark C (European grading scale) is required for the 40 ECTS in mathematics and programming (corresponding to the University of Oslo courses MAT1100, MAT1110, MAT1120 and the corresponding computing and programming courses INF1000/INF1110 or MAT-INF1100/MAT-INF1100L/BIOS1100/KJM-INF1xxx or similar courses) and the 40 ECTS at the 2000 and 3000 level. A minimum of 20 ECTS must be at the 3000 level within physics/material science/astrophysics/mechanics/mathematics/informatics/bioscience/chemistry/geoscience.
Description of learning outcomes
The power of the scientific method lies in identifying a given problem
as a special case of an abstract class of problems, identifying
general solution methods for this class of problems, and applying a
general method to the specific problem (applying means, in the case of
computing, calculations by pen and paper, symbolic computing, or
numerical computing by ready-made and/or self-written software). This
generic view on problems and methods is particularly important for
understanding how to apply available, generic software to solve a
particular problem.
Computing competence represents a central element
in scientific problem solving, from basic education and research to
essentially almost all advanced problems in modern
societies. Computing competence is simply central to further
progress. It enlarges the body of tools available to students and
scientists beyond classical tools and allows for a more generic
handling of problems. Focusing on algorithmic aspects results in
deeper insights about scientific problems.
The learning outcomes are subdivided in three general categories, knowledge, skills and general competence.
- Knowledge: A candidate from this program
- has deep knowledge of the scientific method and computational science at an advanced level, meaning that the candidate
- has the ability to understand advanced scientific results in new fields
- has fundamental understanding of methods and tools
- can develop and apply advanced computational methods to scientific problems
- is capable of judging and analyzing all parts of the obtained scientific results
- can present results orally and in written form as scientific reports/articles
- can propose new hypotheses and suggest solution paths
- can generalize mathematical algorithms and apply them to new situations
- can link computational models to specific applications and/or experimental data
- can develop models and algorithms to describe experimental data
- masters methods for reproducibility and how to link this to a sound ethical scienfitic conduct
- has a thorough understanding of how computing is used to solve scientific problems
- knows fundamental algorithms in computational science
- has a fundamental understanding and knowledge of scientific work, meaning that
- the candidate can develop hypotheses and suggest ways to test these
- can use relevant analytical, experimental and numerical tools and results to test the scientific hypotheses
- can generalize from numerical and experimental data to mathematical models and underlying principles
- can analyze the results and evaluate their relevance with respect to the actual problems and/or hypotheses
- can present the results according to good scientific practices
- Skills: A candidate from this program
- has a deep understanding of what computing means, entailing several or all of the topics listed below
- knows the most fundamental algorithms involved, how to optimize these and perform statistical uncertainty quantification
- has overview of advanced algorithms and how they can be accessed in available software and how they are used to solve scientific problems
- has knowledge and understands high-performance computing elements: memory usage, vectorization and parallel algorithms
- can use effeciently high-performance computing resources, from compilers to hardware architectures
- understands approximation errors and what can go wrong with algorithms
- has knowledge of at least one computer algebra system and how it is applied to perform classical mathematics
- has extensive experience with programming in a high-level language (MATLAB, Python, R)
- has experience with programming in a compiled language (Fortran, C, C++)
- has experience with implementing and applying numerical algorithms in reusable software that acknowledges the generic nature of the mathematical algorithms
- has experience with debugging software
- has experience with test frameworks and procedures
- has experience with different visualization techniques for different types of data
- can critically evaluate results and errors
- can develop algorithms and software for complicated scientific problems independently and in collaboration with other students
- masters software carpentry: can design a maintainable program in a systematic way, use version control systems, and write scripts to automate manual work
- understands how to increase the efficiency of numerical algorithms and pertinent software
- has knowledge of stringent requirements to efficiency and precision of software
- understands tools to make science reproducible and has a sound ethical approach to scientific problems
- General competence: A candidate from this program
- is able to develop professional competence through the thesis work, entailing:
- mature professionally and be able to work independently
- can communicate in a professional way scientific results, orally and in written form
- can plan and complete a research project
- can develop a scientific intuition and understanding that makes it possible to present and discuss scientific problems, results and uncertainties
- is able to develop virtues, values and attitudes that lead to a better understanding of ethical aspects of the scientific method, as well as promoting central aspects of the scientific method to society. This means for example that the candidate
- can reflect on and develop strategies for making science reproducible and to promote the need for a proper ethical conduct
- has a deep understanding of the role basic and applied research and computing play for progress in society
- is able to promote, use and develop version control tools in order to make science reproducible
- is able to critically evaluate the consequences of own research and how this impacts society
- matures an understanding of the links between basic and applied research and how these shape, in a fundamental way, progress in science and technology
- can develop an understading of the role research and science can play together with industry and society in general
- can reflect over and develop learning strategies for life-long learning.
By completing a Master of Science thesis, the candidate will have developed a critical understanding of the scientific methods which have been studied, has a better understanding of the scientific process per se as well as having developed perspectives for future work and how to verify and validate scientific results.
Study abroad and international collaborators
Students at the University of Oslo may choose to take parts of
their degrees at a university abroad.
Students in this program have a number of interesting international
exchange possibilities. The involved researchers have extensive
collaborations with other researchers worldwide. These exchange
possibility range from top universities in the USA, Asia and Europe as
well as leading National Laboratories in the USA.
Career prospects
Candidates who are capable of modeling and understanding complicated
systems in natural science, are in short supply in society. The
computational methods and approaches to scientific problems students learn
when working on their thesis projects are very similar to the methods
they will use in later stages of their careers. To handle large
numerical projects demands structured thinking and good analytical
skills and a thorough understanding of the problems to be solved. This
knowledge makes the students unique on the labor market.
Career opportunities are many, from research institutes, universities
and university colleges and a multitude of companies. Examples
include IBM, Hydro, Statoil, and Telenor. The program gives an
excellent background for further studies, with a PhD as one possible
goal.
The program has also a strong international element which allows students to
gain important experience from international collaborations in
science, with the opportunity to spend parts of the time spent on
thesis work at research institutions abroad.