Choose your language Chair of Softw are Engineering Languages spoken by assistants: Einführung in die Programmierung � German (several varieties) Introduction to Programming � English � French Prof. Dr. Bertrand Meyer � Italian October 2006 – February 2007 Exercise sessions (Übungsgruppen) are available in German (5) and English (3). Lecture 1: Introduction & Overview � If there are enough requests, we will turn one of the English groups into an Italian group. Choose an exercise session (i.e. an assistant) in your preferred language I ntro. to Programming, lecture 1: Overview 4 Goals of the course Englische & Deutsche Folien After successfully taking this course, you will: Folien für diese und alle weiteren Vorlesungseinheiten werden in Deutsch und in Englisch verfügbar sein. � Know the key concepts of programming. Sie können beide Varianten auf der Webseite der Vorlesung finden. � Understand basic hardware and software tools. � Master a programming language: Eiffel. � Know basic concepts of design, implementation and maintenance of large software systems (“software engineering”). I ntro. to Programming, lecture 1: Overview 2 I ntro. to Programming, lecture 1: Overview 5 Language Das war die erste deutsche Folie dieser Vorlesung. Teaching staff Das ist die letzte deutsche Folie dieser Vorlesung. & Practical information I ntro. to Programming, lecture 1: Overview 3 I ntro. to Programming, lecture 1: Overview 6 1
About me Choosing an exercise group � At ETH for five years Registration lists are available during the break. Choose � In industry most of my career your group according to � Founded Eiffel Software in Santa Barbara, � Preferred language California, in 1985. Now “Chief Architect” � Your schedule constraints � Published a number of books, in particular Object- � Availability Oriented Software Construction (2 nd edition: 1997) � Plan: help the industry build the best software We may have to reassign students to a different group possible to keep the numbers balanced The first exercise session takes place this afternoon! I ntro. to Programming, lecture 1: Overview 7 I ntro. to Programming, lecture 1: Overview 10 Contact details The assistants E-mail: Bertrand.Meyer@inf.ethz.ch Beat Herlig Office: RZ J22 Ilinca Ciupa Secretary: Claudia Günthart, 044 632 83 46 Hermann Lehner Claudia.Guenthart@inf.ethz.ch Philipp Kraehenbuehl Office: RZ J7 Piotr Nienaltowski Office hours: normally Thursdays during the Andreas Leitner semester, contact Ms. Günthart Marco Piccioni Michela Pedroni Bernd Schoeller I ntro. to Programming, lecture 1: Overview 8 I ntro. to Programming, lecture 1: Overview 11 Schedule Hermann Lehner Lectures: Mailing list: lovelace@se.inf.ethz.ch Monday, 13:15 – 15:00, HG E7 � Tuesday, 8:15 – 10:00, HG F1 � Exercise sessions: E-mail: hermann.lehner@inf.ethz.ch 7 groups Language: German � Monday, 15:15 – 16:00, various rooms Office: RZ F6 � Phone: 044 632 85 39 Tuesday, 13:15 – 15:00, various rooms � Rooms: 1 group � � Monday: ML J37.1 Tuesday, 13:15 – 14:00, IFW B42 � � Tuesday: ETZ E9 Thursday, 15:15 – 17:00, HG G26.3 � I ntro. to Programming, lecture 1: Overview 9 I ntro. to Programming, lecture 1: Overview 12 2
Philipp Krähenbühl Beat Herlig Mailing list: torvalds@se.inf.ethz.ch Mailing list: goldberg@se.inf.ethz.ch E-mail: beatherlig@student.ethz.ch E-mail: pk@student.ethz.ch Language: German Language: German Rooms: Rooms: � Monday: ML H37.1 � Monday: ML F39 � Tuesday: LFW C5 � Tuesday: LEC C18 I ntro. to Programming, lecture 1: Overview 13 I ntro. to Programming, lecture 1: Overview 16 Ilinca Ciupa Piotr Nienaltowski Mailing list: nygaard@se.inf.ethz.ch Mailing list: dijkstra@se.inf.ethz.ch E-mail: Ilinca.Ciupa@inf.ethz.ch E-mail: Piotr.Nienaltowski@inf.ethz.ch Office: RZ J4 Language: English Phone: 044 632 44 49 Office: RZ J3 Language: English Phone: 044 632 44 68 Room: Rooms: � Monday: IFW A32.1 � Monday: ML H34.3 � Tuesday: ETZ K91 � Tuesday: HG F3 I ntro. to Programming, lecture 1: Overview 14 I ntro. to Programming, lecture 1: Overview 17 Marco Piccioni Michela Pedroni Mailing list: knuth@se.inf.ethz.ch Mailing list: liskov@se.inf.ethz.ch E-mail: Marco.Piccioni@inf.ethz.ch Language: English E-mail: Michela.Pedroni@inf.ethz.ch Office: RZ J5 Office: RZ J8 Phone: 044 632 76 84 Phone: 044 632 65 32 Language: German Rooms: Rooms: � Tuesday: IFW B42 � Monday: ML J34.1 � Thursday: HG G26.3 � Tuesday: HG F5 I ntro. to Programming, lecture 1: Overview 15 I ntro. to Programming, lecture 1: Overview 18 3
Andreas Leitner Electronic forums Discussion forums: Mailing list: wirth@se.inf.ethz.ch Help forum for the whole course: http://forum.vis.ethz.ch/ Mailing list for each group Advice and rules: E-mail: Andreas.Leitner@inf.ethz.ch � Use the forums and mailing lists! Learning to program is hard: take Office: RZ J4 advantage of every help you can get. Phone: 044 632 30 21 � Don’t be shy. There are no stupid questions. Language: German � Criticism welcome, but always be polite to every participant and Rooms: observe the etiquette. � Monday: IFW A 36 � Tuesday: LEC C14 To email the whole teaching team (professor and assistants): eprog-assi@se.inf.ethz.ch I ntro. to Programming, lecture 1: Overview 19 I ntro. to Programming, lecture 1: Overview 22 If you need a laptop… Your most important URL for the next 4 months Course page: se.inf.ethz.ch/teaching/ws2006/0001/index.html ETH has good prices through the NEPTUN program � Check it at least twice a week English version available, but German more up to date Thinkpad (Lenovo, ex-IBM) or Apple Lecture material: � Lecture slides You choose your OS: Windows, Linux, MacOS � Textbook: Touch of Class (draft) Available electronically from course page Limited time window: see www.neptun.ethz.ch Also: Exercise material: Video recording of lectures! � Exercise sheets � Master solutions I ntro. to Programming, lecture 1: Overview 20 I ntro. to Programming, lecture 1: Overview 23 The textbook in progress Exercises, “Testat” regulations “Testat”: Needed for admittance to fall exam. Tasks: � 7 weekly assignments � 2 classroom exercises � 1 project To get the “Testat” you must have done at least: � 5 weekly assignments � Both classroom exercises � The project What you must do for each task: � Show serious effort to address the questions � Fill out questionnaire Military services or illness � contact your assistant. I ntro. to Programming, lecture 1: Overview 21 I ntro. to Programming, lecture 1: Overview 24 4
The software Warning The exercises rely on the Traffic “library” Not everything is perfect from our side. The Traffic software probably has mistakes (“bugs”), Application domain: Transportation system in a city and the textbook does, too. (in the book: Paris in this course: Zurich) BUT: � We will correct our mistakes, as quickly as we can. You will need to download: � If you try something, don’t blame the software � EiffelStudio: first. It may be doing just what you told it to. eiffelsoftware.origo.ethz.ch/downloads/builds/ � Traffic: traffic.origo.ethz.ch/download.html (this can wait until next week). I ntro. to Programming, lecture 1: Overview 25 I ntro. to Programming, lecture 1: Overview 28 Discovering Traffic Why this approach? Many software issues become really tough for big systems With other approaches, in an intro course, you only see small programs We give you lots of software; use it as model & inspiration You learn to use software through abstract interfaces (also known as contracts ) You go from consumer to producer: outside-in Traffic is graphical and fun! You should at the end be able to understand all of it. Then you can add to it yourself I ntro. to Programming, lecture 1: Overview 26 I ntro. to Programming, lecture 1: Overview 29 Behind the software Tootor (Marie-Helene Ng Cheong Vee) � Patrick Schoenbach (initial version) (Univ. of London) � Michela Pedroni (current Traffic project leader) � Till Bay (EiffelMedia library) Tool: helps you solve exercises, gives feedback Numerous ETH students including: Marcel Kessler, Rolf Bruderer, Ursina Caluori, Roger Küng, Alan Fehr, Sarah Hauser, Michele Croci, Data collection: help Matthias Bühlmann, Florian Geldmacher, Susanne us improve the Kasper, Lars Krapf, Valentin Wüstholz, Stefan Daniel, teaching. … I ntro. to Programming, lecture 1: Overview 27 I ntro. to Programming, lecture 1: Overview 30 5
Recommend
More recommend