IT-Ausbildung an der Fakultät für Physik – 'Studienplan'
Die Fakultät für Physik bietet in allen Semesterferien viele verschiedene Blockkurse aus unterschiedlichsten IT-Gebieten an. Damit Sie nicht die Übersicht verlieren, hier eine kleine Einordnung und ein paar Empfehlungen für Bachelor-/Master Physik und ebenso für Lehramts-Studierende. In diesen Studiengängen sind alle IT-Veranstaltungen dem Wahlpflicht-Bereich zugeordnet. Studierende von Computational Science und partiell auch von Nanoscience besuchen natürlich IT-Kurse im Rahmen von Pflichtveranstaltungen. Bitte daran denken: natürlich gibt es uniweit noch viel mehr IT-Kurse, siehe Liste der studienbegleitenden IT-Ausbildung.
In dieser Übersicht nicht enthalten sind Veranstaltungen der angewandten Informatik mit wissenschaftlichem Schwerpunkt wie z.B. Computational Nanoscience oder auch Angebote im Rahmen des Studienganges Computational Science, wie z.B. Algorithmen und Datenstrukturen.
Als allgemeine Basis empfehlen wir
- Python ist eine universelle Skriptsprache und eignet sich sehr gut zum Einstieg ins Programmieren. Durch die mächtigen Bibliotheken lassen sich sehr schnell funktionelle Programme für alle möglichen Zwecke erstellen, ursprünglich mit Schwerpunkt Internetanwendungen, inzwischen aber sehr gut auch für wissenschaftliche Programmier-Aufgaben, zum Beispiel auch zum Maschinellen Lernen.
- Einführung in Maple Dieses Paket zur symbolischen Mathematik und Graphik wird Sie wie ein Super-Taschenrechner das ganze Studium hindurch begleiten und Ihr Studienleben wesentlich erleichtern. Am besten lernen Sie es mit Hilfe unseres einwöchigen Kurses möglichst frühzeitig kennen, eventuell noch vor Studienbeginn bzw. nach dem ersten oder zweiten Semester.
- Einführung in Matlab MATLAB ist primär für numerische Berechnungen mithilfe von Matrizen ausgelegt und ist sowohl im universitären Umfeld als auch in der Industrie sehr weit verbreitet. Auch zur Auswertung und Visualiserung von Messdaten oder Simulationsergebnissen ist Matlab sehr nützlich. Wir empfehlen Ihnen den Besuch dieser einwöchigen Veranstaltung, nachdem Sie die beiden o.g. Kurse absolviert oder sich deren Inhalte anderweitig angeeignet haben.
- Programmieren in C und C++ C / C++ ist i.d.R. wesentlich schneller als Python, extrem weit verbreitet und wird im kompletten IT-Leistungsspektrum eingesetzt, vom 1€-Mikrocontoller bis zum Supercomputer. Hardwarenahe Programme sind leicht umsetzbar, aber auch ganze Betriebssysteme (z.B. Linux) sind in C geschrieben. Da sehr viel möglich ist, kann man aber auch Fehler machen, die das System zum Absturz bringen...
- Linux: Grundlagen, Konzepte, Anwendungen
In der Physik und Mathematik laufen sehr viele Rechner unter diesem freien Betriebssystem, besonders im Umfeld von rechenintensiven Anwendungen wie z.B. Simulationen. Die ersten beiden Tage dieses Blockkurses zeigen Ihnen den grundlegenden Umgang, Sie installieren selbstständig eine Debian-Distribution. Die restlichen 3 Tage richtigen sich dann eher an Fortgeschrittene.
Alle folgenden Veranstaltungen können bei Bedarf und/oder Interesse ca. ab dem 4. Semester besucht werden.
Für fortgeschrittenes Programmieren bieten wir regelmäßig folgende Kurse an:
- C++ - Programmierung: Grundlagen und Anwendungen mit der Qt-Klassenbibliothek Dieser zweiwöchige Kurs baut direkt auf auf dem Grundkurs Programmieren in C und C++ auf. Zuerst wird ausführlich die objektorientierte Programmierung mit C++ behandelt. Anschließend wird die QT-Klassenbibliothek (bekannt vom Linux-KDE-Desktop) zur Erstellung professioneller graphischer Applikationen eingesetzt.
- Datenbanken und das Internet - Dynamische Webseiten mit php und MariaDB In diesem zweiwöchigen Blockkurs lernen Sie grundlegende Datenbankkonzepte kennen. Sie erstellen Programme, mit denen über Webinterfaces komplexe Informationen in eine relationale Datenbank eingegeben und wieder abgefragt werden können. Am Ende erstellen Sie ein eigenes größeres Projekt, von der Modellierung hin bis zur kompletten, benutzerfrundlichen Implementierung. Sicherheitsaspekte spielen eine ganz große Rolle.
- Programmierung und Design von WebApplications mit HTML5, CSS3 und JavaScript In diesem Kurs wird die Front-End Entwicklung von moderen, reichhaltigen Web-Anwendungen mit HTML5 (Beschreibung des Inhalts), CSS3 (Beschreibung des Designs) und JavaScript (Beschreibung der Interaktion) im Detail erklärt und eingeübt. Alle diese Funktionalitäten werden im Browser des Users umgesetzt. Der Kurs ist also die ideale Ergänzung zu der Veranstaltung 'Datenbank und das Internet', die serverseitige Konzepte behandelt.
Einen weiteren Schwerpunkt bilden unsere technischen Grundlagen-Kurse:
- Elektronik In diesem zweiwöchigen Blockkurs wird ein Überblick vermittelt, der von passiven Bauelementen über Analog- und Digitalschaltungen bis hin zum Analog-Digital-Wandler reicht. Jeder Themenbereich wird zunächst theoretisch behandelt, dann erfolgt die praktische Umsetzung unter Anleitung eines Betreuers. Zum Abschluß des Kurses wird das erworbene Wissen in einer Projektarbeit umgesetzt.
- Computer- und Mikrocontroller-Technik Für die meisten Leute ist ein Computer nur eine Black Box, die gute Dienste vollbringt (oder auch nicht). Was im Inneren vor sich geht, ist ein großes Geheimnis. Hier soll dieser zweiwöchige Kurs Abhilfe schaffen, der ein Verständnis liefert für die technischen Abläufe in einem Rechner, aber auch für den technischen Rechnereinsatz.
- Elektronik mit FPGAs Sie haben einige Vorkenntnisse in Elektronik, verstehen grundlegende Schaltungen der Analog- und Digitaltechnik. Jetzt möchten Sie gerne wissen, wie heutzutage professionelle Schaltungen v.a. der Digitaltechnik entwickelt werden. Dann sind Sie hier richtig. Sie lernen, wie komplexe digitale Schaltungen am Computer entwickelt und simuliert und am Ende in kundenspezifische Schaltkreise umgesetzt werden - in FPGAs, field programmable gate arrays. Diese Technik setzt sich immer mehr durch, nicht zuletzt im Automobil-Umfeld z.B. bei kameragestützten Fahrerassistenzsystemen. Mikrocontroller-Lösungen wären hier viel zu langsam.
Folgende Service-Veranstaltungen sollten dann besucht werden, wenn das Thema aktuell wird:
- Einführung in LaTeX, LaTeX für Fortgeschrittene LaTeX ist die Textverarbeitung für den mathematisch/technischen Bereich. Der einwöchige Grundkurs erleichtert ganz stark die Abfassung einer Abschlussarbeit. Manche Leute schreiben auch schon gerne Praktikumsberichte oder Seminarausarbeitungen in LaTeX ... Der einwöchige Fortgeschrittenen-Kurs empfiehlt sich dann, wenn schon ausreichen Erfahrung mit LaTeX vorhanden ist.
- PC-Messtechnik mit LabView Vor Beginn einer experimentellen Abschluß sollte unbedingt dieser zweiwöchige Kurs besucht werden - Ihre Betreuer werden es Ihnen danken! Sie lernen, mit der Laborsoftware LabView graphisch Messprogramme zu erstellen. Sie werden die Kursrechner an exemplarische Messaufbauten anschließen und typische Probleme der PC-basierten Messtechnik lösen.
- CAD in der mechanischen Konstruktion Ein Ingenieur der Fakultät wird Sie in diesem einwöchigen Kurs überaus kompetent in die 3D-Konstruktion des Maschinenbaus einführen. Mit den erworbenen Kenntnissen können Sie dann auf professionelle Art und Weise z.B. realistische Aufträge an die Mechanik-Werkstatt vergeben.