Lishkon / java-challenges-logging

This is my main java learning repository: here I track the challenges I solve, the books I read to grow up my skills and courses I do to gain the domain knowledge.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Java learning path

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.

Theory

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...)

Non-Java related (generic things)

List of websites which I use to find the tasks:

  1. Codewars
  2. Codingbat
  3. Hackerrank
  4. Codesignal (ex-CodeFights)
  5. Codingame
  6. ...

My rules:

It is better to do it less hard but regularly, so here's the basic rules on how to quickly achieve the goal

  1. Pick up a course (see table below), keep walking with it regularly - ONE COURSER AT TIME
  2. Solve at least three tasks from Codingbat
  3. Keep reading the book of your choice (see table below), don't ignore the practicing

Other cool stuff

Progress Logging

Books & Resources

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?

Learning

Status Date Started Date Completed Course Tutor/Platform
DONE 2017 March,2018 Java Tutorial for Complete Beginners Udemy
DONE 2017 July,2018 Complete Step By Step Java For Testers Udemy
DONE 2018 January, 2019 Java - Introduction Stepik
DONE 2017 January, 2019 Intro to Java: Functional Programming Udacity
In Progress 2018 CS50 - Introduction to Computer Science Edx
ToDo Code Yourself! An Introduction to Programming Coursera
ToDo UBCx: HtC1x How to Code: Simple Data Edx
ToDo UBCx: HtC1x How to Code: Complex Data Edx
ToDo Introduction to Java Programming - Part 1 Edx
ToDo Object Oriented Programming in Java Udacity
ToDo Java Programming: Solving Problems with Software Coursera
ToDo Microsoft: DEV277x Object Oriented Programming in Java Edx
Learn Java online 3rd party
Learn Java Unit Testing with JUnit 5 in 20 Steps 3rd party
Java Database Connection: JDBC and MySQL Udemy
Practice Java by Building Projects Udemy
Java Web Services Udemy
Spring Framework 5: Beginner to Guru Udemy
Алгоритмы: теория и практика. Структуры данных Stepik
Effective Thinking Through Mathematics Edx
Intro to Algorithms Udacity
Game Devlopment with Java marcusman
MIT 6.S099: Artificial General Intelligence MIT/Youtube
Spring tutorials Youtube
IT-Simulator
Golovach courses Youtube
Networking-SP Stanford
CS50-Mobile EdX
[CS 188 Introduction to Artificial Intelligence](https://inst.eecs.berkeley.edu/~cs188/fa18/)
CS 229 ― Machine Learning Stanford

Interesting challenges to solve:

Practice

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.

January 2019:

Monthly count Total Count # Solved tasks Complexity Status
01 150 LeftRotation 8 Kyu Done

December 2018:

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

November 2018:

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

October 2018:

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

July 2018:

Monthly count Total Count # Solved tasks Complexity Status
01 17 ConvertBooleanToString 8 Kyu Done

May 2018:

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

April 2018:

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

References:

  1. jUnit official documentation
  2. Algorithms and Flowcharts

About

This is my main java learning repository: here I track the challenges I solve, the books I read to grow up my skills and courses I do to gain the domain knowledge.


Languages

Language:Java 100.0%