Official course description:
Full info last published 15/05-20

Introduction to Data Science and Programming

Course info
ECTS points:
Course code:
Participants max:
Offered to guest students:
Offered to exchange students:
Offered as a single subject:
BSc in Data Science
Course manager
Assistant Professor
Part-time Lecturer
Teaching Assistant
Teaching Assistant (TA)
Course semester
Efterår 2020
24 August 2020
22 January 2021
Exam type
intern censur
Grade Scale
Exam Language
This course is an introduction to programming, data science and related foundations.
The subjects covered in the course include: 
  • Computer fundamentals
  • Problem analysis, program design and implementation
  • Python programming: 
    • Simple data types, methods, fields, variables, expressions
    • Objects, special Python objects (Strings, Lists, Files), classes and class design, object-oriented design (object-oriented concepts: encapsulation, polymorphism, inheritance)
    • Basic logic and its relation to Boolean types and operations, decision structures
    • Loop structures
    • Data collections
    • Algorithm design and recursion
    • Testing and documentation
  • Foundational maths for programming and Data Science:
    • Basic formal reasoning (basic first order logic, set theory, sequences and sums)
    • Basic probabilities
    • Induction and recursion
    • Basic graph theory
  • Introductory Data Science:
    • Basic statistical and visual summaries and basic reporting
    • Data curation and preparation for analysis
    • Basic Machine Learning
    • Basic definitions of graph theory and basic Network Analysis
    • Big data and distributed computing 
Formal prerequisites
The course is mandatory for students on first semester BSc in Data Science.
The course is only open for students enrolled in BSc in Data Science.
Intended learning outcomes

After the course, the student should be able to:

  • Analyse a problem, with an aim to construct a short program in Python script to solve it.
  • Design a program (given an analysis).
  • Implement a program (given a design).
  • Test the program (including explaining whether it works as desired, and measuring to what degree the testing supports such conclusions).
  • Apply basic Python constructions.
  • Evaluate and explain whether or how a basic Python construction is appropriate to solve a problem.
  • Describe what a data science project is.
  • Prepare data for a data science analysis.
  • Create and explain basic statistical and visual summaries for datasets.
  • Assess basic probabilities for events.
  • Create and explain basic data science analyses (basic machine learning and basic network analysis).
  • Describe and apply formal definitions, and construct induction proofs.
  • reflect on and apply basic data structures for data science
Learning activities

There are 14 weeks of teaching activities.

Note that the course also includes weekly homework assignments and two mandatory coding tests, which are listed under mandatory activities.
The lectures cover topics in Data Science, Python programming, and any Supplementary Mathematics Foundation (beyond Gymnasium Maths) for this as listed above in the course content.
The exercise sessions are practical sessions associated with the topics covered in the weekly lectures. The exercises are also aimed at additionally equipping the students with the skill sets necessary for the successful completion of homework assignments.

Mandatory activities
The course includes:
1) a maximum of 12 mandatory homework assignments, and
2) a minimum of 1 and a maximum of 2 short coding tests on premises, approximately 10 lectures and 20 lectures into the course.
All mandatory activities are pass/fail.  Any coding parts of mandatory activities must be 100% correct for a pass.  Any analysis parts of mandatory activities must be sound and well justified. The students will be granted a second attempt at all mandatory activity. The second attempt deadline will be set one week after the first deadline.

Homework Assignments
  • Each homework assignment is closely tied to the weekly progression of the course, and also closely relates to the topics addressed in the lectures and the corresponding exercise sessions.
  • The homework assignments require the students to closely observe the submission deadlines. The students are required to submit correct solutions to the mandatory homework assignments to be considered eligible for the exam. We allow for a maximum of 1 assignment to be failed/not submitted.
Coding Tests
  • The coding test mandatory activity is a checkpoint to assess the adoption level for the skills required to participate in the remaining modules of the semester.
  • The coding tests are based on the more basic programming exercises reviewed in Exercise Sessions. 

The student will receive the grade NA (not approved) at the ordinary exam, if the mandatory activities are not approved and the student will use an exam attempt.

Course literature
Distributed course notes, articles and chapters as needed.

Student Activity Budget
Estimated distribution of learning activities for the typical student
  • Preparation for lectures and exercises: 10%
  • Lectures: 20%
  • Exercises: 20%
  • Assignments: 30%
  • Exam with preparation: 20%
Ordinary exam
Exam type:
A: Written exam on premises, Internal (7-point scale)
Exam variation:
A33: Written exam on premises on paper with restrictions
Exam duration:
4 hours
Aids allowed for the exam:
Written and printed books and notes
E-books and/or other electronic devices
  • like E-reader and iPad only to access books and notes. Without programming capability nor software to do so.

Time and date
Ordinary Exam - on premises Mon, 21 Dec 2020, 15:00 - 19:00