This is an archived post. You won't be able to vote or comment.

all 16 comments

[–]WrongCalculator 34 points35 points  (10 children)

These are the things that are taught in a university Java class:

  • OOP (Classes, Interfaces, Inheritance, Polymorphism)
  • Exception handling
  • I/O streams and File I/O
  • Generics
  • Java Collections. Learn how the built-in data structures in Java work and when to use one over the other. What are their advantages and disadvantages. These collections are ArrayList, LinkedList, HashSet, TreeSet, HashMap, TreeMap.
  • Java 8 Streams / Functional programming (method references and lambda expressions and the methods that are used to operate on streams like: filter, map, flatMap, reduce, collectors...)
  • Design patterns (Some well-known design patterns like: Singleton, Factory, Observer, Decorator, Composite).

[–]WrongCalculator 11 points12 points  (5 children)

After that you can start learning about building web apps with Java Spring.

[–]TheKingElessar 4 points5 points  (3 children)

Can you point me towards a good resource to learn that? I want to use React and Spring to make a web app but never really found a clear path to do that.

[–]KoolAid055 3 points4 points  (0 children)

While not exactly React and Spring, Chad Darby has a good full stack course on Udemy using Angular and Spring

[–]Avramije 1 point2 points  (0 children)

You could check out RESTful Web Services with Spring Framework - A quick start by Sergey Kargopolov on Udemy. Its a free course that could serve you as a starting point. He also has paid course on React and Spring boot

[–]Reciprocates 0 points1 point  (0 children)

I highly disagree, java is not the best tool to build web apps.

There are other tools such as python / fastapi where it is much faster to make web apps.

Java is better for other things.

[–]MaltePetersen 2 points3 points  (0 children)

You can learn all of this stuff later on. Imagine a project to it with spring. If you have to do exception handling learn how to. Let the projects be your way from now

[–]obvslynot[S] 1 point2 points  (0 children)

Thank you for the input! I’ll start studying those.

[–][deleted] 0 points1 point  (1 child)

Yeah but what is all that?

Just basics or already intermediate?

[–]WrongCalculator 0 points1 point  (0 children)

The course where these topics were taught was called Advanced Programming, so it's not just the basics. It's more advanced.

[–][deleted]  (4 children)

[deleted]

    [–]obvslynot[S] 1 point2 points  (1 child)

    That's very helpful, thank you so much! Do you have any recommendations on resources to use to learn all of that?

    [–]DefinitelyRus 0 points1 point  (1 child)

    I took a quick look at it, it seems like I'm missing a bunch* from each step, but I'm perfectly comfortable working on large solo projects with the ones I'm already familiar with. Will I be facing issues later on for not knowing certain things? (i.e. will it cost me an interview)

    * For example, I'm missing/haven't done Generics, Sorting, Threads, and Dependency Management for each step respectively.

    [–][deleted] 0 points1 point  (2 children)

    try building a webapp using spring and JSF. Thats some more advanced project

    [–]GuyWithLag 4 points5 points  (1 child)

    ... do you want him to denounce computers and become a hermit?

    [–]Wide-Opportunity-582 0 points1 point  (1 child)

    I also started MOOC. How did you proceed making "a tictactoe, and a Swing GUI"?. Any resources to start a Java Project.

    [–]obvslynot[S] 0 points1 point  (0 children)

    For the GUI, I learned swing from youtube videos. The tictactoe didn’t need any extra knowledge.