[IAIP] - [de] - [Artificial Intelligence for Programming]


Artificial Intelligence for Programming [2022 Sommer]
Code
IAIP
Name
Artificial Intelligence for Programming
LP
6
Dauer
one semester
Angebotsturnus
at least every 4th semester
Format
Lecture 2 SWS + Exercise course 2 SWS
Arbeitsaufwand
180 h; thereof
60 h lecture
15 h preparation for exam
105 h self-study and working on assignments (optionally in groups)
Verwendbarkeit
M.Sc. Angewandte Informatik
M.Sc. Data and Computer Science
M.Sc. Scientific Computing
Sprache
English
Lehrende
Artur Andrzejak
Prüfungsschema
Lernziele Expected learning outcomes are:
- Knowledge of selected classical methods in arti-ficial intelligence, in particular knowledge repre-sentation, search methods, rule systems
- Basic knowledge about probabilistic models and probabilistic programming
- Knowledge of techniques for code representation and parsing
- Knowledge of techniques for modeling of code via neural networks
- Knowledge of basic and advanced methods for program synthesis
- Familiarity with semantic parsing and code sum-marization
- Familiarity with selected applications of AI for programming, e.g. code-to-code translation, code recommendations, and detection of bugs in code.
Lerninhalte This module covers the following topics:
- introduction to classical methods in artificial intelligence, in particular knowledge representation, search methods, rule systems
- introduction to probabilistic models and probabilistic programming
- fundamentals of code representation and parsing
- modeling of code via neural networks and sequence models/transformers
- basic and advanced methods for program synthesis
- introduction to semantic parsing and code summarization
- state-of-the-art applications of AI for programming, e.g. code-to-code translation, code recommendations, detection of vulnerabilities in code.
Teilnahme-
voraus-
setzungen
Skills in programming (preferably Python) and elementary knowledge of probability theory / statistics. Recommended prerequisites are lectures in machine learning, e.g. Foundations of machine learning.
Vergabe der LP und Modulendnote The module is completed with a graded oral or written exam. The final grade of the module is determined by the grade of the exam. The requirements for the assignment of credits follows the regulations in section modalities for exams.
Nützliche Literatur Stuart J. Russell: Artificial intelligence: a modern ap-proach, (3rd ed.), Pearson, 2016, Heidi: https://bit.ly/2V9LQT9
Noah D. Goodman, Joshua B. Tenenbaum: Probabil-istic Models of Cognition (2nd ed.), 2016. Online: https://probmods.org/
Jeremy Howard: Deep learning for coders with fastai and PyTorch, (1st ed.), O'Reilly, 2020, Online via Heidi: https://bit.ly/3jUMkH7
Aurélien Géron: Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, (2nd ed.), O'Reilly, 2019, Online via Heidi: https://bit.ly/3dVhieA