r/learnjava • u/New_Comfortable4421 • 2d ago
Learning Java
How should I go about learning Java? I learn best by doing and have pretty bad ADHD. I would be interested in lifetime payments as I am not working yet so monthly is not ideal.
6
u/aqua_regis 2d ago
!sidebar
3
u/AutoModerator 2d ago
In our sidebar ("About" on mobile), we have a section "Free Tutorials" where we list the most commonly recommended courses.
To make it easier for you, the recommendations are posted right here:
- MOOC Java Programming from the University of Helsinki
- Java for Complete Beginners
- accompanying site CaveOfProgramming
- Derek Banas' Java Playlist
- accompanying site NewThinkTank
- Hyperskill is a fairly new resource from Jetbrains (the maker of IntelliJ)
Also, don't forget to look at:
If you are looking for learning resources for Data Structures and Algorithms, look into:
"Algorithms" by Robert Sedgewick and Kevin Wayne - Princeton University
- Coursera course:
- Coursebook
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.
2
u/Rengoku_1526 2d ago
Bro code is really good for getting into most programming languages and he even has a dsa playlist in java
1
u/advancedbashcode 2d ago
Udemy, 1 course, followed from end to finish and go from there.
1
u/New_Comfortable4421 2d ago
Ok! Is there any specific ones?
1
u/advancedbashcode 2d ago
Well, is very difficult to recommend something specific. My personal top 3 are: 1. Mosh Hamedani 2. Tim Buchalka 3. Telusko.
Again, it depends on your learning style.
1
1
u/Waste_Performer9647 1d ago
I personally am getting bored pretty fast with udemy :c Yes I know theory is important, I know i should do the excercises they show but still these courses tend to be veeery long and I prefer hands on practice. Ive recently started doing a course on exercism, it’s quite fun. It’s not very extensive but I think it’s enough to get the ball rolling in the beginning.
1
u/MuaTrenBienVang 21h ago
There are several excellent free options. They differ in difficulty and focus.
1. Duke University — Java Programming and Software Engineering Fundamentals (Coursera)
This is one of the best Java courses for beginners.
What you'll learn
- Java syntax
- Loops, methods, classes
- Object-oriented programming
- Collections
- File I/O
- Basic algorithms
Pros
- Taught by Duke professors
- Excellent explanations
- Project-based
- Widely recommended
Cost
- Audit for free (pay only if you want a certificate)
2. University of Helsinki — Java Programming I & II (MOOC.fi)
This is arguably the best free Java course on the internet.
What you'll learn
- Java fundamentals
- OOP
- Interfaces
- Exceptions
- Streams
- Collections
- Testing
- GUI (JavaFX in later sections)
Pros
- Completely free
- Hundreds of programming exercises
- Automatic grading
- Very hands-on
Difficulty
★★★★★
If your friend actually wants to become good at Java, this is probably the strongest recommendation.
3. Massachusetts Institute of Technology — 6.092 Introduction to Programming in Java
MIT used to teach an introductory Java course.
Topics include:
- Classes
- Objects
- Inheritance
- Polymorphism
- Data structures
Although somewhat older, the concepts remain valuable.
4. Princeton University — Algorithms, Part I & II
These courses use Java as the programming language.
You'll learn:
- Sorting
- Searching
- Trees
- Graphs
- Dynamic programming
- Algorithm analysis
This is ideal after learning Java basics.
5. University of California, San Diego — Object-Oriented Programming in Java
Part of UC San Diego's software engineering specialization.
Focuses on:
- OOP
- Design principles
- Testing
- Clean code
Free to audit.
6. Harvard University — CS50 AP
Although not a full Java course, CS50 AP teaches introductory computer science using Java.
Topics include:
- Variables
- Loops
- Methods
- Classes
- Arrays
- Recursion
- Basic algorithms
Great if the friend is completely new to programming.
Suggested learning path
| Level | Course |
|---|---|
| Beginner | University of Helsinki – Java Programming I |
| Intermediate | University of Helsinki – Java Programming II |
| Algorithms | Princeton Algorithms (Java) |
| Software Engineering | Duke Java Specialization or UC San Diego OOP |
If you only have time for one course
I would recommend University of Helsinki's Java Programming I & II (MOOC.fi). It's completely free, exercise-heavy, and is often considered the gold standard for learning Java fundamentals. After finishing it, moving on to Princeton's Algorithms course provides a strong foundation in both Java and computer science.
•
u/AutoModerator 2d ago
Please ensure that:
If any of the above points is not met, your post can and will be removed without further warning.
Code is to be formatted as code block (old reddit/markdown editor: empty line before the code, each code line indented by 4 spaces, new reddit: https://i.imgur.com/EJ7tqek.png) or linked via an external code hoster, like pastebin.com, github gist, github, bitbucket, gitlab, etc.
Please, do not use triple backticks (```) as they will only render properly on new reddit, not on old reddit.
Code blocks look like this:
You do not need to repost unless your post has been removed by a moderator. Just use the edit function of reddit to make sure your post complies with the above.
If your post has remained in violation of these rules for a prolonged period of time (at least an hour), a moderator may remove it at their discretion. In this case, they will comment with an explanation on why it has been removed, and you will be required to resubmit the entire post following the proper procedures.
To potential helpers
Please, do not help if any of the above points are not met, rather report the post. We are trying to improve the quality of posts here. In helping people who can't be bothered to comply with the above points, you are doing the community a disservice.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.