Einführung in die Programmierung I (252-0027)

Main content

Accordion. Press Tab to navigate to entries, then Enter to open or collapse content.

 

Ankündigungen & aktuelle Informationen

24. Jan. 2017 -- Sie koennen bis zum 26. Jan (17:00) noch Fragen zu Themen der Vorlesung stellen. Wir werden versuchen, diese zu beantworten (ggf. durch einen Link auf dieser Seite). Danach moechten wir keine Fragen mehr beantworten da wir sonst Gefahr laufen, allfaellige Probleme nicht mehr behandeln zu koennen.

20. Jan. 2017 – Die Lösung (PDF, 113 KB) der Probeprüfung ist online.

19. Jan. 2017 --  Slides (PDF, 580 KB) der Frage- und Antwortstunde.

11. Jan. 2017 – Die Probeprüfung (PDF, 110 KB) ist online. Ausserdem wurde die Frage- und Antwortstunde auf den Dienstag 17.01. verschoben. Sie findet von 10:15 – 11:55 im ML D28 statt.

03. Jan. 2017 – Die Folien für Übungsstunde 1 (PDF, 1.9 MB) wurden aktualisiert. Es sind nun die Lösungen für die EBNF- und Java-Zusatzaufgaben enthalten und ausserdem eine Anleitung zum Auschecken von früheren Versionen Ihrer Lösung oder der ursprünglichen Vorlage (Folie 4). Damit können Sie die Übungen erneut lösen. Beachten Sie ausserdem, dass Sie die Musterlösungen (in den Ordnern uX-sol) gleich wie Ihre Übungsvorlagen auschecken können.

22. Dez. 2016 – Fragen und Antworten zu Themen der Vorlesung am 17.01.2017 von 10:15 – (max) 11:55 im ML D28). Details später per Mail.

29. Sept. 2016 – Die Einteilung für die Übungsgruppen ab nächster Woche ist online. Siehe unten.

20. Sept. 2016 – Das erste Übungsblatt (Übung 0 (PDF, 221 KB)) ist online. Es gibt keine Abgabe, aber Sie sollten versuchen, die Übung bis am 27.09. zu erledigen.

20. Sept. 2016 – Die Umfrage ist online.

20. Sept. 2016 – Herzlich willkommen. Bitte registrieren Sie sich in "myStudies" bis Mittwoch 21. Sept. um 12:00 mittags wenn Sie diese Vorlesung belegen möchten.  Sie können sonst nicht an den Übungen teilnehmen und verpassen evtl. wichtige Informationen. (Sie können sich später wieder abmelden wenn Sie Ihre Meinung ändern.)

19. Sept. 2016 – In der ersten Woche finden keine Übungen statt.

Kursübersicht


1 Satz: Einführung in grundlegende Konzepte der modernen Programmierung. Vermittlung der Fähigkeit, Programme von höchster Qualität zu entwickeln. Einführung in Prinzipien des Software Engineering mit objekt-orientiertem Ansatz. 

N Sätze: Viele Menschen können Programme schreiben. Die Ziele der Vorlesung "Einführung in die Programmierung" gehen aber darüber hinaus: sie lehrt die fundamentalen Konzepte und Fertigkeiten, die nötig sind, um professionelle Programme zu erstellen. Nach erfolgreichem Abschluss der Vorlesung beherrschen Studenten die fundamentalen Kontrollstrukturen, Datenstrukturen, die Verfahren zur Problemlösung und Mechanismen von Programmiersprachen, die die moderne Programmierung auszeichnen. Sie kennen die Grundregeln für die Produktion von Software in hoher Qualität. Sie haben die nötigen Vorkenntnisse für weiterführende Vorlesungen, die das Programmieren in spezialisierten Anwendungsgebieten vorstellen.

Inhalt: Grundlagen der objekt-orientierten Programmierung. Objekte und Klassen. Vor- und Nachbedingungen, Invarianten, Design by Contract. Elementare Kontrollstrukturen. Zuweisungen und Referenzierung. Grundbegriffe aus der Hardware. Elementare Datenstrukturen und Algorithmen. Rekursion. Vererbung und Interfaces, Einführung in Event-driven Design und Concurrent Programming. Grundkonzepte aus Software Engineering wie dem Softwareprozess, Spezifikation und Dokumentation, Reuse und Quality Assurance.

Informationen zur Veranstaltung

Die Vorlesungen finden statt

  • Dienstags, 10:15–11:55 und
  • Freitags, 10:15–11:55

im ML D 28 mit Videoübertragung in den ML E 12.

Die Übung finden statt

  • Dienstags, 13:15–15:00 oder
  • Mittwochs, 15:15–17:00

Das Diskussionsforum des VIS hat ein Unterforum für diese Vorlesung: Einführung in die Programmierung I.

Die Uebertragung der Vorlesung vom D28 in den E12 wird aufgezeichnet und ist via das  ETH Videoportal erreichbar. 

E-Mail-Adresse für ernste Probleme (nicht für Fragen zu der Vorlesung oder zu Übungen):

Vorlesungsplan

Übungen

Übungsgruppen

Hier ist die Einteilung in Übungsgruppen als Liste von Matrikelnummern. Wenden Sie sich bei dringenden Fragen direkt an .

Group 1: Dienstag, IFW C 35  
16-914-962  
15-946-700  
16-914-913  
16-919-300  
12-612-677  
15-923-204  
16-914-640  
15-705-189  
16-941-965  
16-927-105  
16-922-767  
16-942-542  
15-705-189  
   
Group 2: Dienstag, CAB G 57  
16-940-330  
16-933-830  
15-917-404  
16-941-460  
16-925-208  
16-923-526  
16-052-490  
16-944-803  
16-915-233  
16-936-247  
15-613-516  
16-921-249  
16-926-420  
12-214-623  
16-941-627  
16-918-724  
16-944-548  
14-283-832  
16-919-995  
16-943-938  
16-920-969  
16-914-202  
15-929-052  
   
Group 3: Dienstag, IFW D 42  
16-914-517  
14-936-660  
16-941-858  
16-920-027  
16-941-882  
16-914-566  
16-949-703  
16-941-601  
15-928-906  
14-928-451  
16-924-086  
16-925-893  
16-946-345  
16-933-780  
16-922-080  
16-928-731  
16-920-589  
10-946-309  
16-937-310  
16-914-657  
14-936-199  
16-914-269  
   
Group 4: Mittwoch, CHN G 22  
15-921-620  
15-937-782  
16-937-518  
16-941-106  
16-935-462  
16-920-217  
15-938-673  
06-601-165  
16-916-405  
14-913-081  
15-942-311  
16-918-385  
15-921-588  
16-921-421  
16-944-555  
16-940-181  
16-928-699  
16-940-371  
11-937-109  
   
Group 5: Mittwoch, IFW D 42  
13-936-927  
16-933-772  
16-941-411  
16-927-410  
16-914-541  
16-941-668  
15-930-381  
16-914-681  
16-924-094  
16-944-597  
16-937-526  
16-927-998  
16-929-028  
15-933-377  
15-734-569  
16-943-946  
16-923-229  
16-940-405  
16-940-165  
16-927-527  
   
Group 6: Mittwoch, HG D 3.3  
16-937-542  
16-920-571  
16-917-635  
16-934-705  
16-940-173  
13-758-479  
16-940-025  
16-914-699  
16-922-999  
15-922-974  
16-944-571  
16-925-091  
16-927-014  
16-924-920  
14-064-182  
16-918-393  
16-915-217  
15-915-705  
16-923-641  
11-932-704  
   
Group 7: Mittwoch, IFW A 34  
11-706-108  
16-915-241  
16-927-212  
16-936-270  
16-915-258  
16-937-583  
16-934-556  
15-123-607  
12-921-573  
16-943-748  
08-923-435  
11-947-009  
15-936-644  
16-933-905  
15-931-462  
15-915-861  
15-915-473  
14-217-392  
15-937-311  
14-928-055  
   
Group 8: Dienstag, HG E 33.5  
16-920-985  
15-916-299  
15-939-317  
16-933-822  
15-939-325  
16-927-402  
16-946-055  
15-921-505  
14-936-512  
07-740-004  
16-936-254  
16-922-437  
16-935-587  
15-916-018  
16-914-442  
16-920-902  
16-935-595  
16-914-582  
15-922-909  
16-914-624  
15-923-485  
16-914-525  
16-944-563  
14-928-816  
16-934-929  
   
Group 9: Dienstag, IFW A 34  
16-925-638  
16-918-815  
14-921-423  
15-917-032  
16-934-879  
15-914-054  
15-921-265  
14-928-808  
16-933-863  
15-922-693  
15-938-657  
16-924-391  
16-942-724  
16-919-722  
16-929-036  
16-940-397  
15-931-421  
11-737-913  
15-917-941  
16-923-906  
15-923-162  
16-945-024  
16-941-619  
16-937-559  
16-937-575  
   
Group 10: Dienstag, NO E 11  
15-923-931  
16-923-625  
16-914-616  
16-918-716  
16-934-903  
16-941-874  
16-934-895  
14-944-847  
14-919-138  
16-914-954  
14-929-715  
16-920-993  
16-934-952  
15-933-518  
16-914-558  
16-923-518  
16-919-318  
16-941-684  
15-928-849  
16-927-436  
16-937-567  
16-920-019  
14-935-001  
16-941-692  
16-915-837  
16-934-713  
   
Group 11: Mittwoch, IFW B 42  
16-928-111  
15-915-853  
16-923-237  
16-928-285  
15-919-061  
14-920-631  
14-939-862  
16-915-209  
13-054-887  
16-941-890  
16-916-421  
16-918-609  
15-929-151  
16-922-361  
16-914-665  
16-941-353  
16-914-434  
16-914-988  
15-925-480  
16-932-998  
16-943-961  
16-925-018  
15-919-947  
11-557-048  
   
Group 12: Mittwoch, IFW C 33  
16-945-461  
16-933-848  
16-933-764  
12-718-029  
16-935-470  
15-913-502  
15-929-383  
15-930-720  
16-934-986  
16-933-889  
16-933-608  
15-942-592  
15-937-816  
14-937-064  
15-929-821  
16-942-963  
16-914-871  
16-949-828  
16-941-478  
16-935-843  
16-937-534  
16-945-743  
16-919-094  
16-922-072  
16-933-871  
   
Group 13: Mittwoch, ETZ G 91  
16-946-048  
16-921-728  
16-915-274  
16-922-007  
16-943-755  
15-931-397  
09-768-102  
14-931-885  
16-943-805  
13-931-688  
13-795-109  
14-945-406  
15-923-501  
15-937-683  
15-915-366  
14-932-131  
16-945-537  
15-932-692  
16-918-575  
16-943-763  
15-944-226  
09-913-070  
12-934-709  
09-921-123  
14-604-334  
   
Group 14: Dienstag, LFW E 13  
16-944-621  
07-925-712  
16-945-768  
15-929-409  
15-923-188  
15-406-564  
16-933-798  
12-913-646  
16-943-953  
16-934-887  
16-943-227  
16-921-736  
15-730-310  
16-921-256  
15-933-914  
16-934-911  
14-924-146  
16-935-454  
15-915-556  
16-919-714  
11-932-225  
16-918-708  
16-927-196  
15-942-626  
16-940-355  
12-611-844  
16-924-219  
16-942-716  
15-935-828  
16-925-430  
   
Group 15: Mittwoch, CAB G 59  
16-933-855  
15-914-492  
16-914-590  
16-944-589  
10-930-147  
16-925-000  
15-915-614  
16-946-063  
16-921-413  
16-921-710  
16-916-413  
15-914-526  
15-937-717  
16-937-500  
16-918-617  
16-943-995  
15-915-242  
16-914-251  
16-914-632  
15-920-457  
16-937-096  
16-914-673  
16-920-977  
15-930-365  
15-917-958  
16-914-863  
16-941-866  
15-930-324  
16-913-873  
   
Group 16: Mittwoch, HG E 33.1  
16-913-899  
16-933-814  
16-917-643  
16-914-509  
16-940-157  
15-924-715  
16-943-235  
15-935-422  
16-914-533  
16-945-677  
16-943-979  
16-940-389  
16-923-658  
16-928-277  
07-062-540  
01-922-293  
15-938-418  
16-932-973  
16-949-968  
16-933-913  
16-934-937  
16-946-030  
16-933-616  
14-923-528  
15-917-792  
16-937-070  
16-941-841  
16-942-971  
16-922-429  
   
Group 17: Mittwoch, RZ F 21  
16-944-605  
16-938-995  
16-928-129  
15-913-411  
16-949-984  
16-942-989  
16-933-004  
16-929-010  
15-944-333  
16-922-098  
14-933-147  
16-922-221  
11-215-688  
16-914-574  
16-926-560  
16-940-017  
15-924-392  
12-918-264  
16-944-795  
16-925-422  
15-918-287  
16-933-632  
13-944-020  
07-907-454  
16-949-877  
13-928-692  
16-914-608  
15-914-393  
12-935-797  

Literatur und Hilfsmittel

Lehrbücher:

Es gibt eine grosse Anzahl von Lehrbüchern die Java als Programmiersprache verwenden.  Die Vorlesung orientiert sich an zwei Lehrbüchern, aber es steht Ihnen frei, andere Bücher zu konsultieren. Wir verwenden Java 8.

S. Reges und M. Stepp, "Building Java Programs", 4th Edition, Pearson, ISBN 978-0-13-432276-6.  (Achten Sie auf die 4. Auflage, in der die Beispielprogramme für Java 8 angepasst sind.)  Diverse Beispiele aus der Vorlesung finden Sie auch in diesem Buch.

R. Sedgewick und K. Wayne, "Einführung in die Programmierung mit Java", 2011, Pearson Higher Education, ISBN 978-3-86894-0476-3. Deutsche Übersetzung, auch auf Englisch erhältlich.  Enhält viele interessante Beispiele von Programmen die Anwendungsprobleme lösen.

Dokumentation:

Sie finden auf dem Web die vollständige Spezifikation der Programmiersprache Java. Diese ist allerdings auf Englisch. Es gibt diese auch in Buchform, aber vermutlich finden Sie die Online-Version praktischer.

Die Java Web Seiten von Oracle enthalten Tutorials, API Dokumentation und vieles mehr, auch für frühere Versionen von Java.  

 
 
Page URL: http://www.lst.inf.ethz.ch/education/einfuehrung-in-die-programmierung-i--252-0027-.html
29.03.2017
© 2017 Eidgenössische Technische Hochschule Zürich