252-0027-00L  Introduction to Programming

Semester Autumn Semester 2017
Lecturers T. Gross
Periodicity yearly course
Language of instruction German


Abstract Introduction to fundamental concepts of modern programming and operational skills for developing high-quality programs, including large programs as in industry. The course introduces software engineering principles with an object-oriented approach based.
Objective Many people can write programs. The "Introduction to Programming" course goes beyond that basic goal: it teaches the fundamental concepts and skills necessary to perform programming at a professional level. As a result of successfully completing the course, students master the fundamental control structures, data structures, reasoning patterns and programming language mechanisms characterizing modern programming, as well as the fundamental rules of producing high-quality software. They have the necessary programming background for later courses introducing programming skills in specialized application areas.
Content Basics of object-oriented programming. Objects and classes. Pre- and postconditions, class invariants, Design by Contract. Fundamental control structures. Assignment and References. Basic hardware concepts. Fundamental data structures and algorithms. Recursion. Inheritance and interfaces, introduction to event-driven design and concurrent programming. Basic concepts of Software Engineering such as the software process, specification and documentation, reuse and quality assurance.
Lecture notes The lecture slides are available for download on the course page.
Literature See the course page for up-to-date information.
Prerequisites / Notice There are no special prerequisites. Students are expected to enroll in the other courses offered to first-year students of computer science.