From 2 November 2020, the autumn semester 2020 will take place online. Exceptions: Courses that can only be carried out with on-site presence.
Please note the information provided by the lecturers via e-mail.

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

SemesterSpring Semester 2019
LecturersD. Komm
Periodicityyearly recurring course
Language of instructionGerman
CommentNumber of participants limited to 40.


AbstractIntroduction to programming in Java and to problem solving using standard algorithms and data structures.
ObjectiveThe goals of this lecture are first, to become familiar with the programming language Java, and second, to be able to solve given problems of the student's subject area (for example data processing) with their own programs.

The students should know standard algorithms and data structures, they should know how to use them and also what properties the algorithms and data structures have. The goal is, that students are able to make a reasonable choice of algorithms and data structures for a given problem and that they can implement their own program to solve the given problem.

The students will work on an own project during the lecture. They will need to present the project during the last lecture.
ContentThe following topics will be covered:
- Programming concepts vs. programming languages
- Introduction to Java
- Arrays
- Methods and parameters
- Classes, types and objects
- I/O, using the keyboard and the screen, reading and writing files
- Exceptions
- Lambda Expressions and the Stream API
- Data structures
- Introduction to GUI programming
Lecture notesLecture website: http://lec.inf.ethz.ch/ppl
Prerequisites / NoticeAttention: This is a block-course that takes place only during the first seven weeks of the semester. These seven weeks are very intensive as the graded projekt is also being implemented during this time.

Recommendation:
- Application of software tools (252-0839-00)
- Application Oriented Programming Using Python (252-0840-01)