Applied Programming (APP)
Course content
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 the 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 modelling, control and data structures,
encapsulation, the standard template library (STL), calls to
external libraries and functions in C/C++ from, examples of
interfacing to e.g. Python / R / MATLAB, the use
of classes and libraries including an overview of libraries for
scientific programming, and introduction to object-oriented
programming.
MSc Programme in Bioinformatics
MSc Programme in Physics
MSc Programme in Statistics
MSc Programme in Mathematics-Economics
Knowledge of
- Several programming paradigms; translated versus interpreted languages
- Imperative control structures and basic data structures
- Encapsulation of data states by means of structures and objects
- Basic computer architecture and hardware limitations
- Unit-tests
Skills in
- Writing small programs in C/C++
- Using templates / STL
- Compiling and using external/3rd. party libraries
- Implementing native C/C++ in a library which can be called from an interpreted language
- Finding, reading and using documentation for C/C++ libraries
- Using tools and structured approaches to locate and correct errors
Competences in
- Translating a scientific problem into an executable program using (C/C++) to solve the problem
- Participating in software development involving a shared codebase
We use flipped classroom teaching with focus on solving
practical exercises which is a methodology with only a few short
lectures. Exercises classes will primarily be held online and
lectures can also occur online.
The course is based on assignments, which are solved at home and in
class. We encourage all students to show up at the exercise
classes. All assignments are a part of the evaluation, and the
teachers will be present during all exercise classes.
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
reading materials. 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.
The first part of the course will rely on a book.
The second part will rely on online resources.
See Absalon for the specifics when the course is set up.
The course requires Linear Algebra including programming
experience in one of the following languages: Python / R / MATLAB /
Maple.
Academic qualifications equivalent to a BSc degree is
recommended.
The course is intended for all non-computer science students at the Faculty of Science, including but not limited to Physics, Math, Chemistry, Biology etc , and serves as an introduction to programming in C/C++.
As an exchange, guest and credit student - click here!
Continuing Education - click here!
PhD’s can register for MSc-course by following the same procedure as credit-students, see link above.
- ECTS
- 7,5 ECTS
- Type of assessment
-
Continuous assessment
- Type of assessment details
- Continuous assessment based on 4-6 written, individual
assignments.
All assignments have to be passed in order to pass the entire course. - Aid
- All aids allowed
The use of Large Language Models (LLM)/Large Multimodal Models (LMM) – such as ChatGPT and GPT-4 – is permitted.
- Marking scale
- passed/not passed
- Censorship form
- No external censorship
Several internal examiners
- Re-exam
-
A 20 minutes oral examination without preparation, covering the entire course syllabus.
Criteria for exam assessment
See Learning Outcome.
Single subject courses (day)
- Category
- Hours
- Lectures
- 4
- Preparation
- 38
- Practical exercises
- 84
- Exam
- 80
- English
- 206
Kursusinformation
- Language
- English
- Course number
- NDAK14007U
- ECTS
- 7,5 ECTS
- Programme level
- Full Degree Master
- Duration
-
1 block
- Placement
- Block 4
- Schedulegroup
-
CExercises classes will primarily be held online and lectures can also occur online.
- Capacity
- No limitation – unless you register in the late-registration period (BSc and MSc) or as a credit or single subject student.
- Studyboard
- Study Board of Mathematics and Computer Science
Contracting department
- Department of Computer Science
Contracting faculty
- Faculty of Science
Course Coordinator
- Abraham George Smith (3-6f75814e72773c79833c7279)
Er du BA- eller KA-studerende?
Kursusinformation for indskrevne studerende