(Termine) |
mNo edit summary |
||
(72 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
[[Image:IPhone_3G.png|right| | [[Image:IPhone_3G.png|right|250px]] | ||
'''''Programming for iPhone / iPod Touch / iPad'''''<br/> | |||
Bachelor-Werkmodul <br/> | Bachelor-Werkmodul <br/> | ||
''Lehrperson'': Michael Markert<br/> | ''Lehrperson'': [[Michael Markert]]<br/> | ||
''Bewertung:'' 6 [[ECTS]], 4 [[SWS]]<br/> | ''Bewertung:'' 6 [[ECTS]], 4 [[SWS]]<br/> | ||
''Termin:'' Dienstags, 15.15 - 18.30 Uhr bzw. als Ausweichtermin 17.00 bis 20.30 Uhr<br/> | ''Termin:'' Dienstags, 15.15 - 18.30 Uhr bzw. als Ausweichtermin 17.00 bis 20.30 Uhr<br/> | ||
''Ort:'' | Bei genügend Interesse Verlegung auch auf Mo Nachmittag möglich<br/> | ||
''Ort:'' [[Marienstraße 7b]], Seminarraum 103 (bzw. Projektraum 104)<br/> | |||
''Erster Termin:'' 13.04.2010, 15.15 Uhr<br/> | ''Erster Termin:'' 13.04.2010, 15.15 Uhr<br/> | ||
Der genaue Termin/Ort wird mit der Bestätigung der Anmeldung per E-Mail mitgeteilt! | Der genaue Termin/Ort wird mit der Bestätigung der Anmeldung per E-Mail mitgeteilt! | ||
Gerade als die Schlagworte "ubiquitäres Computing" und "Augmented Reality" trotz immer leistungsfähigeren mobilen Endgeräten ihren Glanz zu verlieren scheinen, kommt mit dem iPhone ein Gerät, das diese Begriffe mit neuem Leben füllt: Nicht nur in Bedienung und User Interface werden | Der aktuelle Kurs ist hier zu finden: [[IFD:iOSDev]] | ||
Gerade als die Schlagworte "ubiquitäres Computing" und "Augmented Reality" trotz immer leistungsfähigeren mobilen Endgeräten ihren Glanz zu verlieren scheinen, kommt mit dem iPhone ein Gerät, das diese Begriffe mit neuem Leben füllt: Nicht nur in Bedienung und User Interface werden neue Maßstäbe gesetzt, vor allem die auf den Absatz von Applikationen ausgerichtete Konzeption der Gerätefamilie und eine gut durchdachte Entwicklungsumgebung befördert Rekordzahlen an Software-Neuerscheinungen für die iPhone Plattform. | |||
Dieses Werkmodul zollt dieser Entwicklung Anerkennung und gibt Einblick in die Programmierung für das iPhone OS. Die Einführung des Kurses in Objective-C 2.0, die Vorstellung der wichtigsten Frameworks sowie der Entwicklungsumgebung Xcode / Interface Builder sind übrigens in weiten Teilen auch für native OS X Anwendungen gültig. | Dieses Werkmodul zollt dieser Entwicklung Anerkennung und gibt Einblick in die Programmierung für das iPhone OS. Die Einführung des Kurses in Objective-C 2.0, die Vorstellung der wichtigsten Frameworks sowie der Entwicklungsumgebung Xcode / Interface Builder sind übrigens in weiten Teilen auch für native OS X Anwendungen gültig. | ||
Im Lauf des Werkmoduls soll eine kleine Applikation umgesetzt werden (Medienkunst, Experiment, Game, Utility…). Verknüpfungen mit Semesterprojekten sind ausdrücklich erwünscht. Ein spezieller Developer Account mit Zertifikat für teilnehmende Studenten ist vorhanden; damit können Anwendungen auch ohne weitere Kosten auf den eigenen Geräten getestet werden. | |||
Line 20: | Line 26: | ||
Themen des Kurses sind: | Themen des Kurses sind: | ||
* Einführung in Objective-C 2.0 (Smalltalk-ähnliche, auf C aufbauende Sprache) | * Einführung in Objective-C 2.0 (Smalltalk-ähnliche, auf C aufbauende Sprache) | ||
* Übersicht iPhone OS 3.0 Frameworks (UIKit, Foundation…) | * Übersicht Cocoa Touch: iPhone OS 3.0 Frameworks (UIKit, Foundation…) | ||
* Einführung in die Entwicklungsumgebungen Xcode und Interface Builder | * Einführung in die Entwicklungsumgebungen Xcode und Interface Builder | ||
* Generelle Programmierkonzepte der objektorientierten Objective-C Sprache | * Generelle Programmierkonzepte der objektorientierten Objective-C Sprache | ||
Line 26: | Line 32: | ||
Als Voraussetzung für dieses Werkmodul ist aufgrund der erhöhten Komplexität (Umgang mit einer höheren objektorientierten Programmiersprache) die Vorkenntnis einer (beliebigen) Programmiersprache erforderlich. Es sollten die Konzepte von Variablen, Funktionen, Arrays etc. bereits bekannt sein. | Als Voraussetzung für dieses Werkmodul ist aufgrund der erhöhten Komplexität (Umgang mit einer höheren objektorientierten Programmiersprache) die Vorkenntnis einer (beliebigen) Programmiersprache erforderlich. Es sollten die Konzepte von Variablen, Funktionen, Arrays etc. bereits bekannt sein. | ||
== English Description == | |||
Just as the buzzwords "Ubiquitous Computing" and "Augmented Reality" are beginning to loose their thrilling denotation, the iPhone (and iPod Touch) is becoming an exciting new platform to set standards - not only regarding the user interface, but also with its application based paradigm and a well-thought development environment. | |||
This module is paying tribute to this progress and is aiming to give an insight into programming concepts for the iPhone OS incl. Objective-C 2.0, the related iPhone frameworks and the Xcode/Interface-Builder IDE (which is - by the way - also valid in most parts for application development for the Mac OS X operating system). | |||
At the end of this course, students should have developed a small application (media art, experiment, game, utility...). Combinations with semester projects are welcome. All participants may access a University's iPhone Developer Account, that enables us to test applications on devices without further expenses. | |||
The Module is open for students of all faculties. Because of the advanced topics, there are some requirements for the application: | |||
* Knowledge of a programming language (the concepts of variables, functions, arrays etc... should be known) | |||
* Access to an Intel-based Mac running Mac OS X 10.5.7 or later | |||
* An iPhone or iPod/Touch | |||
== Themen == | == Themen == | ||
* [[iPhone]] (Allgemeines, App Showcase) | * [[iPhone]] (Allgemeines, App Showcase) | ||
** [[ | ** [[iPhone Coding Resources & Tools]] - incl. 3rd Party Frameworks, Templates, Open Source Projects & Classes... | ||
* [[IPhoneDev|iPhone Development]] ( | * [[IPhoneDev|iPhone Development]] (SDK-Download, App-Signing How-To) | ||
** [[ | ** [[Application Types]] | ||
** [[ | *** Immersive, Productivity, Utility | ||
** [ | *** View-Based, Quartz 2d, OpenGL | ||
** [[Xcode]] | |||
** [http://developer.apple.com/mac/library/documentation/DeveloperTools/Conceptual/IB_UserGuide/Introduction/Introduction.html Interface Builder] | |||
** [[Debugging]] | ** [[Debugging]] | ||
* [[Objective-C]] 2.0 | * [[Objective-C]] 2.0 | ||
** [http://developer.apple.com/iphone/library/documentation/Cocoa/Conceptual/ObjectiveC/Articles/ocDefiningClasses.html ObjC Classes] | |||
** [[ObjC-Memory Management]] | ** [[ObjC-Memory Management]] | ||
** [[MVC]] (Model / View / Controller | * [[Cocoa Design Patterns]] | ||
** [[ | ** [[Messaging]] (Methods, Subclassing, Delegation, Notification...) | ||
** [[Target-Action-Paradigm]] | |||
** [[ | ** [[MVC]] (Model / View / Controller) | ||
** [[ | ** [[KVC]] (Key-Value-Coding) | ||
** | * [[Cocoa Touch]] - the iPhoneOS Frameworks | ||
** ... | ** [[Foundation Classes]] (NSNumber, NSString, NSArray…) | ||
** [[UIKit Classes]] (UIApplication, UIView, UIViewController, UITouch ...) | |||
** ViewControllers: Navigation Controller, TabBar Controller, TableView Controller, ... | |||
** TableViews | |||
** ... (see Syllabus for further topics) | |||
* [http://developer.apple.com/technologies/iphone/whats-new.html#api iPhone OS 4] | |||
* Einführung in [[Systemtheorie|kybernetische Systemtheorie]] als Interaktionsmodell | * Einführung in [[Systemtheorie|kybernetische Systemtheorie]] als Interaktionsmodell | ||
== Voraussetzungen == | == Voraussetzungen == | ||
* Zugriff auf einen Intel-Mac mit 10.5. oder 10.6. | * Zugriff auf einen Intel-Mac mit 10.5. oder 10.6. | ||
** Im Notfall können ein oder zwei Geräte durch die Universität während des Semesters bereitgestellt werden. Bitte unbedingt vorher mit dem Kursleiter abklären! | ** Im Notfall können ein oder zwei Geräte durch die Universität während des Semesters bereitgestellt werden. Bitte unbedingt vorher mit dem Kursleiter abklären! | ||
* Ein iPhone | * Ein iPhone, iPod Touch oder iPad | ||
** | ** Es ist auch eine Teilnahme ohne eigenes Gerät möglich; i.d.F. sollte die Anwendung entweder im Simulator laufen oder nativ für OS X entwickelt werden (Cocoa). | ||
** Abhängig von der Anzahl der Kursbesucher ist es bei entsprechender Vorkenntnis auch möglich, den Kurs zu belegen, um ein mobiles Projekt mit anderer Technik umzusetzen (z.B. J2ME für andere Smartphones). Aufgrund der großen Unterschiede bei den Plattformen kann jedoch nicht näher auf andere Entwicklungsumgebungen eingegangen werden. | ** Abhängig von der Anzahl der Kursbesucher ist es bei entsprechender Vorkenntnis auch möglich, den Kurs zu belegen, um ein mobiles Projekt mit anderer Technik umzusetzen (z.B. J2ME für andere Smartphones). Aufgrund der großen Unterschiede bei den Plattformen kann jedoch nicht näher auf andere Entwicklungsumgebungen eingegangen werden. | ||
* Vorkenntnisse in einer (beliebigen) Programmiersprache (HTML ist keine Programmiersprache ;) Es sollten die Konzepte von Variablen, Funktionen, Arrays etc. bereits bekannt sein. | * Vorkenntnisse in einer (beliebigen) Programmiersprache (HTML ist keine Programmiersprache ;) Es sollten die Konzepte von Variablen, Funktionen, Arrays etc. bereits bekannt sein. | ||
Line 60: | Line 85: | ||
== Leistungsnachweis == | == Leistungsnachweis == | ||
Regelmäßige und aktive Teilnahme sowie die Umsetzung einer Projektidee, entweder als Web-App (online) oder als native Anwendung | Regelmäßige und aktive Teilnahme sowie die Umsetzung einer Projektidee, entweder als Web-App (online) oder als native Anwendung sowie eine begleitende und abschließende Dokumentation im Wiki mit Kurzpräsentation im Rahmen des Kurses. | ||
Grading: | |||
* Attendance (20%) | |||
* Concept of a mobile application (20%) | |||
* Realisation of the concept (60%) | |||
** Technical Design (20%) | |||
** Interaction Design (20%) | |||
** Visual/Acoustic Design (20%) | |||
* Wiki-Bonus (10%) | |||
== Zielgruppe == | == Zielgruppe == | ||
Das Werkmodul richtet sich an Studierende aller Fachrichtungen, die sich mit mobilen Anwendungen für iPhones bzw. iPod Touch Geräten technisch beschäftigen und künstlerisch auseinandersetzen wollen. | Das Werkmodul richtet sich an Studierende aller Fachrichtungen, die sich mit mobilen Anwendungen für iPhones bzw. iPod Touch Geräten technisch beschäftigen und künstlerisch auseinandersetzen wollen. | ||
== | == Syllabus == | ||
# 13.04. Intro, Showcase, Application Types, iPhoneOS, Objective-C 2.0, Xcode, Interface Builder | |||
* [[ | # 20.04. Objective-C 2.0, Custom Classes, Memory Management, Object Lifecycle, Properties | ||
# 27.04. Recap Objective-C 2.0, Xcode, Debugging, Foundation Overview | |||
# 04.05. Recap, UIKit Overview, Cocoa Design Patterns (MVC, Target-Action, KVC/KVO, DataSource, Delegates, Notifications, Protocols, Categories ...) | |||
# 11.05. Recap Design Patterns, Navigation- & View Controllers, TabBar Controller | |||
# 18.05. Recap View Controllers, ScrollViews, Core Animation, TableViews | |||
# 25.05. Views, Quartz 2D Drawing, Timers, Text Input, Custom Table Cells | |||
# 01.06. Web View, Location, Maps | |||
# 08.06. Touch Events, Multi-Touch, Gestures, Responder Chain<br/>Data & Persistance (UserPreferences, Settings, NSCoder & NSKeyedArchiver, SQLite, CoreData) | |||
# 15.06. Accelerometer, Shake, Undo, Camera, ImagePicker | |||
# 22.06. Audio API, Video Playback, Bonjour, NSStream, GameKit, UIPasteBoard | |||
# 29.06. Localization, Battery Life & Power Management, Performance (Memory Usage, Leaks, Autorelease, Threads), Debugging, Instruments, Unit Testing, Publishing to the App Store, Xcode Tips & Tricks | |||
# 06.07. Recap - What's really important (focussing on differences to Desktop & iPad),<br/>changes with iPhone OS 4<br/> | |||
<!--# 13.07. Ausstellungsvorbereitung gelungener Arbeiten für Summary am 15.07. --> | |||
# 28.09. Abgabe | |||
Abgabe der Ergebnisse: | |||
* als Dokumentation im Wiki mit Screenshots und Erläuterungen | |||
* und (per E-Mail): kompilierbare quelloffene Projektdatei, bis zum 28.09.2010. | |||
== Literatur & Links == | |||
Weitere Literatur- und Links finden sich in den jeweiligen Untersektionen. | |||
=== Official === | |||
* [http://developer.apple.com/iphone/manage/overview/index.action Bauhaus-iPhone @ developer.apple.com] | |||
* Apple's User Interface Guidelines for the iPhone Plattform: [http://developer.apple.com/iphone/library/documentation/UserExperience/Conceptual/MobileHIG/Introduction/Introduction.html User Experience] | |||
* [http://developer.apple.com/iphone/library/navigation/index.html iPhone Reference Library] | |||
* [http://developer.apple.com/iphone/library/documentation/Xcode/Conceptual/iphone_development/000-Introduction/introduction.html iPhone Development Guide] - Introduction | |||
* [http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Introduction/Introduction.html iPhone OS Programming Guide] | |||
=== Tutorials & Online-Courses === | |||
* '''[http://deimos3.apple.com/WebObjects/Core.woa/Browse/itunes.stanford.edu.2024353965.02024353968 iTunes U: Stanford Programming iPhone Course]''' | |||
* '''[http://developer.apple.com/videos/wwdc/2010/ Apple WWDC 2010 Videos]''' (for registered developers) | |||
* [http://icodeblog.com/2008/07/26/iphone-programming-tutorial-hello-world/ iCodeBlog iPhone Tutorials] | |||
* [http://www.idev101.com/ iPhone Development 101] | |||
=== Literatur === | |||
* '''O'Reilly: [http://www.headfirstlabs.com/books/hfiphonedev/ Head First iPhone Development], ISBN 978-0-596-80354-4''' | |||
* O'Reilly & MAKE: iPhone Open Application Development, ISBN 9780596516642 | |||
* O'Reilly iPhone Game Development: Paul Zirkle & Joe Hogue, ISBN 978-0-596-15985-6 | |||
* Beginning iPhone Development: Dave Mark, Jeff LaMarche, ISBN 978-1430224594 | |||
* iPhone SDK Programming, Advanced Mobile Development: Maher Ali, ISBN 978-0-470-68398-9 | |||
* iPhone Advanced Projects: Apress, ISBN 978-1430224037 | |||
* iPhone Design Award Winning Projects: Apress, ISBN 978-1-4302-7235-9 & eBook ISBN 978-1-4302-7234-2 | |||
* Beginning iPhone SDK Programming with Objective-C, Wei-Meng Lee, ISBN 978-0470500972 | |||
* Pragmatic iPhone 3.0 SDK Development: Bill Dudney & Chris Adamson. ISBN 978-1-93435-625-8 | |||
* Web-Applications: Professional iPhone and iPod Touch Programming - Building Applications for Mobile Safari, ISBN 978-0-470-25155-3 | |||
Hinweis: Die hier aufgeführte Literatur ist optional und nicht verbindlich! Beim Privatkauf englischsprachiger Literatur bitte beachten, dass diese nicht der deutschen Buchpreisbindung unterliegt (z.B. Head First iPhone Dev im Januar 2010 bei Thalia 48,-, bei Amazon 27,-)! | |||
Teile der o.g. Literatur werden für die Teilnehmer des Kurses auf [http://elearning.uni-weimar.de Metacoon] digital verfügbar sein. | |||
{{Template:iPhoneDev}} | {{Template:iPhoneDev}} | ||
[[Category:Courses]] | [[Category:Courses]] | ||
[[Category:GPS]] | |||
[[Category:Internet]] | [[Category:Internet]] | ||
[[Category:Netztechnik]] | [[Category:Netztechnik]] | ||
Line 90: | Line 166: | ||
[[Category:Hardware]] | [[Category:Hardware]] | ||
[[Category:Software]] | [[Category:Software]] | ||
[[Category:SS10]] | |||
[[Category:Werkmodul]] | |||
[[Category:IOS]] |
Latest revision as of 06:54, 18 April 2011
Programming for iPhone / iPod Touch / iPad
Bachelor-Werkmodul
Lehrperson: Michael Markert
Bewertung: 6 ECTS, 4 SWS
Termin: Dienstags, 15.15 - 18.30 Uhr bzw. als Ausweichtermin 17.00 bis 20.30 Uhr
Bei genügend Interesse Verlegung auch auf Mo Nachmittag möglich
Ort: Marienstraße 7b, Seminarraum 103 (bzw. Projektraum 104)
Erster Termin: 13.04.2010, 15.15 Uhr
Der genaue Termin/Ort wird mit der Bestätigung der Anmeldung per E-Mail mitgeteilt!
Der aktuelle Kurs ist hier zu finden: IFD:iOSDev
Gerade als die Schlagworte "ubiquitäres Computing" und "Augmented Reality" trotz immer leistungsfähigeren mobilen Endgeräten ihren Glanz zu verlieren scheinen, kommt mit dem iPhone ein Gerät, das diese Begriffe mit neuem Leben füllt: Nicht nur in Bedienung und User Interface werden neue Maßstäbe gesetzt, vor allem die auf den Absatz von Applikationen ausgerichtete Konzeption der Gerätefamilie und eine gut durchdachte Entwicklungsumgebung befördert Rekordzahlen an Software-Neuerscheinungen für die iPhone Plattform.
Dieses Werkmodul zollt dieser Entwicklung Anerkennung und gibt Einblick in die Programmierung für das iPhone OS. Die Einführung des Kurses in Objective-C 2.0, die Vorstellung der wichtigsten Frameworks sowie der Entwicklungsumgebung Xcode / Interface Builder sind übrigens in weiten Teilen auch für native OS X Anwendungen gültig.
Im Lauf des Werkmoduls soll eine kleine Applikation umgesetzt werden (Medienkunst, Experiment, Game, Utility…). Verknüpfungen mit Semesterprojekten sind ausdrücklich erwünscht. Ein spezieller Developer Account mit Zertifikat für teilnehmende Studenten ist vorhanden; damit können Anwendungen auch ohne weitere Kosten auf den eigenen Geräten getestet werden.
Das Werkmodul richtet sich an Studierende aller Fachrichtungen, die sich mit mobilen Anwendungen für iPhones bzw. iPod Touch Geräten technisch beschäftigen und künstlerisch auseinandersetzen wollen. Der Kurs stellt die beiden grundsätzlichen Möglichkeiten (Web-Apps und ObjC-Apps) vor. Dabei liegt der Schwerpunkt auf nativen Applikationen, die mit Objective-C programmiert werden.
Themen des Kurses sind:
- Einführung in Objective-C 2.0 (Smalltalk-ähnliche, auf C aufbauende Sprache)
- Übersicht Cocoa Touch: iPhone OS 3.0 Frameworks (UIKit, Foundation…)
- Einführung in die Entwicklungsumgebungen Xcode und Interface Builder
- Generelle Programmierkonzepte der objektorientierten Objective-C Sprache
- Künstlerische Auseinandersetzung mit dem Medium und Fragen der Interaktion
Als Voraussetzung für dieses Werkmodul ist aufgrund der erhöhten Komplexität (Umgang mit einer höheren objektorientierten Programmiersprache) die Vorkenntnis einer (beliebigen) Programmiersprache erforderlich. Es sollten die Konzepte von Variablen, Funktionen, Arrays etc. bereits bekannt sein.
English Description
Just as the buzzwords "Ubiquitous Computing" and "Augmented Reality" are beginning to loose their thrilling denotation, the iPhone (and iPod Touch) is becoming an exciting new platform to set standards - not only regarding the user interface, but also with its application based paradigm and a well-thought development environment.
This module is paying tribute to this progress and is aiming to give an insight into programming concepts for the iPhone OS incl. Objective-C 2.0, the related iPhone frameworks and the Xcode/Interface-Builder IDE (which is - by the way - also valid in most parts for application development for the Mac OS X operating system).
At the end of this course, students should have developed a small application (media art, experiment, game, utility...). Combinations with semester projects are welcome. All participants may access a University's iPhone Developer Account, that enables us to test applications on devices without further expenses.
The Module is open for students of all faculties. Because of the advanced topics, there are some requirements for the application:
- Knowledge of a programming language (the concepts of variables, functions, arrays etc... should be known)
- Access to an Intel-based Mac running Mac OS X 10.5.7 or later
- An iPhone or iPod/Touch
Themen
- iPhone (Allgemeines, App Showcase)
- iPhone Coding Resources & Tools - incl. 3rd Party Frameworks, Templates, Open Source Projects & Classes...
- iPhone Development (SDK-Download, App-Signing How-To)
- Application Types
- Immersive, Productivity, Utility
- View-Based, Quartz 2d, OpenGL
- Xcode
- Interface Builder
- Debugging
- Application Types
- Objective-C 2.0
- Cocoa Design Patterns
- Messaging (Methods, Subclassing, Delegation, Notification...)
- Target-Action-Paradigm
- MVC (Model / View / Controller)
- KVC (Key-Value-Coding)
- Cocoa Touch - the iPhoneOS Frameworks
- Foundation Classes (NSNumber, NSString, NSArray…)
- UIKit Classes (UIApplication, UIView, UIViewController, UITouch ...)
- ViewControllers: Navigation Controller, TabBar Controller, TableView Controller, ...
- TableViews
- ... (see Syllabus for further topics)
- iPhone OS 4
- Einführung in kybernetische Systemtheorie als Interaktionsmodell
Voraussetzungen
- Zugriff auf einen Intel-Mac mit 10.5. oder 10.6.
- Im Notfall können ein oder zwei Geräte durch die Universität während des Semesters bereitgestellt werden. Bitte unbedingt vorher mit dem Kursleiter abklären!
- Ein iPhone, iPod Touch oder iPad
- Es ist auch eine Teilnahme ohne eigenes Gerät möglich; i.d.F. sollte die Anwendung entweder im Simulator laufen oder nativ für OS X entwickelt werden (Cocoa).
- Abhängig von der Anzahl der Kursbesucher ist es bei entsprechender Vorkenntnis auch möglich, den Kurs zu belegen, um ein mobiles Projekt mit anderer Technik umzusetzen (z.B. J2ME für andere Smartphones). Aufgrund der großen Unterschiede bei den Plattformen kann jedoch nicht näher auf andere Entwicklungsumgebungen eingegangen werden.
- Vorkenntnisse in einer (beliebigen) Programmiersprache (HTML ist keine Programmiersprache ;) Es sollten die Konzepte von Variablen, Funktionen, Arrays etc. bereits bekannt sein.
Bei Fragen zum Kurs kontaktieren Sie mich bitte per eMail!
Registration Procedure
To register for the course, please send an eMail with the Topic "Registration for IPhone-Dev" to Michael.Markert (at) uni-weimar.de, incuding the following informations:
- Full Name
- program and semester (Studienprogramm und Fachsemester)
- matriculation number (Matrikelnummer)
- Angabe der geltenden Prüfungsordnung (eg. PV27 or PV29)
- Valid email address @uni-weimar.de (no other mailing addresses will be accepted)
- Your hardware:
- Do you have a Mac Computer with Mac OS 10.7+ ?
- Do you have an iPhone, iPad or iPod Touch with iOS 6+ ?
- One or two short(!) sentences about:
- why you want to be in this course
- what preliminary knowledge do you have (e.g. HTML, Processing, ...) <-- please be honest!
If there are more than 15 Registrations, students will be accepted depending on:
- Order (first come, first serve)
- If you are in a Project of Interface-Design (see Prof. Jens Geelhaar's semester projects this semester)
- What you've written in "why I want to be in this course"
Applications with missing information, esp. those with an invalid E-Mail ("Re: Cannot deliver, mailbox full / quota exceeded, ...") and participants showing on the first meeting without previous registration cannot be accepted, unfortunately. Sorry.
Leistungsnachweis
Regelmäßige und aktive Teilnahme sowie die Umsetzung einer Projektidee, entweder als Web-App (online) oder als native Anwendung sowie eine begleitende und abschließende Dokumentation im Wiki mit Kurzpräsentation im Rahmen des Kurses.
Grading:
- Attendance (20%)
- Concept of a mobile application (20%)
- Realisation of the concept (60%)
- Technical Design (20%)
- Interaction Design (20%)
- Visual/Acoustic Design (20%)
- Wiki-Bonus (10%)
Zielgruppe
Das Werkmodul richtet sich an Studierende aller Fachrichtungen, die sich mit mobilen Anwendungen für iPhones bzw. iPod Touch Geräten technisch beschäftigen und künstlerisch auseinandersetzen wollen.
Syllabus
- 13.04. Intro, Showcase, Application Types, iPhoneOS, Objective-C 2.0, Xcode, Interface Builder
- 20.04. Objective-C 2.0, Custom Classes, Memory Management, Object Lifecycle, Properties
- 27.04. Recap Objective-C 2.0, Xcode, Debugging, Foundation Overview
- 04.05. Recap, UIKit Overview, Cocoa Design Patterns (MVC, Target-Action, KVC/KVO, DataSource, Delegates, Notifications, Protocols, Categories ...)
- 11.05. Recap Design Patterns, Navigation- & View Controllers, TabBar Controller
- 18.05. Recap View Controllers, ScrollViews, Core Animation, TableViews
- 25.05. Views, Quartz 2D Drawing, Timers, Text Input, Custom Table Cells
- 01.06. Web View, Location, Maps
- 08.06. Touch Events, Multi-Touch, Gestures, Responder Chain
Data & Persistance (UserPreferences, Settings, NSCoder & NSKeyedArchiver, SQLite, CoreData) - 15.06. Accelerometer, Shake, Undo, Camera, ImagePicker
- 22.06. Audio API, Video Playback, Bonjour, NSStream, GameKit, UIPasteBoard
- 29.06. Localization, Battery Life & Power Management, Performance (Memory Usage, Leaks, Autorelease, Threads), Debugging, Instruments, Unit Testing, Publishing to the App Store, Xcode Tips & Tricks
- 06.07. Recap - What's really important (focussing on differences to Desktop & iPad),
changes with iPhone OS 4
- 28.09. Abgabe
Abgabe der Ergebnisse:
- als Dokumentation im Wiki mit Screenshots und Erläuterungen
- und (per E-Mail): kompilierbare quelloffene Projektdatei, bis zum 28.09.2010.
Literatur & Links
Weitere Literatur- und Links finden sich in den jeweiligen Untersektionen.
Official
- Bauhaus-iPhone @ developer.apple.com
- Apple's User Interface Guidelines for the iPhone Plattform: User Experience
- iPhone Reference Library
- iPhone Development Guide - Introduction
- iPhone OS Programming Guide
Tutorials & Online-Courses
- iTunes U: Stanford Programming iPhone Course
- Apple WWDC 2010 Videos (for registered developers)
- iCodeBlog iPhone Tutorials
- iPhone Development 101
Literatur
- O'Reilly: Head First iPhone Development, ISBN 978-0-596-80354-4
- O'Reilly & MAKE: iPhone Open Application Development, ISBN 9780596516642
- O'Reilly iPhone Game Development: Paul Zirkle & Joe Hogue, ISBN 978-0-596-15985-6
- Beginning iPhone Development: Dave Mark, Jeff LaMarche, ISBN 978-1430224594
- iPhone SDK Programming, Advanced Mobile Development: Maher Ali, ISBN 978-0-470-68398-9
- iPhone Advanced Projects: Apress, ISBN 978-1430224037
- iPhone Design Award Winning Projects: Apress, ISBN 978-1-4302-7235-9 & eBook ISBN 978-1-4302-7234-2
- Beginning iPhone SDK Programming with Objective-C, Wei-Meng Lee, ISBN 978-0470500972
- Pragmatic iPhone 3.0 SDK Development: Bill Dudney & Chris Adamson. ISBN 978-1-93435-625-8
- Web-Applications: Professional iPhone and iPod Touch Programming - Building Applications for Mobile Safari, ISBN 978-0-470-25155-3
Hinweis: Die hier aufgeführte Literatur ist optional und nicht verbindlich! Beim Privatkauf englischsprachiger Literatur bitte beachten, dass diese nicht der deutschen Buchpreisbindung unterliegt (z.B. Head First iPhone Dev im Januar 2010 bei Thalia 48,-, bei Amazon 27,-)!
Teile der o.g. Literatur werden für die Teilnehmer des Kurses auf Metacoon digital verfügbar sein.
Diese Seite ist Teil des Werkmoduls iOS Development von Michael Markert für Interface Design / Fakultät Medien an der Bauhaus-Universität Weimar.