Jump to content

Hey LTT

 

I am a high school student looking to learn more about Java and maybe some Python. This year, I took a beginner Computer Science class at school. Covered variables, loops, arrays (java only), very basics in Java and Python. I want to learn more, but I don't know where to start. I don't have any project ideas, and I need something try. I need a challenge. I also want to learn how to make something that isn't text only. These questions might not make sense, as I am a beginner. Just ask for clarification. 

 

Thanks in advance,

Alex

Link to comment
https://linustechtips.com/topic/788983-want-to-learn/
Share on other sites

Link to post
Share on other sites

Alright you'll want to look into libraries for graphics stuff. The ones I used for Python are turtle graphics and tkinter. I don't remember what I used when I had to make a gui in Java. I've also made basic guis with wpf and C# in visual studio which is really easy. Actually I like C# more than Java since it tends to seem easier to work with. It's basically like python but with C/Java/C++ like syntax. The main thing that I don't like about it is that I can't compile it from the console and have to use visual studio for it :( so I basically can't really use it for scripting. Also it's got a whole bunch of other high level langauge issues such as vague variable types (var is great so long as you don't know or care about the variable type) and so on.

 

Turtle graphics lets you draw stuff as well as get user input so you can quite easily make a board game or maybe even a side scroller but tkinter can be a pain to work with and if you want to start adding additional features to your canvas you'll probably have to dive into it's depths.

 

Basically pick something neat you want to do and then try to make it. Chances are you're skilled enough to make a board game (ie Reversi, Checkers, Tic Tac Toe, possibly Chess, etc.) or maybe a side scroller. I made Mario in Assembly for a pi 2... it was a horrible assignment but it shouldn't be too difficult in Python or Java.

 

That said if you pick something really hard you'll probably get stuck and that might eventually cause you to be discouraged so keep that in mind before you decide you'll be making the next Star Citizen :P

 

Now with regards to making a gui, you'll want to look into the model view controller design pattern. It'll make your code a lot more neater and managable. Speaking of managable code depending on the scale of your project you might want to use an IDE for it (jetbrains makes really good IDEs imo) and possibly even set up a git repository. It'll be better than copy pasting files as a form of version control. Also Github has a bunch of student perks that it can give you if you ask for them.

 

 

Note: Before someone tells me you don't need an IDE I should point out that I said "want" not "need". Technically you could use sublime,vim,emacs,etc for everything.

Link to comment
https://linustechtips.com/topic/788983-want-to-learn/#findComment-9940767
Share on other sites

Link to post
Share on other sites

I've just learnt some Java this year, so here's how I did it. First of all I brought a £2.99 project based ebook on java. Learn Java in one day and learn it well was the title if your interested. That taught me the basics and how to write a basic command line application. Then I did some research and learnt about JavaFX for my GUI I used some examples from a JavaFX cookbook I found online for the bits I needed and gradually learnt them and understood them. Then I started to learn about the Gluon libraries to port it all over to android. I'll be releasing my first ever app on to the play store sometime this month. Complete with Android NDK level programming and calls for my audio files. I've been working about 2 and a half months on this, but I did understand some of the basics from learning web coding languages like php.

Link to comment
https://linustechtips.com/topic/788983-want-to-learn/#findComment-9942632
Share on other sites

Link to post
Share on other sites

Wow I was not expecting nearly this level of response. Thanks guys, I'll have to check all this out. I also just purchased this book based on a recommendation from my computer science teacher, who, funny enough, knows the author personally through college. 

 

Is this book actually any good?

 

Thanks so much guys! 

Link to comment
https://linustechtips.com/topic/788983-want-to-learn/#findComment-9945605
Share on other sites

Link to post
Share on other sites

do what I do and get on github, find a project that you like and improve it or tweak it. 

 

                     ¸„»°'´¸„»°'´ Vorticalbox `'°«„¸`'°«„¸
`'°«„¸¸„»°'´¸„»°'´`'°«„¸Scientia Potentia est  ¸„»°'´`'°«„¸`'°«„¸¸„»°'´

Link to comment
https://linustechtips.com/topic/788983-want-to-learn/#findComment-9946418
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×