Termine
- Vorlesung: Dienstag 13:15-15:00,
HG
F1
-
- Übung: Dienstag 15:15-17:00
-
-
Gruppe A, | Dienstag 15:15-17:00, | CAB G56, | Martin Jaggi. |
Gruppe B, | Dienstag 15:15-17:00, | CHN D44, | Andrea Arteaga. |
Gruppe C, | Dienstag 15:15-17:00, | CHN D48, | Stefan Pauli. |
Gruppe D, | Dienstag 15:15-17:00, | CHN E42, | Dimitar Asenov. |
Gruppe E, | Dienstag 15:15-17:00, | CHN G22, | Maria Christakis (english). |
Gruppe F, | Dienstag 15:15-17:00, | ETZ H91, |
Gian-Peder Fasser. |
Gruppe G, | Dienstag 15:15-17:00, | ETZ K91, | Daniel Tschudi. |
Gruppe H, | Dienstag 15:15-17:00, | HG D1.2, | Simone Frau (italiano). |
Gruppe I, | Dienstag 15:15-17:00, | HG D3.1, | Valentina de Rosa (english). |
Gruppe J, | Dienstag 15:15-17:00, | HG D3.3, | Benjamin Schindler. |
Gruppe K, | Dienstag 15:15-17:00, | HG F26.3, | Lukas Huthmacher. |
Gruppe L, | Dienstag 15:15-17:00, | HG F26.5, | Christian Müller. |
Gruppe M, | Dienstag 15:15-17:00, | IFW A34, | Florian Andritsch. |
Gruppe N, | Dienstag 15:15-17:00, | IFW B42, | Florian Negele. |
Gruppe O, | Dienstag 15:15-17:00, | IFW D42, | Markus Roos. |
Gruppe P, | Dienstag 15:15-17:00, | LFW E11, |
Milos Novacek (english). |
Gruppe Q, | Dienstag 15:15-17:00, | LFW E13, | Endri Dibra. |
Gruppe R, | Dienstag 15:15-17:00, | ML J37.1, | Thomas Scholtes. |
Gruppe S, | Dienstag 15:15-17:00, | NO E39, | Malte Schwerhoff. |
|
|
|
|
Inhalt der Vorlesung
Der Hauptteil der Vorlesung ist eine algorithmisch orientierte
Einführung ins Programmieren anhand der Sprache C++. Dieser
Teil gliedert sich in die drei Bereiche "Grundlagen", "Funktionen"
und "Klassen". Besonderes Augenmerk liegt auf dem Rechnen mit
arithmetischen Typen. Des weiteren geben wir einen Einblick in die
Geschichte der Informatik und einige ihrer wichtigen theoretischen
Grundlagen.
|
|
|
|
|
Arbeitsumgebung
Einer der Assistenten, Andrea Arteaga, hat einen Emulator für Registermaschinen-Programme geschrieben, wie wir sie in der Vorlesung verwenden. Der Emulator sollte alle Befehle, die wir in der Vorlesung behandeln, verstehen, aber es handelt sich noch um eine beta Version. Das heisst, vor allem wenn ein ungültiges Programm eingegeben wird, sind die Resultate manchmal nicht absehbar. Wir ermutigen Sie, Ihre Programme darauf zu testen, möchten aber gleichzeitig erwähnen, dass wir keine Garantien für Korrektheit abgeben. Weitere Informationen finden sie auf der Seite unter Dokumentation.
Für den Rest der Vorlesung arbeiten wir mit einem Unix System wie es in der Form von Linux
in den ETH Computerräumen installiert ist.
Es stehen etliche öffentliche Rechner in verschiedenen
Räumen zur Verfügung. Eine komplette Liste gibt es
hier.
Bei Zugangsproblemen, die Sie nicht mir ihrem
Übungsleiter zusammen lösen können, kontaktieren
Sie bitte die
Informatikdienste der ETH
(Telefon intern 27777).
Die meisten der PCs sind dualboot Windows/Linux.
Das heisst Sie müssen zuerst Linux starten, falls Sie mit
einem Windows Login Fenster begrüsst werden.
Informationen dazu gibt es
hier.
Wenn vorhanden, können natürlich auch private
Rechner benutzt werden. Wer mit dem Gedanken spielt, sich ein
eigenes Notebook anzuschaffen, der sollte einen Blick auf die Neptun Angebote werfen.
Für die privaten Rechner verwenden wir in diesem Semester
eine Linux openSUSE
Installation, die auf allen gängigen Betriebssystemen über
eine sogenannte VirtualBox von uns zur Verfügung gestellt wird.
Unabhängig davon, ob Sie auf einem öffentlichen oder privaten Rechner arbeiten, muss man den Rechner für den Einsatz in der Vorlesung konfigurieren. Einzig in der VirtualBox Distribution sind
alle Einstellungen schon integriert. Lesen Sie dazu die
Anleitung für Linux.
|
|
|
|
Hinweise zur Übung
Auf jeder Übungsserie gibt es mehrere Aufgaben, die schriftlich
zu bearbeiten und zum angegebenen Termin abzugeben sind.
Programmieraufgaben senden sie bis zu diesem Termin
per E-Mail an den Übungsleiter.
Gruppenabgaben wie auch das Einreichen identischer
Lösungen sind nicht zulässig.
|
|
|
|
Lindenmayer Challenge
Seht euch die Liste der eingereichten Abgaben an. Es gibt auch ein kleines Video dazu.
|
|
|
|
Testatbedingungen
Bitte lesen Sie sich die folgenden Absätze genau durch. Es handelt sich dabei um wichtige
Informationen bezüglich der Leistungskontrollen.
Was ist das Testat, und wie bekomme ich es?
Das Testat bescheinigt Ihnen eine erfolgreiche Teilnahme am Übungsbetrieb. Jede der wöchentlich
ausgegebenen Übungsserien enthält 3-4 reguläre Übungsaufgaben, für deren korrekte Lösung
insgesamt 16 Punkte vergeben werden. Zusätzlich enthalten die meisten Serien Challenge-Aufgaben, aus denen
jeweils 8 Punkte erzielt werden können. Insgesamt wird es 12 Übungsserien geben.
Um das Testat zu erhalten, müssen Sie 50% der regulären Punkte aus
allen Übungsserien erlangen. Bei 12 Übungsserien werden das
voraussichtlich 96 Punkte sein.
Es spielt dabei jedoch keine Rolle, ob Sie
die Punkte aus regulären Aufgaben oder aus Challenge-Aufgaben erzielen.
Insbesondere können Sie sowohl die regulären als auch die
Challenge-Aufgaben einer Serie lösen und somit mehr als 16 Punkte pro Serie erzielen.
Der Sinn dieser Anforderung besteht darin, Sie in Ihrem eigenen Interesse zu regelmässiger
Beschäftigung mit dem Vorlesungsstoff zu motivieren. Die Erfahrung zeigt, dass viele Studierende
beim Fehlen solcher Anforderungen die Vorlesung schleifen lassen und bei der späteren Vorbereitung
auf die Prüfung dann hoffnungslos überfordert sind.
Studierende, die sich durch den Vorlesungsstoff eher unterfordert fühlen und das regelmässige
Bearbeiten "langweiliger" Aufgaben als Zumutung empfinden, sind eingeladen, jeweils die
Challenge-Aufgaben zu bearbeiten. Dies sind meist schwierigere Aufgaben, für die auch
entsprechend mehr Punkte vergeben werden.
Warum brauche ich das Testat?
In der Regel nach dem ersten Studienjahr findet für die Bachelor-Studierenden die schriftliche
Basisprüfung (bestehend aus vier Einzelprüfungen) über alle obligatorischen
Fächer des Basisjahres statt. Der Erhalt des Testats ist eine unabdingbare
Zulassungsvoraussetzung für die Basisprüfung.
Was passiert, wenn ich das Testat nicht erhalte?
Selbst wenn Sie die Testate in allen anderen obligatorischen Fächern erhalten haben, werden Sie bei
Fehlen eines Testats nicht zur Basisprüfung zugelassen und sind damit gezwungen, das Testat im
darauf folgenden Studienjahr nachzuholen und somit alle Einzelprüfungen (auch die über die anderen
obligatorischen Fächer, in denen Sie die Testate erhalten haben) um mindestens ein halbes Jahr zu
verschieben.
Kann ich das Testat auch nachträglich noch erhalten?
Nein. Wenn Sie während des Semesters nicht auf 96 Punkte kommen, wird Ihnen das Testat nicht
erteilt, und es gibt keine Möglichkeit, es nachträglich noch zu bekommen. Sonderregelungen gelten
nur bei nachgewiesener Krankheit, Absenzen wegen Militärdienst, oder bei später in den Studiengang
eintretenden Studierenden.
Ich studiere nicht im Bachelor-Programm D-MATH / D-PHYS. Was gilt für mich?
Das hängt von Ihrem Studiengang ab und kann nicht pauschal beantwortet werden. Wenn Sie zu
irgendeinem Zeitpunkt eine Prüfung über diese Vorlesung ablegen wollen, erkundigen Sie sich bitte
bei den Verantwortlichen für Ihren Studiengang über die Zulassungsvoraussetzungen und Bedingungen.
Falls Sie nicht an einen Prüfungsblock gebunden sind, können Sie die Prüfung bereits im Winter
(zusammen mit den Repetierenden des letzten Studienjahres) ablegen.
Was ist, wenn ich das Testat in einem früheren Semester schon erhalten habe?
Einmal erhalten, bleibt das Testat für immer gültig. Sie sind gerne dazu eingeladen, die
Übungen trotzdem abzugeben, müssen dies aber nicht tun.
|
|
Prüfung
Die Prüfung besteht aus einer zweistündigen Klausur. Es
sind keine Hilfsmittel erlaubt. Bedingung für die
Zulassung zur Prüfung ist das Übungstestat.
Die Referenz für den Prüfungsstoff ist alles, was in der Vorlesung
besprochen wurde, und die Übungsaufgaben. Insbesondere bedeutet das,
dass zusätzliche Informationen aus dem Skript nicht an der
Prüfung verlangt werden.
|
|
|
|
Alte Prüfungen
Als Vorbereitung auf die Prüfung
stellen wir Ihnen hier eine Liste alter Prüfungen und
Musterlösungen zu dieser Vorlesung zur Verfügung. Angaben
in den Lösungen ohne Gewähr. Die Lösungen sind zum jetzigen
Zeitpunkt noch nicht zugänglich und werden gegen Ende des Semesters
freigeschaltet.
-
Klausur Herbst 2011 und
die Lösung
dazu.
-
Klausur Frühjahr 2011 und
die Lösung
dazu.
-
Klausur Herbst 2010 und
die Lösung
dazu.
-
Klausur Frühjahr 2010 und
die Lösung
dazu.
-
Klausur Herbst 2009 und
die Lösung
dazu.
-
Klausur Frühjahr 2009 und
die Lösung
dazu.
-
Klausur Herbst 2008 und
die Lösung
dazu.
-
Klausur Frühjahr 2008 und
die Lösung
dazu.
-
Klausur Herbst 2007 und
die Lösung
dazu.
-
Klausur Herbst 2006 und
die Lösung
dazu.
- Klausur
Frühjahr 2006 und die Lösung
dazu.
- Klausur Herbst
2005 und die Lösung dazu.
|
|
|
|
Literatur und Links
- Juraj Hromkovic: Sieben Wunder der Informatik, Teubner, 2006
- Andrew Koenig and Barbara E. Moo: Accelerated C++,
Addison-Wesley, 2000.
- Doina Logofatu: Algorithmen und Problemlösungen mit C++, Vieweg, 2006.
- Stanley B. Lippman: C++ Primer, 3. Auflage, Addison-Wesley,
1998.
- Klaus Simon: Programmieren für Mathematiker und Naturwissenschaftler. Eine pragmatische Einführung mit C++, vdf, 2000.
- Bjarne Stroustrup: The C++ Programming Language, 3. Auflage,
Addison-Wesley, 1997.
- Bjarne Stroustrup: Einführung in die C++ Programmierung,
Pearson Studium, 2010.
-
Hopcroft, Motwani & Ullman:
Einführung in die Automatentheorie, formale Sprachen und Berechenbarkeit, Pearson Studium, 2011.
- Project Euler, eine online Sammlung von interessanten Programmieraufgaben.
- Ideone ist ein online-Compiler, mit
dem Sie ihren Quellcode auf dem Internet testen können. Eignet
sich nur für ein-Dateien-Projekte, dafür in einer
Vielzahl von Sprachen (nicht nur C++).
|
|
|
|