252-0842-00L  Introduction to Programming and Problem Solving

SemesterSpring Semester 2020
LecturersD. Komm
Periodicityyearly recurring course
Language of instructionGerman
CommentNumber of participants limited to 80.

AbstractCore concepts of Computer Science and their implementation in Python.
ObjectiveThe goals of the course are consolidating the knowledge about the programming language Python on the one hand, and learning about core concepts of computer science that are essential in algorithm design on the other hand. The focus is on computational thinking, that is, the ability to solve problems systematically by developing algorithms. Different strategies are introduced, analyzed theoretically, and implemented in Python. The combination of theory and practice is central in this course.
Content- Repetition of basic programming concepts such as variables, lists, control structures, and loops
- Reading in and visualizing data
- Complexity theory
- Sorting and searching
- Dynamic programming
- Recursion
- Graph algorithms
Lecture notesLecture website: http://lec.inf.ethz.ch/ppl
Prerequisites / NoticeRecommendation:
- Foundations of Computer Science (252-0852-00)
- Application Oriented Programming Using Python (252-0840-01)