Course Information
- Available
- *The delivery and distribution of the certificate are subject to the policies and arrangements of the course provider.
Course Overview
for Android and iOS
Highlights
- Intro to Programming and App Design and Development Series
- Covers Android / Java and iOS / Swift
- Partly Based on an Upper-division Undergraduate Course at UCLA
- 2 Sample Apps: Yoga Postures App (iOS/Android), Family Group Chat App (Android)
- 14-Week Course (68 Lectures)
- 19+ Hours of Video Instruction
- 400+ Pages of Lectures Slides, Notes, Source Code
- 4 Additional Weeks of Student Project: Online Q/A Support during "Build Your Own App" Project
- Get Started Making Your Own Apps for Fun, as a Freelancer, or to Become a Professional Software Developer
- No Prior Knowledge or Experience Necessary
Overview
This is an introduction to programming and app development class series, partly based on an upper-division undergraduate introductory programming languages course from the Computer Science department at UCLA.
Whether you're interested to learn making apps for fun, would like to start app development as a side-job, or even want to pick up software development as a career, this course will give you the background and practice you need to get started and take off on your own.
This is a 14-week course. We will spend 8 weeks on principles of computer programming. Next we'll learn things specific to designing and developing mobile apps, for both iOS and Android, and we'll finish the course by developing two sample apps together in both these platforms: Yoga Postures App (iOS/Android), Family Group Chat App (Android).
The course covers concepts from Functional languages, Imperative languages, and Object-Oriented languages, in the context of the following languages: Java for Android, Swift for iOS. Over the course of the two sample apps, you will practice many aspects of app development, including Xcode and Android Studio IDEs, performing in them layout, generating views programmatically, scrollviews, using Google FireBase as a database backend, asynchronous listeners/callbacks for handling events, database exchanges, and much more.
Perquisites
- No prior knowledge or experience in programming is necessary and all ages are welcome
- To be able to learn and practice programming languages concepts, you only need a computer with internet connection
- To be able to practice making apps on your own, you will need a computer with Xcode (for iOS) or Android Studio (for Android) installed
Sections
- Intro: Introduction to this series
- Week 1: Orientation, Swift Primer, Functional Languages, Functions, Types, Type Inference, Type Checkers
- Week 2: Control, Imperative Languages
- Week 3: Recursion, Data Structures
- Week 4: Data Structures, Optional Types
- Week 5: Scoping, Closures, Interpreted and Compiled Languages, Static and Dynamic Typing
- Week 6: Object Oriented Languages, Interfaces, Inheritance, Polymorphism
- Week 7: Object Oriented Programming Topics
- Week 8: Generics, Concurrency, Asynchronous Computation, Exceptions
- Week 9: Java Primer
- Week 10: App Programming Primer: Layout, Layout in iOS (Sample App 1: Yoga Postures App)
- Week 11: App Programming Primer: Coding in iOS (Sample App1: Yoga Postures App)
- Week 12: App Programming Primer: Layout in Android (Sample App1: Yoga Postures App)
- Week 13: App Programming Primer: Coding in Android (Sample App1: Yoga Postures App)
- Week 14: Sample App 2: Family Group Chat App (Android)
- Outro: Final Lecture, Instructions to build your own app
Course Content
- 17 section(s)
- 69 lecture(s)
- Section 1 Introduction to the Series
- Section 2 Week One: Orientation, Overview, Organization, Basic Concepts
- Section 3 Tip on How to Watch the Rest of This Course
- Section 4 Week Two: Control, Imperative Language Constructs
- Section 5 Week Three: Recursion, Data Structures
- Section 6 Week Four: Data Structures, Optional Types
- Section 7 Week Five: Scoping, Closures, Language Types
- Section 8 Week Six: Object Orientation, Interfaces, Inheritance, Dynamic Dispatch
- Section 9 Week Seven: More Object Oriented Programming Topics
- Section 10 Week Eight: Generics, Concurrency, Asynchronous Computation, Exceptions
- Section 11 Week Nine: Java Primer
- Section 12 Week Ten: App Programming Primer - Layout, Layout in iOS
- Section 13 Week Eleven: App Programming Primer - Coding in iOS
- Section 14 Week Twelve: App Programming Primer - Layout in Android
- Section 15 Week Thirteen: App Programming Primer - Coding in Android
- Section 16 Week Fourteen: Sample App 2 - Family Group Chat in Android
- Section 17 Outro, Student Project
What You’ll Learn
- Start designing and making your own apps
- Work as a freelance developer or apply for app or software development positions
- Solid understanding of fundamental concepts in programming languages
- Specific knowledge related to designing and developing mobile apps
- Familiarity with Android & iOS app development
- Adequate familiarity and knowledge to be able to take off on your own, and use the web to find code snippets that suite your on-demand needs
- Approach programming from a place of high awareness and joyful presence using short centering meditation practice
Skills covered in this course
Reviews
-
JJason Gordon
The instructor is not visible so a script could have been used (he doesn't ramble but there are some hesitations) and the subtitles are definitely auto-generated which makes them counter-productive rather than actually useful.
-
LLeon Rolfe
I think this is going to be a comprehensive introduction to mobile app development. This is exactly what I'm looking for.
-
DDonald Cox
Looking forward to an exciting learning and be an app programmer.
-
SSalvador Alba
It is assumed that everyone is working on MacOS and no Windows alternative for Xcode is offered. Besides that, great explanations, love the meditations and the tone.