This is the repository dedicated to Java learning. I am going to keep track of my progress here using variety of options, including books/courses listing and so on.
Actually, the only and one reason for me doing this is organizing my learning routine as well as keeping everything in a single place that can possibly be shared with anyone else.
If you are passionate about learning any programming language, and need a tool to organize things up, I would be more than glad to know that my example helped and inspired you.
There are items I need to learn better and some are already learnt:
- Language Basics (Data types, Exception handling, I/O, Stream API, etc... )
- Wildcard, Generics & Collections
- Data structures, Algorithms, Algorithmic complexity
- Data Access
- Basic understanding of threading and concurrency
- Basic design patterns like singleton, factory, etc.
- Class Design & OOP Principles
- Architecture
- Threads & Concurrency
- Tools & Other Standard Libraries
- Web Services
- Web Components
- Swing, AWT & JAVAFX
- Hibernate
- Spring
- EJB
- JPA
- JDBC
- (to be completed...)
- Regular Expressions
- Version Control with Git
- MIT: Computation Structures - Part 1: Digital Circuits
- HarvardX: Calculus Applied!
- Learn To Use Linux Command Line In Bash Shell.
- Intro to Linux Shell Scripting
It is better to do it less hard but regularly, so here's the basic rules on how to quickly achieve the goal
- Pick up a course (see table below), keep walking with it regularly - ONE COURSER AT TIME
- Solve at least three tasks from Codingbat
- Keep reading the book of your choice (see table below), don't ignore the practicing
| Status | Title | Author | Comments |
|---|---|---|---|
| WIP | Head First Java | Bert Bates and Kathy Sierra | |
| ReRead | Thinking in Java | Bruce Eckel | |
| ToDo | Head First Object Oriented Analysis and Design | Brett McLaughlin | |
| ToDo | Java: The Complete Reference | ||
| ToDo | Java in a Nutshell | Benjamin Evans, David Flanagan | |
| ToDo | Think Java: How to Think Like a Computer Scientist | ||
| ToDo | Algorithms Iluminated | Tim Roughgarden | |
| ToDo | Learning HTTP/2 A Practical Guide for Beginners | Stephen Ludin & Javier Garza | |
| ToDo | Clean Code: A Handbook of Agile Software Craftsmanship | ||
| ToDo | Know Thy Complexities | ||
| ToDo | Javarush theory | ||
| ToDo | Java tutorial: Learn Java Programming with examples | ||
| ToDo | Learn Enough Git To Be Dangerous | ||
| ToDo | Java Lambdas (Youtube videos) | ||
| ToDo | Coursera's Algorithm Specification | ||
| ToDo | Book: How To Solve It? |
Here goes a list of tasks solved for some particular amount of time. I started logging them from April 2018, but there are a lot of untracked tasks and katas (referring to Codewars) which I solved a long ago before that.
| Monthly count | Total Count # | Solved tasks | Complexity | Status |
|---|---|---|---|---|
| 01 | 150 | LeftRotation | 8 Kyu | Done |
| Monthly count | Total Count # | Solved tasks | Complexity | Status |
|---|---|---|---|---|
| 01 | 91 | Day3(30DoC) | 8 Kyu | Done |
| 02 | 92 | Reverse3 | 8 Kyu | Done |
| 03 | 93 | MiddleWay | 8 Kyu | Done |
| 04 | 94 | CommonEnd | 8 Kyu | Done |
| 05 | 95 | No23 | 8 Kyu | Done |
| 06 | 96 | MakeArrayConsecutive2 | 8 Kyu | Done |
| 07 | 97 | Day4(30DoC) | 8 Kyu | Done |
| 08 | 98 | Day5(30DoC) | 8 Kyu | Done |
| 09 | 99 | Day6(30DoC) | 8 Kyu | Done |
| 10 | 100 | GetSmallestAndLargest | 8 Kyu | Done |
| 11 | 101 | StringReverse | 8 Kyu | Done |
| 12 | 102 | CheckIfAnagram | 8 Kyu | Done |
| 13 | 103 | StringTokens | 8 Kyu | Done |
| 14 | 104 | Day7(30DoC) | 8 Kyu | Done |
| 15 | 105 | Day8(30DoC) | 8 Kyu | Done |
| 16 | 106 | Day9(30DoC) | 8 Kyu | Done |
| 17 | 107 | Fix23 | 8 Kyu | Done |
| 18 | 108 | MakeMiddle | 8 Kyu | Done |
| 19 | 109 | MidThree | 8 Kyu | Done |
| 20 | 110 | Day10(30DoC) | 8 Kyu | Done |
| 21 | 111 | DateAndTime | 8 Kyu | Done |
| 22 | 112 | PatternSyntaxChecker | 8 Kyu | Done |
| 23 | 113 | LibraryCatalogue | 8 Kyu | Done |
| 24 | 114 | Day11(30DoC) | 8 Kyu | Done |
| 25 | 116 | Sum3 | 8 Kyu | Done |
| 26 | 117 | MaxEnd3 | 8 Kyu | Done |
| 27 | 118 | MakeEnds | 8 Kyu | Done |
| 28 | 119 | MakeLast | 8 Kyu | Done |
| 29 | 120 | SimplePigLatin | 8 Kyu | Done |
| 30 | 121 | Day12(30DoC) | 8 Kyu | Done |
| 31 | 122 | Day13(30DoC) | 8 Kyu | Done |
| 32 | 123 | Day14(30DoC) | 8 Kyu | Done |
| 33 | 124 | PlusTwo | 8 Kyu | Done |
| 34 | 125 | Day15(30DoC) | 8 Kyu | Done |
| 35 | 126 | Day16(30DoC) | 8 Kyu | Done |
| 36 | 127 | MaxTriple | 8 Kyu | Done |
| 37 | 128 | Make2 | 8 Kyu | Done |
| 38 | 129 | Day17(30DoC) | 8 Kyu | Done |
| 39 | 130 | Unlucky1 | 8 Kyu | Done |
| 40 | 131 | Start1 | 8 Kyu | Done |
| 41 | 132 | Has23 | 8 Kyu | Done |
| 42 | 133 | Sum2 | 8 Kyu | Done |
| 43 | 134 | Double23 | 8 Kyu | Done |
| 44 | 135 | BiggerTwo | 8 Kyu | Done |
| 45 | 136 | SwapEnds | 8 Kyu | Done |
| 46 | 137 | FrontPiece | 8 Kyu | Done |
| 47 | 138 | Day18(30DoC) | 8 Kyu | Done |
| 48 | 139 | Day19(30DoC) | 8 Kyu | Done |
| 49 | 140 | Day20(30DoC) | 8 Kyu | Done |
| 50 | 141 | Day21(30DoC) | 8 Kyu | Done |
| 51 | 142 | Front11 | 8 Kyu | Done |
| 52 | 143 | Array667 | 8 Kyu | Done |
| 53 | 144 | Array123 | 8 Kyu | Done |
| 54 | 145 | MinCat | 8 Kyu | Done |
| 55 | 146 | DeFront | 8 Kyu | Done |
| 56 | 147 | StartWord | 8 Kyu | Done |
| 57 | 148 | CountEvens | 8 Kyu | Done |
| 58 | 149 | Day22(30DoC) | 8 Kyu | Done |
| Monthly count | Total Count # | Solved tasks | Complexity | Status |
|---|---|---|---|---|
| 01 | 28 | BackAround | 8 Kyu | Done |
| 02 | 29 | MixStart | 8 Kyu | Done |
| 03 | 30 | Close10 | 8 Kyu | Done |
| 04 | 31 | ReverseWords | 8 Kyu | Done |
| 05 | 32 | AbbreviateTwoWords | 8 Kyu | Done |
| 06 | 33 | ToLeetSpeak | 7 Kyu | Done |
| 07 | 34 | GapfulNumbers | 8 Kyu | Done |
| 08 | 35 | ObjectChecker | 8 Kyu | Done |
| 09 | 36 | EveryNth | 8 Kyu | Done |
| 10 | 37 | StringE | 8 Kyu | Done |
| 11 | 38 | PosNeg | 8 Kyu | Done |
| 12 | 39 | FrontBack | 8 Kyu | Done |
| 13 | 40 | StartOz | 8 Kyu | Done |
| 14 | 41 | In3050 | 8 Kyu | Done |
| 15 | 42 | Front3 | 8 Kyu | Done |
| 16 | 43 | Front22 | 8 Kyu | Done |
| 17 | 44 | DelDel | 8 Kyu | Done |
| 18 | 45 | IntMax | 8 Kyu | Done |
| 19 | 46 | DoubleX | 8 Kyu | Done |
| 20 | 47 | ArrayCount9 | 8 Kyu | Done |
| 21 | 48 | NoTriples | 8 Kyu | Done |
| 22 | 49 | FizzString | 8 Kyu | Done |
| 23 | 50 | FizzString2 | 8 Kyu | Done |
| 24 | 51 | FizzArray | 8 Kyu | Done |
| 25 | 52 | FizzArray2 | 8 Kyu | Done |
| 26 | 53 | FizzArray3 | 8 Kyu | Done |
| 27 | 54 | FizzBuzz | 8 Kyu | Done |
| 28 | 55 | HelloName | 8 Kyu | Done |
| 29 | 56 | MakeOutWord | 8 Kyu | Done |
| 30 | 57 | FirstHalf | 8 Kyu | Done |
| 31 | 58 | TheEnd | 8 Kyu | Done |
| 32 | 59 | WithouEnd2 | 8 Kyu | Done |
| 33 | 60 | MiddleTwo | 8 Kyu | Done |
| 34 | 61 | EndsLy | 8 Kyu | Done |
| 35 | 62 | MiddleThree | 8 Kyu | Done |
| 36 | 63 | LastChars | 8 Kyu | Done |
| 37 | 64 | SeeColor | 8 Kyu | Done |
| 38 | 65 | ExtraFront | 8 Kyu | Done |
| 39 | 66 | ExtraEnd | 8 Kyu | Done |
| 40 | 67 | WithoutEnd | 8 Kyu | Done |
| 41 | 68 | Left2 | 8 Kyu | Done |
| 42 | 69 | NTwice | 8 Kyu | Done |
| 43 | 70 | HasBad | 8 Kyu | Done |
| 44 | 71 | ConCat | 8 Kyu | Done |
| 45 | 72 | FrontAgain | 8 Kyu | Done |
| 46 | 73 | Without2 | 8 Kyu | Done |
| 47 | 74 | WithoutX | 8 Kyu | Done |
| 48 | 75 | MakeAbba | 8 Kyu | Done |
| 49 | 76 | MakeTags | 8 Kyu | Done |
| 50 | 77 | FirstTwo | 8 Kyu | Done |
| 51 | 78 | ComboString | 8 Kyu | Done |
| 52 | 79 | Right2 | 8 Kyu | Done |
| 53 | 80 | TwoChar | 8 Kyu | Done |
| 54 | 81 | AtFirst | 8 Kyu | Done |
| 55 | 82 | LastTwo | 8 Kyu | Done |
| 56 | 83 | WithoutX2 | 8 Kyu | Done |
| 57 | 84 | FirstLast6 | 8 Kyu | Done |
| 58 | 85 | Day1(30DoC) | 8 Kyu | Done |
| 59 | 86 | Day2(30DoC) | 8 Kyu | Done |
| 60 | 87 | CurrencyFormatter | 8 Kyu | Done |
| 61 | 88 | StaticInitializer | 8 Kyu | Done |
| 62 | 89 | JavaLoops2 | 8 Kyu | Done |
| 63 | 90 | StringIntroduction | 8 Kyu | Done |
| Monthly count | Total Count # | Solved tasks | Complexity | Status |
|---|---|---|---|---|
| 01 | 18 | Accumul(Mumbling) | 7 Kyu | Done |
| 02 | 19 | StringRepeat | 8 Kyu | Done |
| 03 | 20 | CountingSheep | 8 Kyu | Done |
| 04 | 21 | ReverseWords | 8 Kyu | Done |
| 05 | 22 | ReduceButGrow | 8 Kyu | Done |
| 06 | 23 | OppositesAttract | 8 Kyu | Done |
| 07 | 24 | WrongEndHead | 8 Kyu | DLTD |
| 08 | 25 | OddCount | 8 Kyu | Done |
| 09 | 26 | isDivisible | 8 Kyu | Done |
| 10 | 27 | Maps | 8 Kyu | Done |
| Monthly count | Total Count # | Solved tasks | Complexity | Status |
|---|---|---|---|---|
| 01 | 17 | ConvertBooleanToString | 8 Kyu | Done |
| Monthly count | Total Count # | Solved tasks | Complexity | Status |
|---|---|---|---|---|
| 01 | 6 | ReversedSequence | 8 Kyu | Done |
| 02 | 7 | Expressions | 8 Kyu | Done |
| 03 | 8 | Thinkful - Logic Drills: Traffic light | 8 Kyu | Done |
| 04 | 9 | SumOfPositive | 8 Kyu | Done |
| 05 | 10 | ConverToBinary | 8 Kyu | Done |
| 06 | 11 | PaperFolder | 8 Kyu | WIP |
| 07 | 12 | TrafficLights | 8 Kyu | Done |
| 08 | 13 | OutputFormatting | 8 Kyu | Done |
| 09 | 14 | HaystackNeedle | 8 Kyu | Done |
| 10 | 15 | God | 8 Kyu | Done |
| 11 | 16 | StringyStrings | 8 Kyu | Done |
| Monthly count | Total Count # | Solved tasks | Complexity | Status |
|---|---|---|---|---|
| 01 | 1 | BasicOperations | 8 Kyu | Done |
| 02 | 2 | RemoveChars | 8 Kyu | Done |
| 03 | 3 | RemoveStringSpaces | 8 Kyu | Done |
| 04 | 4 | NumberOfPeopleInTheBus | 8 Kyu | WIP |
| 05 | 5 | SmallestIntegerInTheArray | 8 Kyu | Done |