Zur Modulseite PDF generieren

#41144 / #3

Seit WiSe 2024/25

English

Julia for Machine Learning
Julia für Maschinelles Lernen

6

Müller, Klaus-Robert

Benotet

Portfolioprüfung

English

Zugehörigkeit


Fakultät IV

Institut für Softwaretechnik und Theoretische Informatik

34352000 FG Maschinelles Lernen

Keine Angabe

Kontakt


MAR 4-1

Hill, Adrian Rainer

hill@tu-berlin.de

Lernergebnisse

The students are able to use the Julia programming language to implement and apply machine learning algorithms. They are familiar with common packages in the Julia ecosystem for classical machine learning, deep learning, and data visualizations. Students have a thorough understanding of automatic differentiation and the ways automatic differentiation packages differ in implementation. They are familiar with best practices for Julia development and can write reproducible, unit-tested code.

Lehrinhalte

In the first half of the course, students learn fundamentals of the Julia programming language as well as packages in the wider Julia Machine Learning ecosystem: - Performant array processing and linear algebra (LinearAlgebra.jl) - Working with tabular data and preprocessing features (DataFrames.jl) - Creating visualizations and plots (Plots.jl, StatsPlots.jl) - Classical Machine Learning algorithms (MLJ.jl) - Mathematical fundamentals of automatic differentiation - Differences in implementations of automatic differentiation in Julia (ChainRules.jl, Zygote.jl, Enzyme.jl, ForwardDiff.jl, FiniteDifferences.jl) - Training Deep Learning models (Flux.jl, MLDatasets.jl) - Common development workflows for package development and scientific experiments (PkgTemplates.jl, DrWatson.jl) - Best practices for Julia development, profiling, and debugging (Debugger.jl, Infiltrator.jl, ProfileView.jl, Cthulhu.jl) In the second half, student work in groups on a small programming project of their choice, learning how to: - Structure and develop a package - Write package tests - Write and host package documentation

Modulbestandteile

Compulsory area

Die folgenden Veranstaltungen sind für das Modul obligatorisch:

LehrveranstaltungenArtNummerTurnusSpracheSWS ISIS VVZ
Julia for Machine LearningIVWiSe/SoSede4

Arbeitsaufwand und Leistungspunkte

Julia for Machine Learning (IV):

AufwandbeschreibungMultiplikatorStundenGesamt
Homework, including follow-up on lectures4.02.0h8.0h
Project work (programming, follow-up on code reviews, preparation of presentation)1.0144.0h144.0h
Project presence time (project selection meeting, 2 code reviews, presentations)4.02.0h8.0h
Lectures10.02.0h20.0h
180.0h(~6 LP)
Der Aufwand des Moduls summiert sich zu 180.0 Stunden. Damit umfasst das Modul 6 Leistungspunkte.

Beschreibung der Lehr- und Lernformen

The module is divided into two parts: In the first half of the semester, weekly lectures are held to teach the basics of the Julia programming language and packages from its machine learning ecosystem. Based on these lectures, weekly programming homework is given in the form of guided notebooks to be solved individually by students. In the second half of the semester, students work in small groups on programming projects of their choice, learning best practices for package development in Julia. During code review sessions, students give each other feedback on their projects before presenting their work in end-of-semester presentations.

Voraussetzungen für die Teilnahme / Prüfung

Wünschenswerte Voraussetzungen für die Teilnahme an den Lehrveranstaltungen:

This course assumes knowledge of common programming concepts like for-loops and arrays. No knowledge of the Julia programming language is required. Knowledge of basic mathematical concepts is helpful. For example, knowledge of linear algebra helps understand array operations.

Verpflichtende Voraussetzungen für die Modulprüfungsanmeldung:

Dieses Modul hat keine Prüfungsvoraussetzungen.

Abschluss des Moduls

Benotung

Benotet

Prüfungsform

Portfolio examination

Art der Portfolioprüfung

100 Punkte insgesamt

Sprache(n)

English

Prüfungselemente

NamePunkteKategorieDauer/Umfang
(Deliverable assessment) Homework20praktisch4 homework notebooks, each with a workload of 2 hours
(Deliverable assessment) Project work50praktischProgramming project: implement and document a software package in Julia
(Examination) Presentation10mündlich10-minute presentation of project work to other students + 5 minutes of questions and answers
(Examination) Oral exam: evaluation of the project20mündlich20-minute oral exam and evaluation of the programming project

Notenschlüssel

Notenschlüssel »Notenschlüssel 1: Fak IV (1)«

Gesamtpunktzahl1.01.31.72.02.32.73.03.33.74.0
100.0pt86.0pt82.0pt78.0pt74.0pt70.0pt66.0pt62.0pt58.0pt54.0pt50.0pt

Dauer des Moduls

Für Belegung und Abschluss des Moduls ist folgende Semesteranzahl veranschlagt:
1 Semester.

Dieses Modul kann in folgenden Semestern begonnen werden:
Winter- und Sommersemester.

Maximale teilnehmende Personen

Die maximale Teilnehmerzahl beträgt 40.

Anmeldeformalitäten

Students can only participate in this module if they have not used the elective "Julia Programming for Machine Learning (JuML)" as part of the modules "Machine Learning 1-X", "Machine Learning 2-X", or "Cognitive Algorithms" or if they have received a respective certificate.

Literaturhinweise, Skripte

Skript in Papierform

Verfügbarkeit:  nicht verfügbar

 

Skript in elektronischer Form

Verfügbarkeit:  verfügbar

 

Literatur

Empfohlene Literatur
Keine empfohlene Literatur angegeben

Zugeordnete Studiengänge


Diese Modulversion wird in folgenden Studiengängen verwendet:

Studiengang / StuPOStuPOsVerwendungenErste VerwendungLetzte Verwendung
Computer Engineering (M. Sc.)116WiSe 2024/25SoSe 2026
Computer Science (Informatik) (M. Sc.)120WiSe 2024/25SoSe 2026
Elektrotechnik (M. Sc.)112WiSe 2024/25SoSe 2026
ICT Innovation (M. Sc.)18WiSe 2024/25SoSe 2026
Information Systems Management (Wirtschaftsinformatik) (M. Sc.)18WiSe 2024/25SoSe 2026
Luft- und Raumfahrttechnik (M. Sc.)14WiSe 2024/25SoSe 2026
Medieninformatik (M. Sc.)18WiSe 2024/25SoSe 2026
Medientechnik (M. Sc.)116WiSe 2024/25SoSe 2026
Physikalische Ingenieurwissenschaft (M. Sc.)216WiSe 2024/25SoSe 2026

Studierende anderer Studiengänge können dieses Modul ohne Kapazitätsprüfung belegen.

Sonstiges

Keine Angabe