Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/androidbootcamp/Course-Material

Course Material
https://github.com/androidbootcamp/Course-Material

Last synced: about 2 months ago
JSON representation

Course Material

Awesome Lists containing this project

README

        

Course-Material
===============

This repository contains the Course Material for two Android Bootcamps. The first is the Android Bootcamp for Beginners. This course is aimed at people who want to learn the basics of Android. The second is called Test Driven Development (TDD) on Android. This is aimed at people with intermediate to expert Android knowledge, and who want to learn how to apply TDD on Android. Both courses are described in detail below.

The material on GitHub would ideally be used with a facilitator and is not as effective for self study, although it's certainly a resource. We're trying to get to a point where it can be used for self study. Any advice and help is appreciated. If you've taught before, and want to advise us on organising the resources, or would like to help us enhance the material, create tutorials or videos, please get in touch!

Beginner's Android Bootcamp
---------------------------

This course runs over 3 days, and consists of 6 sessions. Each session is 3 hours, with a 45 minute lunch break in between.
The last session is smaller, around 1.5 hours.
We generally conduct a retrospective towards the end of session 5, or the beginning of session 6, but gather feedback at the end of each day.

Here is what each of the sessions cover -
Session 1 - Basics of Android, project structure, Activities, Layouts, Activity Lifecycle, Explicit Intents, Navigation Using Intents, Gradle Plugin.
Session 2 - Implicit Intents, Explicit and Implicit Activation, Intent Filters, Camera Integration, SQL.
Session 3 - Adapters and Adapter Views, RecyclerView, Themes.
Session 4 - Async Calls, Activity Recreation.
Session 5 - Fragments, Fragment Lifecycle, View Pagers.
Session 6 - Broadcast Receivers, Intercepting SMS Messages.

The coding assignments are under the following repositories -

Day 1 - https://github.com/androidbootcamp/ProjectPlanner under branch - solution
Day 2 - https://github.com/androidbootcamp/ShoppingApplication under branch - solution
Day 3 - https://github.com/androidbootcamp/smsinterceptor under branch - solution

Test Driven Development (TDD) on Android
----------------------------------------

This course also runs over 3 days, and contains 6 sessions of 3 hours each. It is recommended that you plan for a lunch break of atleast 45 minutes in between.
This course builds a conference application over three days, covering various TDD concepts on the way.
We generally conduct a retrospective towards the end of session 5, or the beginning of session 6, but gather feedback at the end of each day.

Here is what each of the sessions cover -

Session 1 - Basics of TDD. Unit Tests, Test Fixtures, Test Pyramid, JUnit, and a simple graph problem to practice TDD. You can skip this session if the crowd is already familiar with the basics of TDD.
Session 2 - MVVM, adding functionality to the Model and creating a ViewModel.
Session 3 - Intro to Instrumentation Tests and Espresso.
Session 4 - Intro to MVP, MVP + MVVM.
Session 5 - Adding Business Logic with Unit and Instrumentation Tests.
Session 6 - End-to-End Functional Tests and Open Space.

The code for all sessions (apart from Session 1) is under the following repository - https://github.com/androidbootcamp/Conference under branch solution.