Course syllabus
Course-PM
DAT471 / DIT066 Computational techniques for large-scale data lp4 VT26 (7.5 hp)
Course is offered by the department of Computer Science and Engineering
Contact details
- Examiner / Lecturer: Matti Karppa <karppa@chalmers.se>
- Lecturer: Shirin Tavara <tavara@chalmers.se>
- TA Télio Corentin Cropsal <telio@chalmers.se>
- TA Nils Dunlop <nilsdu@chalmers.se>
- TA Alessandro Umberto Margueritte <alessandro-umberto.margueritte@chalmers.se>
- TA Deepthi Pathare <pathare@chalmers.se>
- TA Marc Wanner <wanner@chalmers.se>
- TA Yingjue Ma <yingjue@student.chalmers.se>
- TA Johan Sörstadius <gussorsjo@student.gu.se>
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.
Schedule
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)
- Quizzes (optional, earns bonus points for the exam)
To pass the course, you must
- Pass the mandatory assignments
- 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 2–4 weeks to work on one assignment. This means there are multiple parallel assignments running simultaneously. Assignments submitted by the deadline are graded within a week after the deadline.
Resubmissions are possible until 2026-06-03. Resubmissions are graded before midsummer.
Changes made since the last occasion
Assignment grading scale changed for Chalmers students and now synchronized with GU students.
Learning objectives and syllabus
Learning objectives:
After completion of the course the student should be able to:
- 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
- implement applications for transforming and analyzing large-scale data with different parallel software frameworks,
- use algorithms and datastructures for computations with large-scale data
- 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
Link to the syllabus on Studieportalen.
https://kursplaner.gu.se/pdf/kurs/en/DIT066
Examination form
Assignments are returned in PDF + Python form on Canvas. Assignments are graded on scale of U, 3, 4, 5.
The written exam is graded on the ordinary scale U, 3, 4, 5.
It is possible to obtain up to 3 bonus points to the exam by answering lecture-specific quizzes on Canvas.
The course grade is a weighted average.
Course summary:
| Date | Details | Due |
|---|---|---|