Overview
Syllabus
Course Overview: About Me, You, and this Course.
How to Run the Examples.
Kotlin Syntax Practice for Beginners.
Data Landscape: Memory Spaces and Named Addresses (References).
How to use "val" and "const val" References to promote Immutability/Efficiency:.
Using "var" Reference Types, and the problems with Shared Mutable State!.
Giving Structure to Data with Classes.
A Fundamental Divide: Computation and Control Logic.
Computing Data means Solving Problems.
Controlling the Flow of Data.
Event Driven Programs.
Functional versus Imperative Program Style (mild introduction).
What is Software Architecture?.
Separation of Concerns.
Dependency Inversion: Using Interfaces Effectively for Front End and Back End.
Extension versus Abstraction: Open/Closed Principle.
Dependency Injection: How, What, and Why?.
Inversion of Control via the Service Locator Pattern.
Proving Programs with Tests (a light introduction to Testing).
Solving Problem (Domains) by Analysis.
Taught by
freeCodeCamp.org