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 2016
LecturersA. L. Schüpbach
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
- Data structures
- Object-oriented programming
- Introduction to GUI programming
- Design patterns
- Threads

During the exercise sessions, students learn how to install Java, Eclipse
and Subversion in their own laptop.

The students have to use the repository to store their project.
The project has to be presented during the last lecture on.
Lecture notesLecture website:
Literature- Sprechen Sie Java? Eine Einführung in das systematische Programmieren,
Hanspeter Mössenböck, dpunkt.verlag
- Java-API, Oracle, Java-API
- The Java Language Specification Java SE 7 Edition,
James Gosling, Bill Joy, Guy Steele, Gilad Bracha, Alex Buckley JLS7
Prerequisites / NoticePrerequisites:
- Application of software tools (252-0839-00)
- Application Oriented Programming Using MATLAB (252-0840-01)