Students
Tuition Fee
Not Available
Start Date
Not Available
Medium of studying
Fully Online
Duration
Not Available
Details
Program Details
Degree
Masters
Major
Computer Programming | Data Science | Software Development
Area of study
Information and Communication Technologies
Education type
Fully Online
Course Language
English
About Program

Program Overview


Program Details

Introduction to Applied Programming

The purpose of the Applied Programming (APP) course is to introduce the programming language C/C++, key programming concepts in a scientific context, and guidelines for documentation. This course enables students 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.


Course Content

The teaching will be based on examples from linear algebra. The course contents include:


  • 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
  • Introduction to object-oriented programming

Education

This course is part of the following MSc programmes:


  • MSc Programme in Bioinformatics
  • MSc Programme in Physics
  • MSc Programme in Statistics
  • MSc Programme in Mathematics-Economics
  • MSc Programme in Actuarial Mathematics

Learning Outcome

Upon completion of the course, students will have:


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

Teaching and Learning Methods

The course uses flipped classroom teaching with a focus on solving practical exercises. Exercises classes and lectures will be held online. The course is based on assignments, solved at home and in class. Lectures will be given when general issues arise with respect to understanding.


Literature

The first part of the course will rely on a book, and the second part will rely on online resources.


Recommended Prerequisites

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 are recommended.


Remarks

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++.


Exam

  • 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
  • Marking scale: Passed
    ot 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.


Course Type

Single subject courses (day)


Workload

  • Category:
  • Hours:
    • Lectures: 4
    • Preparation: 38
    • Practical exercises: 84
    • Exam: 80
  • English: 206

Course Information

  • Language: English
  • Course number: NDAK14007U
  • ECTS: 7.5 ECTS
  • Programme level: Full Degree Master
  • Duration: 1 block
  • Placement: Block 4
  • Schedule group: C
  • Exercises classes and lectures will be held online.
  • Capacity: No limitation – unless you register in the late-registration period (BSc and MSc) or as a credit or single subject student.
  • Study board: Study Board of Mathematics and Computer Science
  • Contracting department: Department of Computer Science
  • Contracting faculty: Faculty of Science
  • Course Coordinator: Abraham George Smith

Additional Information

For more information, please refer to the course catalog or contact the relevant department.


See More