Werkmodul | Fachmodul
Instructor: Michael Markert
Credits: 6 ECTS, 2 SWS
Capacity: max. 20 students
Date: Tuesdays, 13:30 to 15:00
Location: Marienstr. 7b, Room 105
First Meeting: Tue, April 14th, 13:30
Dieser Kurs richtet sich an Studentinnen und Studenten mit bereits vorhandener Programmiererfahrung. Wir werden uns die neuesten Technologien und Strategien zur App-Entwicklung ansehen und einen Überblick über native und web-basierte Technologien geben. Inhalte und Schwerpunkte - siehe "Topics".
We'll also look at available hardware options and how to use and interact them. You'll learn when and where you'll need the native SDKSoftware Development Kit and that hybrid or web apps have become very powerful.
- a good overview of what's possible and what not
- improved general programming skills
- how to use live editors to improve code quality
- how to debug
- introduction to Swift
The final assignment is pretty open, it could be (either, not all!):
- a prototype of an app (or an app of course!)
- a (wearable) accessory (prototype or working proof-of-concept)
- an app-dummy (video-concept),
- a detailed app concept
- or a scientific paper, researching a specific location based / mobile topic
It is recommended to also visit my other course: Outside Mobile will look at mobile applications stressing the word mobile - We're going out and test stuff! Awesome!
Focused topics appear in bold.
- Native Apps: iOS, Android
- Hybrid Apps
- Web App or Native?
- The App Store
- Fake it 'til you make it (Prototyping Apps)
- Sensors (Magnetometer, Accelerometer, Device Motion/Orientation)
- Communication (WebSockets, Bluetooth ...)
- Revisiting the basics (Variables, Functions, Objects)
- The new Swift Programming Language
- (upon general interest:) How was it with Objective-C?
- Server-side technologies (PHP[[PHP|PHP Hypertext Processor]], node.js, ...)
- Xcode and Eclipse
- Why use live editors?
- How to debug
- Active and regular participation, Freude am Programmieren
- Some intermediate programming knowledge in at least one programming language (HTML[[HTML|Hypertext Markup Language]] is not a programming language!). You should know what variables and functions are (see registration procedure)
THIS COURSE IS FULL. PLEASE DO NOT WRITE, AND DON'T COME WITHOUT ACCEPTANCE NOTIFICATION. NO EXCEPTIONS. I KNOW, THAT'S UNFAIR, SORRY.
To register for the course, please send an eMail due to April 8th with the Topic "Registration for InsideMobile" to Michael dot Markert (at) uni-weimar.de,
incuding the following informations:
- First name, last name
- program and semester (Studienprogramm und Fachsemester)
- matriculation number (Matrikelnummer)
- Valid email address @uni-weimar.de (no other mailing addresses will be accepted)
- Let me know about your preliminary programming knowledge (be brief, don't google it, there's no right and wrong, I just want to see where you stand):
- A local variable is:
- A function is:
- Swift is:
- I like programming because:
- One short sentence why you want to (have to) be in this course (german or english)
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" and how serious you are about this course
If there are more than 25 registrations, there might be a kick-off event with an evaluation competition.
- Active and regular participation
- Progress on the individual project you are working on
- Creating a piece of work / concept / app / scientific paper:
- The expected minimum should be a concept of a location based mobile app with a description, storyboards and (if possible) a functional dummy
- As an alternative to a concept, scientific papers that evaluate existing or new location based mobile apps are also welcome
- It would be desirable if we get enough material by beginning of July to set up a small exhibition for the Summary
- 2 minute presentation at the IFD:Showreel
Projects and Documentations
Please copy this entry (NameOrPseudonym) and create your own subpage:
- Explanation of the Media-WikiHaiwaiian for ''fast'' (not an acronym). It is the name for a hypertext system for websites where the user may not only read the content but is also able to change it instantaneously through the browser. code for a link:
- The square brackets create an internal link here in this wiki (linking to a new or existing page).
- The slash "/" at the beginning is creating a subpage of this page
- /NameOrPseudonym <-- please copy this link and add your own name (this wiki is public, btw!).
Here's an overview: Wiki Editing Help. There's also a help page on how to add images.
The easiest way is to push the image button in the editor toolbar above this textfield, give it a nice name and save. Then follow the newly created link and you'll get prompted to upload a file. Please respect copyrights and only upload material you own!
- In general open to all students, but esp. suited for
- Bachelor- and Master students of Media-Arts & Design
- Master students Media-Architecture
This is a *preliminary* syllabus. Please check back regularly for latest updates.
- Tue, 14.04. Intro, Overview, HTML[[HTML|Hypertext Markup Language]] and CSS[[CSS|Cascading Style Sheets]] refresher
- Tue, 21.04. File Management: editors, git, naming conventions, project management,
Prototyping: designing, dummies, demos, wireframes, problems (what's to be done?) and breaking into units/tasks
- Tue, 28.04. Technology: platforms, native/web, input, data persistence, features, languages, toolkits,
Software: models, classes, objects
Tue, 05.05. No course, because Michael is presenting on a conference in UK1. Universitätskommunikation – a service of the university taking care of public relations 2. United Kingdom
- Tue, 12.05. Software: objects, programming languages, functions, datatypes
- Tue, 19.05. Software: events, synchronous and asynchronous code, networking (xhr), CORS, web APIs
- Tue, 26.05. Visuals: WebGL, Canvas, SVG[[HTML#SVG|Scaleable Vector Graphics]], HTML[[HTML|Hypertext Markup Language]] Elements, Maps, CSS3, WebView, MapView, ViewControllers
- Tue, 02.06. Animation: CSS[[CSS|Cascading Style Sheets]] transition property, animation, raf, Unity,
HTML[[HTML|Hypertext Markup Language]]-Elements: forms, inputs..., Mobile UIUser Interface Frontend Frameworks
- Tue, 09.06. Input, Sensors, Accessories: location, heading, orientation, touch, gestures, BT, camera, microphone, LEDLight-emitting diode
- Tue, 16.06. Audio: HTMLaudio, webAudio, AVAudio, openAL, CoreAudio
JS Libraries: Overview & D3.js, Three.js, Snap.js, Paper.js, Processing.js, P5.js, node.js
- Tue, 23.06. Native App Development: Xcode, Obj-C, Swift, Eclipse, Java
- Tue, 30.06. Marketing: price tier, taxes, audience, review process, support, bugreports, updates, texting, internationalization, screenshots, videos, promos, ratings
- Tue, 07.07. to be announced