NDAK14007U Applied Programming (APP)
MSc Programme in Bioinformatics
MSc Programme in Physics
The purpose of the course is to introduce the programming language C/C++, key programming concepts in a scientific context, and guidelines for documentation. The course will enable the student to develop C/C++ code needed to process large amounts of scientific data that cannot be handled in interpreted languages such as MATLAB, Python, Maple, or R.
The teaching will be based on examples from linear algebra.
Contents:
C/C++, problem modeling, control and data structures,
encapsulation, calls to functions in C/C++ from Java / Python / R /
MATLAB, the use of classes and libraries including an
overview of libraries for scientific programming, and introduction
to object-oriented programming.
Knowledge of:
- Several programming paradigms, translated versus interpreted languages.
- imperative control structures and basic data structures .
- Encapsulation of data states by means of structs.
- Interfaces between compiled and interpreted language
- Basic computer architecture and hardware limitations
- Version control (subversion, cvs, github)
Skills to:
- Write small programs in C/C++
- Use templates / STL
- Compile and use external / 3rd. party libraries
- Use native C/C++ in a library which can be called from a interpreted language
- Account for pros and cons of different approaches of documenting code
- Select quality assurance appropriate for different types of scientific software
Competences to:
- Translate a scientific problem into an executable program using (C/C++) that solves the problem.
- Participate in software development involving a shared code base.
Lectures will be given when general issues arise with respect to understanding. We will NOT give lectures covering the entire syllabus, and it is the students' responsibility to read the book. However, the teachers are available to explain any topic in the syllabus at the students' request during exercise classes. We have a priori selected a few difficult topics which will be covered during exercises through short lectures.
- Category
- Hours
- Lectures
- 4
- Practical exercises
- 84
- Preparation
- 118
- Total
- 206
As
an exchange, guest and credit student - click here!
Continuing Education - click here!
- Credit
- 7,5 ECTS
- Type of assessment
- Continuous assessment4-6 individual asignments
- Marking scale
- passed/not passed
- Censorship form
- No external censorship
Several internal examiners
- Re-exam
20 min. oral examination without preparation, covering the entire syllabus.
Criteria for exam assesment
An overall evaluation of the hand-ins, which all have to be
passed in order to pass the course.
See learning outcome.
Course information
- Language
- English
- Course code
- NDAK14007U
- Credit
- 7,5 ECTS
- Level
- Full Degree Master
- Duration
- 1 block
- Placement
- Block 4
- Schedule
- C
- Course capacity
- No limit
- Continuing and further education
- Study board
- Study Board of Mathematics and Computer Science
Contracting department
- Department of Computer Science
Course responsibles
- Sune Darkner (7-6d6a7b74776e7b496d7237747e376d74)