GRA 4151 Python for Data Analysis - SUMMER COURSE

GRA 4151 Python for Data Analysis - SUMMER COURSE

Course code: 
GRA 4151
Data Science and Analytics
Course coordinator: 
Jan Kudlicka
Course name in Norwegian: 
Python for Data Analysis - SUMMER COURSE
Product category: 
MSc Summer Courses
2024 Spring
Active status: 
Level of study: 
Teaching language: 
Course type: 
One semester

Python for Data Analysis is a master-level summer course in programming and data analysis using the Python programming language and its libraries for data processing, analysis and visualization (in particular, NumPy, Pandas, Matplotlib and Seaborn).

All sessions combine classical lectures with discussing and solving problems related to data analysis.

The course is intended for students with at least some basic programming experience (in any language). Experience with Python is not required. 

The course is offered to students of the following programmes:

  • MSc in Business
  • MSc in Leadership and Organisational Psychology
  • MSc in Entrepreneurship and Innovation
  • MSc in Digital Communication Management

Note that students are not allowed to take both this course and GRA 4142 Data Mangement and Python Programming due to a large overlap in the course content. This applies in particular to students of MSc in Business in which GRA 4142 is offered as an elective course. For the same reason this course is not open to students of MSc in Business Analytics (in which GRA 4142 is a mandatory course).

The course will be run physically on campus in Oslo, without any streaming/recording.

Note that this is a very challenging course and the students should be prepared to dedicate 8 hrs per day (including the lectures, self-studies and solving exercises).

Learning outcomes - Knowledge

Upon completion of the course the student shall be able to:

  • understand, explain and use fundamental programming concepts, including:
    • syntax and semantics,
    • variables,
    • types,
    • basic data structures,
    • expressions and statements,
    • control flow (conditionals and loops),
    • functions and libraries,
    • input/output operations,
    • exceptions

with focus on the Python programming language.

Learning outcomes - Skills

Upon completion of the course the student shall be able to:

  • use integrated development environments,
  • design, implement, run, test and debug programs in Python based on a given textual description of a problem,
  • process, analyze, summarize and visualize datasets using Python, NumPy, Matplotlib and Seaborn and other libraries,
  • read and understand Python source code implemented by others.
General Competence

Upon completion of the course the student shall have stronger competence in:

  • processing and analyzing data with help of computers,
  • using online resources as aids to solve problems,
  • reading and understanding technical documentation,
  • working in groups.
Course content
  • Introduction, installation of Python, Jupyter lab, IDEs.
  • Executing Python code.
  • Variables, basic types, user input and output.
  • Control flow (conditional execution, loops).
  • Organizing code (functions and libraries).
  • Data structures.
  • Strings, reading, writing and processing text files.
  • Vectors and matrices (NumPy).
  • Random numbers and the Monte Carlo method.
  • Processing and analyzing tabular data with Pandas (reading, cleaning, manipulating, grouping and aggregating data).
  • Plotting and visualization (Matplotlib, Seaborn).
Teaching and learning activities
  • Sessions combining classical lecture with discussing and solving practical problems (40 hours).
  • Homework exercises.
Software tools
No specified computer-based tools are required.

All courses in the Masters programme will assume that students have fulfilled the admission requirements for the programme. In addition, courses in second, third and/or fourth semester can have specific prerequisites and will assume that students have followed normal study progression. For double degree and exchange students, please note that equivalent courses are accepted.


Deviations in teaching and exams may occur if external conditions or unforeseen events call for this.

Exam category: 
Form of assessment: 
Submission other than PDF
Exam/hand-in semester: 
First Semester
30 Hour(s)
Exam code: 
GRA 41511
Grading scale: 
Examination when next scheduled course
Type of Assessment: 
Ordinary examination
Total weight: 
Sum workload: 

A course of 1 ECTS credit corresponds to a workload of 26-30 hours. Therefore a course of 6 ECTS credits corresponds to a workload of at least 160 hours.