Skip to main content

Lecture WS 19/20 Programmiervorkurs

C-Programmierkurs für Mathematikerstis

Lecturer
Dr. Margrit Klitz
Contact for exercises
David Knapp

Dieser Kurs richtet sich an Erstsemester der Mathematik (Fachbachelor), Dritt- oder Fünftsemester der Mathematik (Lehramt) und alle anderen, die gerne die Programmiersprache C erlernen wollen. Auf dieser Seite findet ihr das Vorlesungsskript und Übungszettel.

Wenn möglich mitbringen: Einen Laptop mit Windows oder Linux oder einen Mac.

  • Windows: Cygwin mit gcc-Compiler Package: Installation machen wir in der ersten Übung gemeinsam.
  • Linux: gcc-Compiler Package installieren oder updaten.
  • Mac: Xcode über den App-Store runterladen, am besten vor Beginn des Kurses, da WLan nötig.
Wenn Ihr keinen Laptop mitbringen könnt, stellen wir Euch einen Computer zur Verfügung. Auf Tablets kann i.A. nicht programmiert werden.

Wann: Von Montag, 23.09.2019 bis Freitag, 04.10.2019

Vorlesungen:

  • täglich von 09:00 bis 11:00 Uhr, Großer Hörsaal im Mathematischen Institut, Wegelerstraße 10, 53115 Bonn.
  • Ausnahme: am 23.09.2019 und am 04.10.2019 von 11:00 bis 13:00 Uhr.
  • Das Skript zur Vorlesung findet ihr hier

Übungen:

Bitte beachten: Am 03.10.2019 (Tag der Deutschen Einheit) findet die Veranstaltung nicht statt.

Bei Fragen wendet euch bitte, ohne zu zögern, direkt an uns. Falls ihr einen Laptop mit Linux, Windows oder Mac OS besitzt, so bringt diesen bitte mit. Tablets (vor allem iPads und Windows Tablets) eignen sich für gewöhnlich nicht zum Programmieren und können daher zu Hause gelassen werden :). Zu den Programmierkursen vergangener Jahre gibt es ein hervorragendes Skript, an dem wir unsere Vorlesung orientieren werden. Dieses werden wir hier verlinken. Es ersetzt nicht den Besuch der Vorlesung, hilft aber sehr bei der Bearbeitung der Übungsaufgaben, die ihr dann ebenfalls auf dieser Seite finden könnt.

Hier einige FAQs aus vergangenen Kursen:

Warum lernen wir nur C?

C ist eine der schnellsten und effizientesten Programmiersprachen. C ist episch gut. Wenn Ihr C könnt, habt Ihr ein hervorragendes Grundlagenwissen und viele andere Programmiersprachen lassen sich dann leichter lernen.

Ich kann schon Java. Muss ich wirklich noch C lernen?

Du musst natürlich gar nichts. Allerdings läuft Java auf einer sog. virtual machine und ist damit deutlich langsamer als C. Auch durch seinen Aufbau und Struktur nimmt Java dem Programmierer sehr viel Selbstbestimmung ab, wodurch man viele wichtige Programmierkonzepte gar nicht erst lernen kann. Wenn du eine gute, wissenschaftlich ernst zu nehmende Sprache lernen willst, solltest du C lernen. Falls du unbedingt objektorientiert arbeiten willst, lerne C++.

Dann möchte ich lieber C++ lernen!

Dann mach das doch :). Allerdings ist unser Kurs explizit dafür da, C zu lernen, weshalb wir uns in diesem Kurs auch auf diese Sprache beschränken. Benötigt man dann irgendwann die Vorteile einer objektorientierten Sprache, kann man sich später immernoch mit C++ beschäftigen.

Wie ist das mit dem Mac?

Du kannst dir zum Beispiel Xcode über den App-Store runterladen. Xcode ist selbst eine Programmierumgebung, in der du bereits programmieren könntest (aber nicht solltest, siehe letzte Frage). Auf jeden Fall enthält sie aber den Compiler, den du benötigst. Um so zu programmieren, wie wir es in der Vorlesung machen, kannst du dir hier den Editor gedit runterladen und wie gewohnt über das Terminal kompilieren.

Ich habe (nur) ein Tablet und möchte gerne programmieren.

Grundsätzlich eignet sich unserer Meinung nach ein Notebook immer besser zum Programmieren (und Studieren) als ein Tablet. Die Betriebssysteme auf Tablets nehmen dem User oft viel Selbstbestimmung und Verantwortung aus der Hand. Diese werden aber gerade beim Programmieren gebraucht, da man in der Lage sein muss eigenen Programme zu installieren und laufen lassen zu können. Wenn dein Tablet dir ausschließlich erlaubt Programme über einen “App-Store” oder Ähnliches zu installieren, dann kann man mit ihm nicht (vernünftig) programmieren lernen. Wir stellen aber in den Übungen auch Computer zur Verfügung.