252-0021-00L  Introduction to Programming

SemesterAutumn Semester 2015
LecturersB. Meyer
Periodicityyearly recurring course
Language of instructionGerman



Catalogue data

AbstractIntroduction 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 on Design by Contract as present in Eiffel. For the second time we offer a supporting MOOC (online) version with more exercises and a hint system.
ObjectiveMany 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.
ContentBasics 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 deferred classes, introduction into event-driven design and concurrent programming. Basic concepts of Software Engineering such as the software process, specification and documentation, reuse and quality assurance.
Lecture notesTextbook: "Touch of Class" (see under "Literatur")
The lecture slides are available for download on the course page.
LiteratureBertrand Meyer: Touch of Class: Learning to Program Well Using Objects and Contracts, Springer Verlag, 2009; new printing, 2012. This is the official textbook for the course. See http://www.polybuchhandlung.ch/100/con_liste.asp
Prerequisites / NoticeThe course uses an "Outside-In" approach enabling students, right from the beginning, to use an advanced graphical library and produce significant applications. Students then learn step by step how the library is built, as a source of imitation and inspiration.

The course covers not only basic concepts of programming but also some advanced topics seldom encountered in introductory courses, such as recursion, undecidability, event-driven programming, multiple inheritance and others.

Performance assessment

Performance assessment information (valid until the course unit is held again)
Performance assessment as a semester course
In examination block forBachelor's Programme in Computer Science 2008; Version 24.02.2016 (Examination Block)
ECTS credits7 credits
ExaminersP. Müller, H. Lehner
Typesession examination
Language of examinationGerman
RepetitionThe performance assessment is offered every session. Repetition possible without re-enrolling for the course unit.
Mode of examinationwritten 120 minutes
Written aidsWörterbuch
If the course unit is part of an examination block, the credits are allocated for the successful completion of the whole block.
This information can be updated until the beginning of the semester; information on the examination timetable is binding.

Learning materials

 
Main linkInformation
Only public learning materials are listed.

Courses

NumberTitleHoursLecturers
252-0021-00 VEinführung in die Programmierung4 hrs
Mon13-15HG E 7 »
Tue08-10HG E 7 »
B. Meyer
252-0021-00 UEinführung in die Programmierung2 hrs
Wed08-10CAB G 52 »
08-10CAB G 56 »
08-10CAB G 57 »
08-10CHN D 42 »
08-10CHN D 44 »
08-10CHN D 46 »
08-10CHN G 22 »
08-10IFW A 34 »
08-10IFW B 42 »
08-10IFW C 31 »
08-10IFW C 33 »
15-17CAB G 59 »
15-17CHN D 46 »
15-17CHN F 42 »
15-17CHN G 22 »
15-17IFW A 34 »
15-17IFW B 42 »
15-17IFW C 33 »
15-17IFW D 42 »
15-17ML F 40 »
15-17ML H 34.3 »
B. Meyer

Groups

No information on groups available.

Restrictions

There are no additional restrictions for the registration.

Offered in

ProgrammeSectionType
Computer Science BachelorFirst Year ExaminationsOInformation
Interdisciplinary Sciences BachelorElectivesWInformation
Interdisciplinary Sciences BachelorElectivesWInformation