- 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
- 13-Week Course (60 Lectures)
- 16+ 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
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 17-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 a sample app together in both these platforms. After the completion of the course, I'll ask you to design and develop an app of your own choice. We'll make this course interactive. For 17 weeks since the start of your course, I'll be available online to answer your questions and provide you feedback, especially during the time you will be making your own app (last 4 weeks).
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.
- 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
- 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
- Week 11: App Programming Primer: Coding in iOS
- Week 12: App Programming Primer: Layout in Android
- Week 13: App Programming Primer: Coding in Android
- Outro: Final Lecture, Instructions to build your own app
- Weeks 14-17: Build Your Own App Student Project, Online Support