====== Übung zu „Einführung in die Programmierung“ ======
===== Wintersemester 2020/2021 =====
Diese Veranstaltung ist die begleitende Übung zur Vorlesung [[https://ls11-www.cs.tu-dortmund.de/teaching/ep2021vorlesung | Einführung in die Programmierung]] (Exportvorlesung für ET/IT, IKT, Physik, WiMa) aus dem Wintersemester 2020/2021.
==== Aktuelles ====
* **Update 28.01.2021:** [[ep2021uebung#uebungsblaetter|Übungsblatt 10]] ist online
* **Update 28.01.2021:** [[ep2021uebung#uebungsblaetter|Zusatzblatt]] angepasst
* **Update 11.01.2021:** [[ep2021uebung#uebungsblaetter|Zusatzblatt]] ist online
* **Update 08.01.2021:** Die Probeklausur wurde aktualisiert (Fehler in Pointer-Aufgabe 3a behoben).
* **Update 17.12.2020:** Die Probeklausur ist hochgeladen.
* **Update 15.12.2020:** {{:teaching:eidp:visualstudiocode_anleitung_windows_macos.pdf|Installationsanleitung für Visual Studio Code}} im Abschnitt [[ep2021uebung#hinweise_zu_den_programmieraufgaben|Hinweise zu den Programmieraufgaben]] aktualisiert: Im Abschnitt "Einrichten und Verwenden ..." wurde Schritt E6 erweitert und E7 hinzugefügt, damit Sie Compilerwarnungen erhalten. Wir empfehlen die Einstellungen nachträglich zu übernehmen.
/*
* **Update 10.11.2020:** [[ep2021uebung#gruppeneinteilung|Gruppeneinteilung im Prioritätenverfahren]] startet heute und geht bis Donnerstag, 12.11.2020, 20:00
*/
==== Helpdesk ====
^ Wochentag ^ Zeit ^ Ort ^ Tutor ^ Matrix-Raum ^
| Mittwoch | 14 - 16 Uhr | [[https://lehros.cs.tu-dortmund.de/b/aar-zhy-apm | BBB-Helpdesk 01]] | Aaron Eicker | [[https://element.fachschaften.org/#/room/#eidp-helpdesk:fachschaften.org | Link]] |
| Freitag | 14 - 16 Uhr | [[https://lehros.cs.tu-dortmund.de/b/mau-dwp-pdv | BBB-Helpdesk 02]] | Maurice Raetsch | ::: |
==== Plagiate ====
**Achtung:**
**Ab sofort (01.11.2020) gibt es bei Plagiaten 0 Punkte für das gesamte Übungsblatt! Auch in dem Fall, dass nur eine Aufgabe plagiiert wurde.**
==== Probeklausur ====
/*
Es wird eine **Probeklausur am Donnerstag, 17.12.2020** auf dieser Webseite hochgeladen.
*/
Die Probeklausur wird nicht eingesammelt und auch von uns nicht korrigiert. Diese dient nur zur Vorbereitung auf die echte Klausur. Die Bearbeitung ist freiwillig.
**// **Probeklausur** //**
==== Gruppeneinteilung ====
Die Freischaltung zur Anmeldung erfolgt am **Dienstag, 10.11.2020 ab 08:00 Uhr** und ist bis zum **Donnerstag, 12.11.2020 bis 20:00 Uhr**, möglich. Falls Sie für AsSESS noch nicht registriert sind, sollten Sie zuvor einen neuen Account anlegen.
Sie erhalten daraufhin eine E-Mail, in der ein Link zur Bestätigung anzuklicken ist.
Nach der Anmeldung finden Sie die Übungen unter //EidP Übungen WS 2020/2021//.
**// **[[https://ess.cs.tu-dortmund.de/ASSESS/index.php?do=exerciselist&lectureid=353&filter_s=WiSe&filter_y=2019 |zur Anmeldung der Übung]]** //**
/*
Aufgrund der beschränkten Anzahl an verfügbaren Arbeitsplätzen ist die Anzahl der Teilnehmer auf 15 pro Termin beschränkt.
**Wichtig**: Zur Anmeldung ist eine **E-Mail Adresse** erforderlich, die auf
* @udo.edu,
* @tu-dortmund.de, oder
* @cs.tu-dortmund.de
endet!
Sollten Sie noch keine Kennung besitzen, dann kümmern Sie sich bitte kurzfristig darum!
Für E-Mail Adressen der TU Dortmund sind nicht wir zuständig, sondern das [[http://www.itmc.tu-dortmund.de/|ITMC]].
*/
Die Anmeldung erfolgt im **Prioritäten-Verfahren**, d.h. Studierende müssen für mindestens N Übungstermine Prioritäten abgeben. Nach Ende der Anmeldung verteilt der Server die Studierende auf die Übungstermine unter Minimierung der Summe aller Prioritäten.
Falls Sie technische Probleme mit der Übungsanmeldung haben, schreiben Sie eine E-Mail an: assess{{:staff:at.gif|}}lists.cs.tu-dortmund.de
==== Übungsbetrieb ====
Es wird eine aktive Teilnahme an den Übungen vorausgesetzt. Die Übungszettel werden jeweils Donnerstags auf dieser Web-Seite veröffentlicht. Die Ausgabe des ersten in die Bewertung eingehenden Übungsblattes erfolgt am 12.11.2020. Zur Vorbereitung auf die erste Übungsstunde gibt es ein Einführungsblatt mit zwei Aufgaben, deren Bearbeitung freiwillig ist.
Der Übungsbetrieb **beginnt am 16.11.2020 - 20.11.2020**, je nach gewählter Übungsgruppe.
==== Übungstermine ====
^ Gruppe ^ Wochentag ^ Zeit ^ Ort ^ Tutor ^
| 01 | Montag | 10:15 - 11:45 Uhr | [[https://ffi-bbb1.cs.tu-dortmund.de/b/jon-gby-tkg-mfu | BBB-Raum 01]] | Jonas Ellert |
| 02 | Montag | 10:15 - 11:45 Uhr | [[https://lehros.cs.tu-dortmund.de/b/mal-6dh-kcz | BBB-Raum 02]] | Malte Wild |
| 03 | Montag | 12:15 - 13:45 Uhr | [[https://ffi-bbb1.cs.tu-dortmund.de/b/jon-hir-mcu-kac | BBB-Raum 03]] | Jonas Ellert |
| 04 | Montag | 12:15 - 13:45 Uhr | [[https://lehros.cs.tu-dortmund.de/b/mal-3eg-9wd | BBB-Raum 04]] | Malte Wild |
| 05 | Montag | 14:15 - 15:45 Uhr | [[https://ffi-bbb1.cs.tu-dortmund.de/b/luk-jjj-wcj-r0d | BBB-Raum 05]] | Lukas Kerren |
| 06 | Montag | 14:15 - 15:45 Uhr | [[https://lehros.cs.tu-dortmund.de/b/yan-wy7-rdf | BBB-Raum 06]] | Yannik Wicke |
| 07 | Montag | 16:15 - 17:45 Uhr | [[https://bbb.fachschaften.org/b/pat-t9l-3xu-xrh | BBB-Raum 07]] | Patrick Böcker |
| 08 | Dienstag | 08:15 - 09:45 Uhr | [[https://lehros.cs.tu-dortmund.de/b/kai-cq3-mmm | BBB-Raum 08]] | Kai Hunsdick |
| 09 | Dienstag | 16:15 - 17:45 Uhr | [[https://lehros.cs.tu-dortmund.de/b/mic-2ck-cxt | BBB-Raum 09]] | Michael Schlafke |
| 10 | Mittwoch | 12:15 - 13:45 Uhr | [[https://lehros.cs.tu-dortmund.de/b/mic-kkj-wta | BBB-Raum 10]] | Michael Schlafke |
| 11 | Mittwoch | 14:15 - 15:45 Uhr | [[https://bbb.fachschaften.org/b/pat-3zs-klt-syo | BBB-Raum 11]] | Patrick Böcker |
| 12 | Mittwoch | 16:15 - 17:45 Uhr | [[https://ffi-bbb1.cs.tu-dortmund.de/b/luk-vw9-grf-ana | BBB-Raum 12]] | Lukas Kerren |
| 13 | Donnerstag | 08:15 - 09:45 Uhr | [[https://lehros.cs.tu-dortmund.de/b/kai-gh3-4f4 | BBB-Raum 13]] | Kai Hunsdick |
| 14 | Donnerstag | 08:15 - 09:45 Uhr | [[https://lehros.cs.tu-dortmund.de/b/dan-zjn-apm | BBB-Raum 14]] | Daniel Werner |
| 15 | Freitag | 08:15 - 09:45 Uhr | [[https://lehros.cs.tu-dortmund.de/b/yan-rvr-jng | BBB-Raum 15]] | Yannik Wicke |
| 16 | Freitag | 08:15 - 09:45 Uhr | BBB-Raum 16 | Daniel Werner |
| 17 | Freitag | 10:15 - 11:45 Uhr | [[https://ffi-bbb1.cs.tu-dortmund.de/b/jur-akq-lbo-796 | BBB-Raum 17]] | Jurij Kuzmic |
| 18 | Freitag | 12:15 - 13:45 Uhr | [[https://ffi-bbb1.cs.tu-dortmund.de/b/jur-vsh-pqr-8hz | BBB-Raum 18]] | Jurij Kuzmic |
| 19 | Freitag | 12:15 - 13:45 Uhr | [[https://lehros.cs.tu-dortmund.de/b/hor-2jv-nfd|BBB-Raum 19]] | Horst Schirmeier |
| 20 | Freitag | 14:15 - 15:45 Uhr | [[https://lehros.cs.tu-dortmund.de/b/hor-kdd-dyj|BBB-Raum 20]] | Horst Schirmeier |
==== Übungsblätter ====
Die Übungsblätter werden jeweils Donnerstags über diese Seite zur Verfügung gestellt.
Die **Lösungen** der Aufgaben sind bis jeweils **Donnerstags 23:59 Uhr** der folgenden Woche **abzugeben**.
Verspätete Abgaben können von der Bewertung ausgeschlossen werden!
/*
**Achtung:**
/* **Die Einzelabgabe ist ab Übungsblatt 3 einschließlich nicht erlaubt.** */
/*
**Ausnahmsweise wurde die Abgabefrist für das Übungsblatt 5 wegen der Zwischenklausur Physik 1 bis zum 22.11.2019 um 23:59 Uhr verlängert.**
*/
^ Block ^ Übungsblatt ^ Ausgabe ^ Abgabe ^ Besprechung ^ Punkte ^ Hinweise & Quelltexte ^
| --- | Blatt 0 | 05.11.2020 | --- | 16.11. - 20.11.2020 | 0 | |
| {{:teaching:eidp:uebung:gelb.png?nolink&15|}} | Blatt 1 | 12.11.2020 | 19.11.2020 | 23.11. - 27.11.2020 | 4 | |
| {{:teaching:eidp:uebung:gelb.png?nolink&15|}} | Blatt 2 | 19.11.2020 | 26.11.2020 | 30.11. - 04.12.2020 | 4 | |
| {{:teaching:eidp:uebung:gelb.png?nolink&15|}} | Blatt 3 | 26.11.2020 | 03.12.2020 | 07.12. - 11.12.2020 | 4 | |
| {{:teaching:eidp:uebung:gelb.png?nolink&15|}} | Blatt 4 | 03.12.2020 | 10.12.2020 | 14.12. - 18.12.2020 | 4 | |
| {{:teaching:eidp:uebung:rot.png?nolink&15|}} | Blatt 5 | 10.12.2020 | 17.12.2020 | 04.01. - 08.01.2021 | 4 | |
| {{:teaching:eidp:uebung:rot.png?nolink&15|}} | Blatt 6 | 17.12.2020 | 07.01.2021 | 11.01. - 15.01.2021 | 4 | |
| {{:teaching:eidp:uebung:rot.png?nolink&15|}} | Blatt 7 | 07.01.2021 | 14.01.2021 | 18.01. - 22.01.2021 | 4 | |
| {{:teaching:eidp:uebung:rot.png?nolink&15|}} | Blatt 8 | 14.01.2021 | 21.01.2021 | 25.01. - 29.01.2021 | 4 | |
| {{:teaching:eidp:uebung:grün.png?nolink&15|}} | Blatt 9 | 21.01.2021 | 28.01.2021 | 01.02. - 05.02.2021 | 4 | |
| {{:teaching:eidp:uebung:grün.png?nolink&15|}} | Blatt 10 | 28.01.2021 | 04.02.2021 | 08.02. - 12.02.2021 | 4 | |
| --- | Zusatzblatt | 11.01.2021 | 01.02.2021 | --- | 6 | |
/*
| {{:teaching:eidp:uebung:grün.png?nolink&15|}} | Blatt 11 | 16.01.2020 | 23.01.2020 | 27.01. - 31.01.2020 | 4+3 | Quelltexte_Blatt_11 (Letzte Vorlesungswoche)|
*/
/*
| --- | {{ :teaching:eidp:uebung:blatt_00.pdf |Blatt 0}} | 10.10.2019 | --- | 21.10. - 25.10.2019 | 0 | |
| {{:teaching:eidp:uebung:gelb.png?nolink&15|}} | {{ :teaching:eidp:uebung:blatt_01.pdf |Blatt 1}} | 17.10.2019 | 24.10.2019 | 28.10. - 01.11.2019 | 4 | |
| {{:teaching:eidp:uebung:gelb.png?nolink&15|}} | {{ :teaching:eidp:uebung:blatt_02.pdf |Blatt 2}} | 24.10.2019 | 31.10.2019 | 04.11. - 08.11.2019 | 4 | |
| {{:teaching:eidp:uebung:gelb.png?nolink&15|}} | {{ :teaching:eidp:uebung:blatt_03.pdf |Blatt 3}} | 31.10.2019 | 07.11.2019 | 11.11. - 15.11.2019 | 4 | |
| {{:teaching:eidp:uebung:gelb.png?nolink&15|}} | {{ :teaching:eidp:uebung:blatt_04.pdf |Blatt 4}} | 07.11.2019 | 14.11.2019 | 18.11. - 22.11.2019 | 4 | |
| {{:teaching:eidp:uebung:rot.png?nolink&15|}} | {{ :teaching:eidp:uebung:blatt_05.pdf |Blatt 5}} | 14.11.2019 | 22.11.2019 | 25.11. - 29.11.2019 | 4 | |
| --- | Probeklausur | 21.11.2019 | 21.11.2019 | 02.12. - 06.12.2019 | 3 | |
| {{:teaching:eidp:uebung:rot.png?nolink&15|}} | {{ :teaching:eidp:uebung:blatt_06.pdf |Blatt 6}} | 28.11.2019 | 05.12.2019 | 09.12. - 13.12.2019 | 4 | {{ :teaching:eidp:uebung:quelltexte_blatt_06.zip |Quelltexte_Blatt_06}} |
| {{:teaching:eidp:uebung:rot.png?nolink&15|}} | {{ :teaching:eidp:uebung:blatt_07.pdf |Blatt 7}} | 05.12.2019 | 12.12.2019 | 16.12. - 20.12.2019 | 4 | |
| {{:teaching:eidp:uebung:rot.png?nolink&15|}} | {{ :teaching:eidp:uebung:blatt_08.pdf |Blatt 8}} | 12.12.2019 | 19.12.2019 | 06.01. - 10.01.2020 | 4 | {{ :teaching:eidp:uebung:quelltexte_blatt_08.zip |Quelltexte_Blatt_08}} |
| {{:teaching:eidp:uebung:grün.png?nolink&15|}} | {{ :teaching:eidp:uebung:blatt_09.pdf |Blatt 9}} | 19.12.2019 | 09.01.2020 | 13.01. - 17.01.2020 | 8 | {{ :teaching:eidp:uebung:quelltexte_blatt_09.zip |Quelltexte_Blatt_09}} |
| {{:teaching:eidp:uebung:grün.png?nolink&15|}} | {{ :teaching:eidp:uebung:blatt_10.pdf |Blatt 10}} | 09.01.2020 | 16.01.2020 | 20.01. - 24.01.2020 | 4 | |
| {{:teaching:eidp:uebung:grün.png?nolink&15|}} | {{ :teaching:eidp:uebung:blatt_11.pdf |Blatt 11}} | 16.01.2020 | 23.01.2020 | 27.01. - 31.01.2020 | 4+3 |{{ :teaching:eidp:uebung:quelltexte_blatt_11.zip |Quelltexte_Blatt_11}} (Letzte Vorlesungswoche)|
*/
==== Abgabe der Lösungen ====
{{ :teaching:eidp:assess_abgabe.pdf |Anleitung zum Abgeben von Lösungen über AsSESS}}
Die Abgabe der Lösungen erfolgt elektronisch.
Die Aufgaben sind in Zweier- oder Dreiergruppen zu bearbeiten.
Das Übungsblatt 1 kann auch alleine erarbeitet und abgegeben werden. Die Einzelabgabe ist ab Übungsblatt 2 einschließlich nicht erlaubt.
Der Lösungsweg und die Programmierung ist gemeinsam zu erarbeiten.
Pro Gruppe ist nur eine Abgabe erforderlich.
Die Gruppenmitglieder sollten gemeinsam an der gleichen Übungsgruppe teilnehmen.
Die Lösung wird jeweils komplett bewertet und den Gruppenmitgliedern gleichermaßen angerechnet.
Jedes Gruppenmitglied muss in der Lage sein, die abgegebenen Lösungen zu präsentieren.
Die Übungsaufgaben müssen spätestens bis zum jeweiligen Abgabetermin (in der Regel Donnerstag 23:59 Uhr der jeweils darauffolgenden Woche) abgegeben werden.
In darauffolgenden Übungen werden teilweise einzelne abgegebene Lösungen besprochen, teilweise auch eine Musterlösung.
Die abgegebenen Antworten/Programme werden automatisch auf Ähnlichkeit mit anderen Abgaben überprüft.
Werden hierbei starke Übereinstimmungen festgestellt, wird die Aufgabe als nicht abgegeben bewertet.
Die Aufgaben sind über das Web-Interface von [[http://ess.cs.tu-dortmund.de/ASSESS/| AsSESS]] bis spätestens zum Abgabetermin abzugeben.
Dieses Programm fragt nach Informationen über die Gruppenteilnehmer und sammelt im aktuellen Verzeichnis die abzugebenden Dateien ein.
Namen und Anzahl von abzugebenden C++-Quellcodedateien variieren und stehen in der jeweiligen Aufgabenstellung.
Sobald eine Abgabe von den Betreuern korrigiert wurde, können erzielte Punktzahl und die korrigierte Lösung ebenfalls unter dieser Adresse eingesehen werden.
**ACHTUNG:** Sie müssen für die Abgabe die vollständigen Namen und Matrikelnummern genau so eintragen, wie sie bei der Anmeldung angegeben wurden!
==== Hinweise zu den Programmieraufgaben ====
Sofern zur Lösung der Aufgaben Programme entwickelt werden sollen, müssen die Quelltexte mit einem der gängigen C++-Compiler (GCC/MinGW, Clang, Microsoft Visual C++) übersetzbar sein.
Im Praktikum wird die unter einer Open-Source-Lizenz entwickelte Entwicklungsumgebung [[https://code.visualstudio.com/|Visual Studio Code]] eingesetzt.
Sie sollten diese zum Lösen der Übungsaufgaben auf Ihrem eigenen Rechner installieren, wofür Sie unsere {{:teaching:eidp:visualstudiocode_anleitung_windows_macos.pdf|Installationsanleitung für Visual Studio Code}} (für Windows 10 und Mac OS X) verwenden können.
Alternativen sind u.a. [[http://www.codeblocks.org|Code::Blocks]], [[https://www.eclipse.org|Eclipse IDE for C/C++ Developers]] oder [[https://www.jetbrains.com/de-de/clion/|CLion]].
Unser Team kann Sie jedoch bei Problemen mit der Entwicklungsumgebung ggf. nicht unterstützen, wenn Sie von unserer Empfehlung (Visual Studio Code, s.o.) abweichen.
Es werden **nur einfache Textdateien als Lösungen akzeptiert**.
Überprüfen Sie während der Entwicklung -- und insbesondere vor der Abgabe -- ob Ihre Lösung sich übersetzen lässt und funktioniert!
/*
Die Textdateien müssen sich mit einer der oben genannten Compiler-Versionen übersetzen lassen.
Dies ist vor Abgabe der Lösung unbedingt zu testen!
Auf Linux/Unix-Systemen ist eine entsprechende Compiler-Version häufig standardmäßig installiert.
Für Windows-Systeme stehen entsprechende Versionen hier zur Verfügung.
Die Compiler-Version lässt sich mit "g++ --version" ermitteln. (Nicht vergessen: Das Verzeichnis, in dem sich der Compiler befindet, muss in den Suchpfad für Programme aufgenommen werden!)
Auf Windows-Systemen wird mit "g++ meinProgramm.cpp -o meinProgramm.exe" die C++-Datei "meinProgramm.cpp" in das ausführbare Programm "meinProgramm.exe" übersetzt.
Auf Linux-Systemen lautet der entsprechende Aufruf "g++ meinProgramm.cpp -o meinProgramm".
*/
==== Leistungsnachweis ====
In dieser Veranstaltung kann ein Leistungsnachweis erworben werden.
Grundlage hierfür ist die regelmäßige Bearbeitung der Übungszettel.
Dabei gelten die folgenden Kritierien:
Es gibt insgesamt 10 in die Bewertung eingehende Übungsblätter, mit denen insgesamt 40 Punkte erreicht werden können.
Die Übungsblätter werden auf drei Blöcke verteilt werden (gelb {{:teaching:eidp:uebung:gelb.png?nolink&15|}}, rot {{:teaching:eidp:uebung:rot.png?nolink&15|}} und grün {{:teaching:eidp:uebung:grün.png?nolink&15|}}).
In Blöcken gelb {{:teaching:eidp:uebung:gelb.png?nolink&15|}} und rot {{:teaching:eidp:uebung:rot.png?nolink&15|}} werden jeweils 16 Punkte zu erreichen sein.
In Block grün {{:teaching:eidp:uebung:grün.png?nolink&15|}} gibt es maximal 8 Punkte.
Für den Erwerb des Übungsscheins wird es nötig sein, **50% der Punkte in jedem der drei Blöcke** zu erreichen.
Unter Umständen wird es möglich sein, zusätzliche Punkte durch Abgabe von optionalen Aufgaben zu erwerben.
In der Mitte des Semesters wird eine Probeklausur hochgeladen.
Diese hat den halben Umfang der Modulabschlussklausur.
Dies dient der Selbsteinschätzung des eigenen Kenntnisstands und ist freiwillig zu bearbeiten.
==== Betreuer ====
^ Name ^ E-Mail ^
| [[:staff:kuzmic|Jurij Kuzmic]] | jurij.kuzmic{{:staff:at.gif|}}tu-dortmund.de |
| [[https://ess.cs.tu-dortmund.de/~hsc|Horst Schirmeier]] | horst.schirmeier{{:staff:at.gif|}}tu-dortmund.de |
| [[:staff:ellert|Jonas Ellert]] | jonas.ellert{{:staff:at.gif|}}tu-dortmund.de |