Jump to content

Hello guys, I'm a student at high school and not currently enrolled in any programming classes, and have wanted to expand my programming skills for a while now and have spent the better part of a year trying to, and my well of ideas have run dry, so I am here to try and get you guys to help me come up with some ideas I can work on to learn. I know basic C++/C#, and Java. Any help will be appreciated.

 

Thank you.

Link to comment
https://linustechtips.com/topic/748909-learning-programming-ideas-wanted/
Share on other sites

Link to post
Share on other sites

One way I motivated myself to learn more about programming was through Unity. Since scripts were written either Java or C#. I already was learning Java and c# is pretty much the same oop. it was a fun way to improve my skills in programming and kept wanting to learn more by reading through docs and videos. Another good way to learn is to try to simplfy something you do alot. I use vlc to watch twitch and the way I had to do it was edit a batch file and input a twitch link or something. So I simplified that for myself and wrote a program that did it for me.

Link to post
Share on other sites

57 minutes ago, Eternull said:

Hello guys, I'm a student at high school and not currently enrolled in any programming classes, and have wanted to expand my programming skills for a while now and have spent the better part of a year trying to, and my well of ideas have run dry, so I am here to try and get you guys to help me come up with some ideas I can work on to learn. I know basic C++/C#, and Java. Any help will be appreciated.

 

Thank you.

I am a high school kid is has self taught every language I know, c#, c, c++, JavaScript, CSS, HTML. While I'm far from an expert in any of them, I continue to work with each. Use textbooks/ online resources to try to learn the fundamentals. Once you pick up the syntaks and basic methods it's pretty easy to get programming. The best way to learn a language form this point is experience. Simply write basic programs to do basic stuff. Use your imagination or search the Internet for ideas. Some stuff I did was write programs that do basic math operations, such as factor integers, convert decimals to fractions, generate prime number lists, etc. a very useful tool as well is a site called code wars. Essentially, it is site full of user created puzzles for a huge variety of languages. The puzzles range from very easy to pretty difficult, and most involve solving some real world issue. Doing lots of these puzzles will drastically improve your problem solving ability, as programming is a mindset more than anything. 

******If you paste in text into your post, please click the "remove formatting" button for night theme users.******

CPU- Intel 6700k OC to 4.69 Ghz GPU- NVidia Geforce GTX 970 (MSI) RAM- 16gb DDR4 2400 SSD-2x500gb samsung 850 EVO(SATA) Raid 0 HDD- 2tb Seagate Case- H440 Red w/ custom lighting Motherboard - MSI Z170 Gaming A OS- Windows 10 Mouse- Razer Naga Epic Chroma, Final Mouse 2016 turney proKeyboard- Corsair k70 Cherry MX brown

Link to post
Share on other sites

Try making a calculator app. It might sound boring, but it's the perfect long term project for a beginner. You can use a gui or cli and start off with simple addition, subtraction, multiplication, division and modulus for input with a result as output. Later, you can make things more complicated and useful by allowing the user to enter expressions or store history for the user. Eventually, you can add graphing.

Link to post
Share on other sites

On 3/7/2017 at 1:29 PM, Eternull said:

my well of ideas have run dry, so I am here to try and get you guys to help me come up with some ideas I can work on to learn. I know basic C++/C#, and Java. Any help will be appreciated.

 

1 hour ago, noahdvs said:

Try making a calculator app. It might sound boring, but it's the perfect long term project for a beginner.


I have to second @noahdvs suggestion that a calculator is a good project with continuing challenges. In C# it would be all to simple to make a GUI app that can accept functions and graph them and other things as well.

But even a basic command line calculator offers excellent practice, it can teach you anything from the standard Shunting Yard Algorithm to build Abstract Syntax Trees (which necessitates a lexer and a parser). The latter being a pretty advanced subject and a very useful skill to have in your toolbag, as those are the basic building blocks of most compilers. Eventually you would even be able to add nice things like graphing, taking derivatives and graphing, finding domain and range, finding asymptotes, integrating, summations. Summations is an interesting topic actually, because it will help more with your compiler building skills learned through the Abstract Syntax Tree implementation of a calculator.

Other projects can include ProjectEuler, but many of these problems involve large domains and complex math, and thinking very critically about the problem, although they are all attainable.

What helps one to learn programming is largely personal preference, but I'm at a point in my education and my knowledge where I prefer to implement things that may not even have a point, just to learn them. 

ENCRYPTION IS NOT A CRIME

Link to post
Share on other sites

On 3/13/2017 at 0:14 AM, straight_stewie said:

But even a basic command line calculator offers excellent practice, it can teach you anything from the standard Shunting Yard Algorithm to build Abstract Syntax Trees (which necessitates a lexer and a parser). The latter being a pretty advanced subject and a very useful skill to have in your toolbag, as those are the basic building blocks of most compilers. Eventually you would even be able to add nice things like graphing, taking derivatives and graphing, finding domain and range, finding asymptotes, integrating, summations. Summations is an interesting topic actually, because it will help more with your compiler building skills learned through the Abstract Syntax Tree implementation of a calculator.

Oh hey, a command line style graphing calculator was one of my college course projects.

 

I'm still bummed I lost my source code.

Link to post
Share on other sites

Well start by learning what is a cpu and what is an instruction set (don't over do it just learn for ex: like what is an integer and why we have registers) so you can avoid my mistacks when starting to learn programming (mess around with 8086 instruction set in an emelator) the reason why start with low level programing is just so you can understand what memory is and what a cpu is,and while you are doing soo start learning aome discret math (logical math) after a month or 2 you will almost understand what is going under the hood like what is a type for example.

Then start with simple programming languages like python after you learned the baiscs start learning algorithems.

If you find this is too much just start with python but the thing is eventully you will need to learn what a cpu does like metioned above inorder yo write a valid program.

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

×