252-0833-00L  Computer Science II

SemesterSpring Semester 2023
LecturersC. Cotrini Jimenez, R. Sasse
Periodicityyearly recurring course
Language of instructionGerman
CommentOnly for Mechanical Engineering BSc (Programme Regulations 2022).


AbstractComputer Science II lays the foundation for understanding, designing, and analyzing algorithms and data structures.

It also provides an overview of various programming concepts, such as functional programming and static and dynamically typed programming languages.
Learning objectiveUnderstanding of the design and analysis of basic algorithms and data structures, working with multidimensional data using Python libraries, and overview of various programming concepts.
ContentIntroduction of Python: from C++ to Python, advanced concepts and integrated data structures in Python; analyzing data, manipulating data with Numpy and visualizing with Matplotlib; linear regression, classification and (k-Means) clustering.

Basic algorithms and data structures, design patterns for algorithms (induction, divide and conquer, dynamic programming), classical algorithmic problems (searching and sorting), data structures (search trees, heaps, union-find).

Exercises are performed in the online IDE and exercise management system Code-Expert.
LiteratureTh. Ottmann, P. Widmayer: Algorithmen und Datenstrukturen, Spektrum-Verlag, 5. Auflage, Heidelberg, Berlin, Oxford, 2011

Thomas H. Cormen, Charles E. Leiserson, Ronald Rivest, Clifford Stein: Algorithmen - Eine Einführung, Oldenbourg, 2010
Prerequisites / NoticeLecture 252-0832-00L Computer Science I or equivalent knowledge of programming with C++.