Coder Social home page Coder Social logo

jfalb / mobile-app-dev Goto Github PK

View Code? Open in Web Editor NEW

This project forked from avf/mobile-app-dev

0.0 0.0 0.0 14.26 MB

Mobile App Development class for University of Applied Sciences Vienna

Home Page: https://avf.github.io/mobile-app-dev/

License: GNU General Public License v3.0

Swift 100.00%

mobile-app-dev's Introduction

Welcome to Mobile App Development (MAD)!

This class will teach the fundamentals of Mobile Development. Since this is such a broad topic, we'll focus on a few key aspects and learn those really well. We're going to be doing native iOS development using Xcode, Swift, and UIKit.

The class is divided into a few session of lectures and exercises. During the lecture sessions, I'll try to make things interactive - apart from a regular presentation with slides and a few case studies, we'll also do some live coding sessions together.

For the exercises, I've prepared a few programming assignments for you. There will be fixed exercises and freeform exercises.

The fixed exercises are pretty firm in their scope and tasks. They're almost like an interactive tutorial, but without the solutions. The goal is for you to gain competence in the most important aspects of iOS development that everyone should know about.

The freeform exercises are much more flexible. You can choose which topics you'd like to work on and pick from a variety of frameworks to learn and features to implement. To learn more about the exercises, see this page.

This class is very new, so you'll probably encounter some rough edges and run into problems in these exercises. Maybe something isn't specified that should be, or maybe something is missing, or some information is conflicting. Since this will definitely happen, if you're stuck, or feel something is more difficult than it should be, please contact me. I'm always happy to help.

This is a living document. If you have suggestions for improvements, or found a mistake, please send me a message. Or even better, fork the repo on GitHub and send me a pull request.

Required previous knowledge

This is a fairly intense class that involves a lot of programming. You will need very good skills in object oriented programming to keep up. Specifically, you should understand and be able to apply the following concepts and technologies:

  • Programming
    • Programming basics (Variables, Functions/Methods, Conditionals, Loops)
    • Data structures (Arrays/Lists, Maps/Dictionaries, Sets, Enums)
    • Interfaces (for example in Java)
    • Classes & Inheritance
  • Concepts
    • HTTP, JSON and REST
    • Relational Databases/SQL (basics)
    • Working with a package manager/dependency manager (for example, npm, maven, gradle, etc.)
  • Tooling
    • unix shell/command line (basic knowledge, like being able to create/switch directories, open/move/copy files)
    • git
  • Not required, but looking it up in advance will really help if you've never heard of it:
    • Lambdas/Callbacks/Closures (different names for the same concept)
    • Concurrency/Multithreading/Asynchronous callbacks/Promises
    • Optionals (for example the Java 8 Optional type)
    • Homebrew (package manager for macOS)

Don't worry if you're missing a few things on this list - you can learn them as you go. But if a lot of this list is foreign to you (especially the first bullet), you might have a very hard time in this class. In that case, I'd highly recommend reading up on these concepts before class starts.

Previous knowledge in Objective-C, Swift or iOS Development is not required.

I've divided the lecture topics into lecture blocks. One lecture block may span multiple lectures. This way I can stay flexible in how many lectures I dedicate to one block.

You can find all the details on the lectures here.

There will be multiple programming exercises for you to do during the semester. You can find all the details here.

Support or Contact

For quick answers to questions, you can post to the class's Telegram group. I don't want to post the invite link here publicly, but you should've received it via email. I monitor the group frequently to quickly help you during the programming assignments.

Any questions, comments or feedback on the class? Send me an email any time. If you prefer, you can also send me a message in German. I'm always happy to help.

mobile-app-dev's People

Contributors

avf avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.