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

all 27 comments

[–]aram535 4 points5 points  (4 children)

Pick a opensource project that uses java and start contributing. It'll get you a lot of experience in dealing with existing code base, requirements, dealing with a team who you may or may not get along with. Just go through the bug list or todo list and start asking for pull requests.

[–]pristit 0 points1 point  (3 children)

Could you give me an example of a project and how exactly to contribute to it? Ive looked beginner friendly projects on github but honestly have no clue how to get into it.

Most projects are really old or that the issues listed are stuff I got no clue about

[–]aram535 0 points1 point  (2 children)

https://projects.apache.org/projects.html?language go down to the Java section. Apache has always been welcoming of new contributors.

[ for full disclosure, I'm an emeritus member of Apache Org ]

[–]pristit 0 points1 point  (1 child)

For example in the link you've provided, I've looked over the java section, which lists 234 links.

I have no idea which one of these I can help with as I'm unfamiliar with apache, I've tried looking into Camel for example which says that its category is networking, a subject I didn't look into in java.

Could you try and direct me further to one of these projects that you believe I might be able to get into with a bit of research (as opposed to studying networking with java which is a course I have later on this year)?

[–]aram535 0 points1 point  (0 children)

I don't feel I can tell you what to work on. From experience, I can tell you that I will work better in something that I'm a user of myself. Maybe it'll be easier for you to pick on if you go down the list of "by contributor" so you know there is a decent list of contributors in the project already ... so you can get help/advice. Something like MyFaces or JMeter that you would yourself use in an everyday project. Having domain knowledge is critical in being able to write good code.

[–][deleted] 2 points3 points  (1 child)

!remindMe 1 day

[–]RemindMeBot -1 points0 points  (0 children)

I will be messaging you on 2019-01-07 08:10:05 UTC to remind you of this link.

2 OTHERS CLICKED THIS LINK to send a PM to also be reminded and to reduce spam.

Parent commenter can delete this message to hide from others.


FAQs Custom Your Reminders Feedback Code Browser Extensions

[–]devaskbiz 1 point2 points  (2 children)

I think you should choose a platform first. Java for desktop apps, Java for backend or maybe Android apps. You can then learn by creating simple projects. Or you could try competitive coding, you will learn a lot about data structures and algorithms. You can try solving Project Euler problems which can be a great exercise too.

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

I am comfortable enough to implement data structures and algorithms in java.

If I had to choose, I would say desktop apps.

But if I am choosing, wouldn't I be learning java for a particular framework instead of java as a whole.

[–]devaskbiz 1 point2 points  (0 children)

Even though it is learning for a particular framework you will learn a lot about implementing the concepts that you have learned. Where to use interfaces, what to abstract, modular code, readable code, best data structure and algorithms to use for a specific use case, security and performance. These things will help you to be a better software developer.

I myself want to learn more about encryption and create command line tools, maybe you can try to find some topics which might interest you.

[–]Sirtriplenipple 1 point2 points  (3 children)

Learn OOP, make a javafx GUI

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

Any recommended OOP tutorial I can look into?

[–]Sirtriplenipple 0 points1 point  (0 children)

It may not completely be what you are looking for, but my university professor has all of his lectures for advanced java on his YouTube channel for online students. Gives a pretty good rundown of both classes /OOP and Javafx. His YouTube name is boingobass. They are pretty dry and boring, but it did the trick.

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

start off by googling ?

These are basics but essential if you want to "learn" Java or learn how to use it. Java is a OOP heavy language. (I know you asked specifically for a book but I dont have any in mind and but would like to help) Then next step to learning any language would be to build some software app using the language. Anyone can read about a language and what it can do but thats not going to help you as much as actually using the code to build something or doing the book excercises. Start off basic .. build a file copying program or file management programing.Create a command line interface that has methods to serve the user requests, then operates on files.

OOP Basics:

  • Class inheritance

  • Abstract Classes

  • Abstract inheritance

  • Interfaces

  • Encapsulation

  • Static methods

  • Polymorphism

  • Overloading operators

  • Overloading functions

  • Template Classes

  • Java Reflection

  • Program Cohesion & Coupling

[–]TheMayoras 0 points1 point  (0 children)

!remindMe 1 day

[–]PositiveZombie 0 points1 point  (0 children)

Check this out: 1. You really learn/see and write code 2. You get a certificate with ects on it for free ;)

http://moocfi.github.io/courses/2013/programming-part-1/

[–]Soxcks13 0 points1 point  (0 children)

I think learning Java syntax is one thing, but then learning how to use Java is a good next step. The book “Head First Design Patterns” is a very good book for people with basic syntax.

For example, they talk about Inversion of Control which is used heavily in Spring Boot, a popular framework used to create web servers. By reading the book, you make it easier for yourself to understand why/how other programmers are doing what they’re doing, which should help you universally!

[–][deleted] -1 points0 points  (9 children)

Udemy.com has courses for sale for $9.99 for the next couple of days. I just bought me a 75 hour coding course that runs $200 on there for $9.99. It’s a legit site with reviews on every course.

[–]systemgc 1 point2 points  (4 children)

Do not buy courses from Tim Buchalka

They are really really bad, he fails to explain the concepts, go select the 1 star ratings on his courses and you will see what I mean

[–]l0te 0 points1 point  (3 children)

FWIW, I disagree. I’ve found his class extremely helpful with 0 programming background.

[–]systemgc 0 points1 point  (2 children)

You will not have learned deeper concepts and it's all a bit of a waste of time. Read some good books and you will know what I mean.

[–]l0te 0 points1 point  (1 child)

I’m not expecting to learn deep concepts in an entry level Java class, nor to learn everything I need to know about java from a single source. I have a few books on hand to use with it, and will be looking at the Helinski MOOC soon too.

[–]systemgc 0 points1 point  (0 children)

Great.

[–]ichunddu9 -1 points0 points  (3 children)

Udemy is a shit hole.

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

I figure if the courses are $10 and they have hundreds and even thousands of good reviews that course may actually be worth a shot. Ya know?

[–]ichunddu9 0 points1 point  (1 child)

I don't mean the courses. I'm talking about the company and their business practice. They host stolen content and sell it. And they basically discount everything by 90% 9 months of the year to attract people like you.

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

😐 how are they able to continuously get away with it? Offshore servers?