Course syllabus


DAT470 / DIT065 DAT470 / DIT065 Computational techniques for large-scale data lp4 VT24 (7.5 hp)

Course is offered by the department of Computer Science and Engineering

Contact details

List of...

Course purpose

The advent of big-data has led to the development of new programming paradigms, in particular for parallel systems allowing the computation with big data on redundant clusters of commodity computers. This course provides an introduction to different programming paradigms, e.g. MapReduce and extensions, which facilitate computations with Terabytes of data. It also demonstrates that for specific tasks algorithms and data structures can provide highly efficient alternatives.   



Course literature

Literature will be given during the course.

Course design

The course consists of following activities:

  • Lectures (two lectures a week, attendance not mandatory)
  • Lab sessions (three opportunities a week, attendance not mandatory)
  • Mandatory assignments (seven in total, done in pairs, returned through Canvas)
  • Canvas Discussion & Q&A (optional, earns bonus points for the exam)

To pass the course, you must

  • Pass the mandatory assignments (collect at least 70% of the points)
  • Pass the exam

Lab sessions consist of independent work on the assignments with the TAs there to help you.

You are expected to read the reading content before lectures, the content will not be reiterated at lectures.

Assignments require you to implement and evaluate algorithms in a practical setting on the teaching cluster using Python language.

Assignments are published weekly, and you have two weeks to work on one assignment. This means there are two parallel assignments running simultaneously. Assignments submitted by the deadline are graded within two weeks after the deadline. Late submissions will be deprioritized, so it may take considerably longer for you to get the points.

If at the end of the course you have not gathered enough points for passing the assignment part of the course, you will be instructed to revise those assignments where you got the worst grades, until you have met the requirements.

Changes made since the last occasion

Course structure has been updated. A module addressing GPUs has been added.

Learning objectives and syllabus

Learning objectives:

After completion of the course the student should be able to:

Learning objectives
  • discuss important technological aspects when designing and implementing analysis solutions for large-scale data,
  • explain differences between parallel programming models
  • describe data structures and algorithms for big data and discuss their utility
Skills and abilities
  • implement applications for transforming and analyzing large-scale data with different parallel software frameworks,
  • use algorithms and datastructures for computations with large-scale data
Judgement ability and approach
  • suggest appropriate computational infrastructures and methodological approaches for analysis tasks and discuss their advantages and drawbacks,
  • discuss advantages and drawbacks of different strategies of parallelization,
  • decide between algorithmic and parallelization-based approaches for accelerating computational workloads


Study plan (Chalmers)

Syllabus (GU)

Examination form

Assignments are returned in PDF + Python form on Canvas. The assignment part of the course is considered a pass if 70% of the points have been collected, in total over all assignments.

The written exam is graded on the ordinary scale U, 3, 4, 5.

It is possible to obtain up to 3 bonus points by submitting something in a Canvas discussion, associated with weekly lectures beginning from the second lecture. The message counts towards bonus points if it includes meaningful input: a valuable opinion, a justified comment, or a meaningful question regarding the reading material.

Course summary:

Date Details Due