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

SemesterSpring Semester 2017
LecturersH. Lehner
Periodicityyearly recurring course
Language of instructionGerman

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
- Object-oriented programming
- Introduction to GUI programming
- Design patterns

The project has to be presented during the last lecture on.
Lecture notesLecture website: http://lec.inf.ethz.ch/ppl
Prerequisites / NoticePrerequisites:
- Application of software tools (252-0839-00)
- Application Oriented Programming Using MATLAB (252-0840-01)