Skip to content

Latest commit

 

History

History
67 lines (40 loc) · 6.24 KB

index.md

File metadata and controls

67 lines (40 loc) · 6.24 KB
layout title
default
Allgemeine Informationen

Für den Blockkurs im Rahmen der Studierendentage 2017 bitte in der Übungsgruppenverwaltung anmelden!

Die Vorlesung Softwareentwicklung für iOS gibt eine Einführung in die moderne Programmentwicklung mit einer Integrierten Entwicklungsumgebung (IDE), die objektorientierte Programmiersprache Swift und die Programmierung von Benutzeroberflächen am Beispiel der iOS Plattform.

Im Rahmen der Programmierung von Apps für iOS Geräte werden wichtige und allgemeingültige Konzepte der Programmstrukturierung behandelt.

Diese Vorlesung kann alleine oder zusätzlich zu einem Programmierkurs gehört werden. Der Kurs findet wöchentlich während des Semesters im Medienzentrum des URZ statt. Zur Programmierung ist ein Mac erforderlich. Es stehen einige Macs im URZ zur Verfügung.

Organisation

  • Blockkurs während der Studierendentage 2017: 10.4. bis 13.4.2017, 9-13h

  • Ort: INF 227, SR 1.404

  • Dozent: Nils Leif Fischer (Student M.Sc. Physik, [email protected])

  • Anmeldung: Da die Teilnehmerzahl begrenzt ist, ist eine Anmeldung unter diesem Link erforderlich.

  • Leistungspunkte: Für die Teilnahme an den Studierendentagen 2017 wird 1 ECTS Punkt vergeben.

  • Vorkenntnisse: Programmierkenntnisse sind hilfreich aber nicht erforderlich.

  • Hardware Vorraussetzungen: Eigener Mac mit Xcode 8.2 oder neuer installiert (kostenlos im Mac App Store)

    Alle Apps können auf dem integrierten Simulator getestet werden. Wer ein eigenes iOS Gerät besitzt kann die Apps auch auf dem Gerät testen.

    Führt vor Beginn des Kurses ein Softwareupdate auf die aktuellste Version von Mac OS X, Xcode und iOS auf euren Geräten durch.

Details zum Kurs (SS 2016)

Diese Vorlesung ist für alle geeignet, die nicht nur eine Programmiersprache, sondern auch eine moderne Vorgehensweise bei der Programmierung lernen wollen. Die iOS Plattform bietet sich hier als spannende und vielseitige Möglichkeit an, eigene Programme zu entwickeln.

Wir lernen anhand einiger kleinerer bis komplexer Apps zunächst die moderne, objektorientierte Programmiersprache Swift und im Verlauf des Kurses viele wichtige und allgemeingültige Konzepte der Programmstrukturierung kennen. Swift wurde erst im Juni 2014 als neue Programmiersprache für die iOS Plattform veröffentlicht und ist bereits die beliebteste Programmiersprache auf GitHub, seitdem sie im Dezember 2015 open-sourced wurde. Sie ersetzt damit die auf C basierende Sprache Objective-C als Programmiersprache dieser Vorlesung, da Swift viele Konzepte moderner Programmiersprachen aufgreift und sich das Gelernte so ohne Probleme auf andere Programmiersprachen wie C++, C# oder Python, andere Programmierumgebungen und andere Zielsysteme übertragen lässt.

Wir beginnen mit der Verwendung der modernen Programmierumgebung Xcode und einer Einführung in die Grundlagen der objektorientierten Programmierung und sind schnell in der Lage, unsere erste iPhone App auf dem Simulator und auf eigenen iOS Geräten laufen zu lassen. Anschließend lernen wir Möglichkeiten kennen, unsere Apps strukturiert aufzubauen und unseren Code systematisch zu verwalten.

Im Unterschied zu Skripten in Sprachen wie Python oder Ruby werden Programme im Allgemeinen nicht einfach gestartet und dann abgearbeitet, sondern durch Benutzereingaben wie Touchscreen-Gesten oder gerätspezifische Events gesteuert. Um Programme zu entwickeln, die die Möglichkeiten der jeweiligen Plattform nutzen können, machen wir uns mit den APIs (Application Programming Interfaces) der iOS Plattform vertraut und lernen, auf verschiedene Funktionen der iOS Geräte zuzugreifen.

Am Ende der Veranstaltung sollte jeder Teilnehmer in der Lage sein, sich leicht in andere Entwicklungsumgebungen und andere Programmiersprachen wie C++, C# oder Python einzuarbeiten, sowie einfache Apps für iOS Geräte und Macs zu schreiben.

Themen

  • Objektorientierte Programmierung in Swift
  • Architektur von iOS Apps
  • Fundamentale Konzepte der Softwarestrukturierung
  • Kommunikationsmechanismen & Informationsweitergabe innerhalb eines Programms
  • Versionskontrolle mit Git
  • Wichtige APIs der iOS Plattform
  • Überblick über Design, Konzeption und Veröffentlichung von iOS Apps

Übungen

Wöchentlich wird es zunächst eine Vorlesungseinheit über ein neues Thema geben und zugehörige Übungsaufgaben verteilt. Zu Beginn der folgenden Vorlesung werden deren Lösungen besprochen und vorzugsweise von einem Kursteilnehmer vorgestellt.

Um langfristig mitzukommen ist es am Wichtigsten, die wöchentlichen Übungen selbst zu bearbeiten und nicht nur zuzuhören und Code von anderen zu kopieren. Die Kursthemen bauen sehr stark aufeinander auf. Für die regelmäßige Anwesenheit in der Vorlesung und Mitarbeit in den Übungen werden 2 CP vergeben. Es wird keine Klausur oder Note geben.

Weitere Programmierkurse in der Physik

Diese Vorlesung wird von der Fakultät für Physik und Astronomie angeboten, ist jedoch nicht auf Studierende der Physik beschränkt. Sie steht, ohne Anspruch auf Vollständigkeit, im Zusammenhang mit weiteren Programmierkursen in der Physik:

  • Die Vorlesung Softwareentwicklung für Windows Phone fand erstmals im WS 2014/14 an Stelle dieser Vorlesung statt. Ein regelmäßiges Angebot beider Vorlesungen wird angestrebt aber ist noch nicht etabliert.
  • Der C++ Blockkurs bietet regelmäßig einen Einstieg in die Sprache C++ und in die Konzepte der objektorientierten Programmierung.
  • Der Kurs Python: Programming for Scientists (tba) wird ebenfalls regelmäßig angeboten und führt anhand wissenschaftlicher Probleme in die Programmierung in Python ein.