Skip to content

mountblue/android-path

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 

Repository files navigation

Android Learning Path

Command Line Basics

Session on CLI.

Command Line Crash Course

Commonly Used Linux Commands

Version Control Systems

Session on Git and Github

Version Control with Git - Udacity Video Course

GitHub & Collaboration - Udacity Video Course

Learn enough Git to be dangerous

Practice Link - Practice the Learn Git branching section

Gamified Tutorial - Learn the most common practices in the modern day Git Workflow.

Core Java

Resources

Books

  1. Java The Complete Reference, 9th edition or 10th edition - Read Online
  2. Head First Java - Read Online

Videos

  1. Java video tutorial by Derek Banas

Checking Resource Online

Use hackr.io - https://hackr.io/tutorials/learn-java

Environment & Tools

  1. JVM, JRE & JDK
  2. IntelliJ IDEA - Install

Concepts

Data types & Variables

  1. Primitive & Reference types
  2. Type conversion & Casting
  3. Arrays

Operators

  1. Arithmetic
  2. Bitwise
  3. Relational
  4. Boolean
  5. Ternary Operator
  6. Operator Precedence
  7. Parenthesis

Control Statements

  1. Selection statements - if, switch
  2. Iteration statements (Loops) - for, while, do-while
  3. Jump statements - break, continue, return

Object-oriented programming

  1. Inheritance
  2. Encapsulation
  3. Abstraction
  4. Polymorphism

Exception Handling

  1. What is an Exception?
  2. Hierarchy of Exceptions
  3. Exception Handling
  4. Throwing Exceptions
  5. Null Pointer Exception (NPE)
  6. Array Exceptions
  7. Try with resources

Generics

  1. Generics and Object
  2. Generic Methods
  3. Type Bounds
  4. Wildcards

Collections

  1. What are collections?
  2. List
  3. Set
  4. Queue and Stack
  5. Map
  6. LinkedList
  7. Iterator and iterable
  8. Collections util class

Multithreaded Programming

  1. Create Threads
  2. Synchronization
  3. Executors
  4. Collections and Thread-safety

Other topics

  1. Enumerations
  2. Autoboxing
  3. Annotations (Metadata)
  4. String handling
  5. Lambda Expression
  6. Reflection
  7. Types of References

Style Guide

Google Java Style Guide

Exercises & Projects

Java Koans

Download & solve all Koans

IPL Project

Get the IPL Dataset

In this data assignment you will transform raw data from IPL into some scenarios that will convey some meaning / analysis.

Download both csv files from https://www.kaggle.com/manasgarg/ipl

Code a Java program that will transform the raw csv data into a data structure into a Dictionary format.

  1. Number of matches played per year of all the years in IPL.
  2. Number of matches won of all teams over all the years of IPL.
  3. For the year 2016 get the extra runs conceded per team.
  4. For the year 2015 get the top economical bowlers.
  5. Create your own scenario.

Part 2

Using MySQL, solve the same above problems by getting data using SQL queries.

Time and Space Complexity

Time Complexity Summary (30 minutes) on mycodeschool - 4 videos

Complexity for recursive programs (8 minutes) on mycodeschool

(Optional) Additionally you can refer to the Algorithms and Data Structures course by Ravindrababu Ravula on youtube (First 6 videos cover ): https://www.youtube.com/watch?v=aGjL7YXI31Q&list=PLEbnTDJUr_IeHYw_sfBOJ6gk5pie0yP-0

Create an account on Interviewbit and solve the practice problems in the Time Complexity section.

SOLID Architecture

Watch videos.

Overview of SOLID

SOLID principles

Project: Data Munging Problem
Practice Data Munging problem (http://codekata.com/kata/kata04-data-munging).

Create proper classes. Try to apply OOPs concepts and do it using minimum amount of code.

Unit Testing in Java

Session Unit testing

Session Code Retreat

Android

Developing Android Apps

Developing Android Apps - Udacity video course

Project: BMI Calculator
Project: Quiz Application with Timer

Advanced Android App Development

Advanced Android App Development - Udacity video course

Architecture - MVP, MVVM

Project: Notes Application
Project: Movies Application
Project: Simple Music Player
Using services, notifications.

Material Design for Android

Material Design for Android Developers - Udacity video course

Project: Play Store UI

Gradle for Android

Gradle for Android - Udacity video course

RxAndroid, Dagger 2

Project: RSS Feed Reader

Firebase, Google Play Services

Project: Uber home page clone, Trackme

Android Jetpack

Project: Todolist Application

Kotlin

Kotlin Bootcamp for Programmer on Udacity

Developing Android Apps with Kotlin on Udacity

Project: Offline Survey App

Resources

Libraries - Android Job by Evernote, LeakCanary

Google Android Developer Videos on Youtube

Google Code Labs

Practice

Android Fundamentals

Android Fundamentals on Google Codelabs

Advanced Android Development

Advanced Android Development

Important Libraries

  • RxAndroid
  • Dagger 2
  • LeakCanary

Capstone Project

The final project of the bootcamp.

Deliverables:

  1. User Personas - How to define a User Persona
  2. User Stories - Writing User Stories
  3. Wireframes - Website Wireframes
  4. API Contracts
  5. Trello Board for managing and prioritising user stories
  6. Gitlab Repository for managing the code
  7. Deployment link for the project

Thanks.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published