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 |