- Aug 24, 2021
- 1,591
- 1,940
I recieved a DM from a member asking if I knew some free resources to learn Java.Thought it would be better to post in public, so others who are in the same boat find some useful stuff. So here you go.
This post assumes you haven't written a single line of code before. You need to first learn the basics of programming to do any fun stuff.
- Caveofprogramming's java course : Caveofprogramming's is a popular programming tutorial site. Covers almost the same material as the mooc.fi course but in Video format.
- Derek Banas' Java Playlist : Youtube videos. You don't need to go through all of them ofc. The first 19 parts cover all the basics. From there the playlist moves into SwingUI tutorials.
You don't need to go through all of them ofc. Just pick one, I recommend starting with the mooc.fi course. and if you can't understand some part, use the others as references.
Alright, I know the basics. What's next?
Now that you know how to program and have a strong grip on the basic concepts of programming (loops, conditionals, control flow, basic oop and annotations etc), you can now move on to learning more advanced topics and make more interesting stuff.
From this point, I will assume you have an IDE setup and know how to write code.
The first thing you should learn is essential clases from the Standard Library. You should have learnt a fair bit about it from the basics and have known things likes HashMaps and ArrayList that . You might know that these are called "data structures". All of these are part of what is called the "collections framework" which is a part of the Standard Library. The Collections framework use these structures and extend them. Along with the collections framework, the Standard Library contains more such packages that let you do all sorts of things. Like from handling Dates to creating data streams.
- Official Essential classes doc : Several essential classes that the Official documentation recommends you to know. (P.S, you should read the official docs. Read the Official Java Tutorial once after you have go through the basics)
- Dev.java Collections Framework : Well organized tutorials about how to use Java Collections.
- Dev.java All APIS : Once you have a grip on collections, you might as well learn how to use the APIs that the website list. Atleast go through how to use the Date Time APi and Regular Expressions.
- Packages - Official Docs : Teaches how to use and create your own packages. Packages are used to organize individual classes.
- Modules - Dev.java : Packages can also be organized into groups called modules. You might not need them right away but its good to know about it.
Learn a Build Tool
Build tools like Maven and Gradle make your life easier. Learn to use one as all professional projects will need it.
- Maven in 5 minutes : Official maven tutorial. I recommend starting with maven.
General Tips
- Google more. There are free resources available for everything out there.
- Build projects. You only get better by writing more of it.
- Learn software engineering best practices. Learn a testing framework like Junit and documentation tool like JDoc. Learn how to do version control with git and github.
- Pick a path. If you want make some project, break it down into sub-problems and solve each one of them one by one.
This post assumes you haven't written a single line of code before. You need to first learn the basics of programming to do any fun stuff.
The Basics
- Mooc.fi course : Very beginner friendly, will teach you stuff from setting up a NetBeans IDE to closing off with a final project where you make the classic Asteroid like game (not sure if they changed it tho)- Caveofprogramming's java course : Caveofprogramming's is a popular programming tutorial site. Covers almost the same material as the mooc.fi course but in Video format.
- Derek Banas' Java Playlist : Youtube videos. You don't need to go through all of them ofc. The first 19 parts cover all the basics. From there the playlist moves into SwingUI tutorials.
You don't need to go through all of them ofc. Just pick one, I recommend starting with the mooc.fi course. and if you can't understand some part, use the others as references.
Alright, I know the basics. What's next?
Now that you know how to program and have a strong grip on the basic concepts of programming (loops, conditionals, control flow, basic oop and annotations etc), you can now move on to learning more advanced topics and make more interesting stuff.
From this point, I will assume you have an IDE setup and know how to write code.
The first thing you should learn is essential clases from the Standard Library. You should have learnt a fair bit about it from the basics and have known things likes HashMaps and ArrayList that . You might know that these are called "data structures". All of these are part of what is called the "collections framework" which is a part of the Standard Library. The Collections framework use these structures and extend them. Along with the collections framework, the Standard Library contains more such packages that let you do all sorts of things. Like from handling Dates to creating data streams.
- Official Essential classes doc : Several essential classes that the Official documentation recommends you to know. (P.S, you should read the official docs. Read the Official Java Tutorial once after you have go through the basics)
- Dev.java Collections Framework : Well organized tutorials about how to use Java Collections.
- Dev.java All APIS : Once you have a grip on collections, you might as well learn how to use the APIs that the website list. Atleast go through how to use the Date Time APi and Regular Expressions.
Some more stuff
Packaging and Organizing your Code:- Packages - Official Docs : Teaches how to use and create your own packages. Packages are used to organize individual classes.
- Modules - Dev.java : Packages can also be organized into groups called modules. You might not need them right away but its good to know about it.
Learn a Build Tool
Build tools like Maven and Gradle make your life easier. Learn to use one as all professional projects will need it.
- Maven in 5 minutes : Official maven tutorial. I recommend starting with maven.
General Tips
- Google more. There are free resources available for everything out there.
- Build projects. You only get better by writing more of it.
- Learn software engineering best practices. Learn a testing framework like Junit and documentation tool like JDoc. Learn how to do version control with git and github.
- Pick a path. If you want make some project, break it down into sub-problems and solve each one of them one by one.