Jump to content

I'm looking to learn to program as a general skill and possibly career path.

 

I'm 15 

 

I've tried some Python but it was literally hello world programs

 

What is a good language for a beginner?

 

I want to learn at home, what projects/assignments can I set myself to get better?

 

any other tips? 

 

Thanks for for any help with my questions

 

-Froody

 

 

That's an F in the profile pic

 

 

Link to comment
https://linustechtips.com/topic/719065-help-learning-to-program/
Share on other sites

Link to post
Share on other sites

2 minutes ago, Tedster said:

Python is good, just find yourself something actually serious to do with it.

 

Ok, can you give an example of something 'serious'? 

 

Im doing this for fun/hobby and it just happens to be a useful skill

That's an F in the profile pic

 

 

Link to comment
https://linustechtips.com/topic/719065-help-learning-to-program/#findComment-9158154
Share on other sites

Link to post
Share on other sites

One idea would be to make three scripts, building upon the previous ones in each case:

1) A script that will search through an inventory in the form of a CSV file, of items, that would be used in a store for example.

2) A script that would allow the user to search for an item, then add it to a shopping list, and then complete their purchase, being showed the total cost of the quantity of items.

3) A script that would do the above, but update the inventory later, and deal with making orders of more stock should the inventory numbers of certain items go below a threshold.

Sig under construction.

Link to comment
https://linustechtips.com/topic/719065-help-learning-to-program/#findComment-9158156
Share on other sites

Link to post
Share on other sites

6 minutes ago, Tedster said:

One idea would be to make three scripts, building upon the previous ones in each case:

1) A script that will search through an inventory in the form of a CSV file, of items, that would be used in a store for example.

2) A script that would allow the user to search for an item, then add it to a shopping list, and then complete their purchase, being showed the total cost of the quantity of items.

3) A script that would do the above, but update the inventory later, and deal with making orders of more stock should the inventory numbers of certain items go below a threshold.

Ok, thanks so much for the help

 

(LTT forums has really cool people in it)

That's an F in the profile pic

 

 

Link to comment
https://linustechtips.com/topic/719065-help-learning-to-program/#findComment-9158173
Share on other sites

Link to post
Share on other sites

1 minute ago, Froody129 said:

Ok, thanks so much for the help

 

(LTT forums has really cool people in it)

You're welcome (:

If you want help with writing a specific simple program, see if you can get my attention

 

And it sure does!

Sig under construction.

Link to comment
https://linustechtips.com/topic/719065-help-learning-to-program/#findComment-9158174
Share on other sites

Link to post
Share on other sites

My advice would be: make things you would like to make, or things you can actually use. You learn the code while you are creating your program/site/whatever. For example:

 

I really liked a RPG game, and it had non-official servers, which could be heavily modified. Learned how to modify it/create own custom scripts from scratch. (15+ years ago)

 

I had a car, didn't like them car clubs, created my own project website/club website/modified excisting PHPbb forums.

 

Had troubles with structure in life: created webpage with agenda and audio alarms + confirm buttons. (html/php/java/mysql/css)

 

Got really anoyed with the "shuffle" button in windows media player, which wasn't random at all. Made my own database, dumped all them files in that database, tracked when a file was last played, created a better shuffle which did include all them files.

 

Created personal chat server using a browser.

 

Chat was empty, added 250+ custom emoticons.

 

Chat screen didn't like random long links, added filters to convert them in buttons with discription.

 

Was playing text based games, got battle reports, build myself a custom battle report converter to spam them battle reports on forums.

 

Created website tools to index other players @ text based browser games.

 

Created some primitive cheats with web pages and macro tools, to cheat on different browser games. And due to home-built and not being optimal, it was undetectable.

 

Think of things you could use or would like to have. Figure out how it might be done, and then start somewhere. Finding relevant pieces of code, merge them, modify them, learn. This way, it will be fun to keep doing this, cuz them tutorials are usually pointless/boring.

Link to comment
https://linustechtips.com/topic/719065-help-learning-to-program/#findComment-9158207
Share on other sites

Link to post
Share on other sites

26 minutes ago, Dutch-stoner said:

My advice would be: make things you would like to make, or things you can actually use. You learn the code while you are creating your program/site/whatever. For example:

 

I really liked a RPG game, and it had non-official servers, which could be heavily modified. Learned how to modify it/create own custom scripts from scratch. (15+ years ago)

 

I had a car, didn't like them car clubs, created my own project website/club website/modified excisting PHPbb forums.

 

Had troubles with structure in life: created webpage with agenda and audio alarms + confirm buttons. (html/php/java/mysql/css)

 

Got really anoyed with the "shuffle" button in windows media player, which wasn't random at all. Made my own database, dumped all them files in that database, tracked when a file was last played, created a better shuffle which did include all them files.

 

Created personal chat server using a browser.

 

Chat was empty, added 250+ custom emoticons.

 

Chat screen didn't like random long links, added filters to convert them in buttons with discription.

 

Was playing text based games, got battle reports, build myself a custom battle report converter to spam them battle reports on forums.

 

Created website tools to index other players @ text based browser games.

 

Created some primitive cheats with web pages and macro tools, to cheat on different browser games. And due to home-built and not being optimal, it was undetectable.

 

Think of things you could use or would like to have. Figure out how it might be done, and then start somewhere. Finding relevant pieces of code, merge them, modify them, learn. This way, it will be fun to keep doing this, cuz them tutorials are usually pointless/boring.

So I'll just make a program for whatever, then Google if I need help? Or is there a good book/guide for this?

 

Thanks for the help guys

That's an F in the profile pic

 

 

Link to comment
https://linustechtips.com/topic/719065-help-learning-to-program/#findComment-9158305
Share on other sites

Link to post
Share on other sites

If you are serious about a career as a developer I advise you to study Software Engineering at a university.

Programming is not just about developing games and coding shitty mobile apps. There is actually a lot more to it and you will have to learn heaps of stuff you can't even imagine, young padawan. The software industry is serious business but unfortunately it's full of unprofessional mediocre developers.

 

Good luck!

Link to comment
https://linustechtips.com/topic/719065-help-learning-to-program/#findComment-9159196
Share on other sites

Link to post
Share on other sites

4 hours ago, Froody129 said:

I've tried some Python but it was literally hello world programs

If you find yourself wading in a pool of thousands of languages and different opinions with no idea were to go, Python is always a good choice.

However, there are other good choices for a first language, depending on your skill set and what you want to do:

There are many good resources to learn a language, and some of the methods above are useful. However, I find it necessary to do more, theoretical (read useless) tasks because programming is about so much more than knowing the language. The language is just a way to express the steps necessary for solving a problem, you must know the theory in order to solve the problem well. With that said, I prefer to solve Euler Problems for practice: https://projecteuler.net/

ENCRYPTION IS NOT A CRIME

Link to comment
https://linustechtips.com/topic/719065-help-learning-to-program/#findComment-9159246
Share on other sites

Link to post
Share on other sites

18 minutes ago, Tedster said:

And probably easier to screw up fatally with! Actually that would add to the fun...

best paper i took at uni was prob the operating systems one where we got to play with assembly code on these ancient orange CRT monitors driven by an embedded micro controller where none of them worked. for the final assignment which was quite hard it turned out there was only one board in the lab that could actually run it

             ☼

ψ ︿_____︿_ψ_   

Link to comment
https://linustechtips.com/topic/719065-help-learning-to-program/#findComment-9159597
Share on other sites

Link to post
Share on other sites

1 hour ago, Audio Carnage said:

If you are serious about a career as a developer I advise you to study Software Engineering at a university.

Programming is not just about developing games and coding shitty mobile apps. There is actually a lot more to it and you will have to learn heaps of stuff you can't even imagine, young padawan. The software industry is serious business but unfortunately it's full of unprofessional mediocre developers.

 

Good luck!

I'm 15 so I'm actually doing this for fun while also opening up more opportunities in the future. Thanks for the tips though

That's an F in the profile pic

 

 

Link to comment
https://linustechtips.com/topic/719065-help-learning-to-program/#findComment-9159626
Share on other sites

Link to post
Share on other sites

59 minutes ago, Froody129 said:

 

Leer hoe om te program met speletjies. Kies wat ook al taal jy belangstel. Iets soos hierdie ding 

CPU — AMD Ryzen 7800X3D

GPU — AMD RX 7900 XTX - XFX Speedster Merc 310 Black Edition - 24GB GDDR6

Monitor — Acer Predator XB271HU - 2560x1440 165Hz IPS 4ms

CPU Cooler — Noctua NH-D15

Motherboard — Gigabyte B650 GAMING X AX V2

Memory — 32GB G.Skill Flare X5 - 6000mHz CL32

Storage — WD Black - 2TB HDD

        — Seagate SkyHawk - 2TB HDD

        — Samsung 850 EVO - 250GB SSD

        — WD Blue - 500GB M.2 SSD

        — Samsung 990 PRO w/HS - 4TB M.2 SSD

Case — Fractal Design Define R6 TG

PSU — EVGA SuperNOVA G3 - 850W 80+ Gold 

Case Fans — 2(120mm) Noctua NF-F12 PWM - exhaust

          — 3(140mm) Noctua NF-A14 PWM - intake

Keyboard — Max Keyboard TKL Blackbird - Cherry MX blue switches - Red Backlighting 

Mouse — Logitech G PRO X

Headphones — Sennheiser HD600

Extras — Glorious PC Gaming Race - Mouse Wrist Rest  

       — Glorious PC Gaming Race - XXL Extended Mouse Pad - 36" x 18"

       — Max Keyboard Flacon-20 keypad - Cherry MX blue switches

Link to comment
https://linustechtips.com/topic/719065-help-learning-to-program/#findComment-9159946
Share on other sites

Link to post
Share on other sites

16 minutes ago, DutchTexan said:

Leer hoe om te program met speletjies. Kies wat ook al taal jy belangstel. Iets soos hierdie ding 

Ek beplan om speletjies te bou net om die code te leer.  Dalk Python maar nie seker nie. Ek dink ek sal verkies om my eie program te maak. 

 

PS: I'm assuming you're Dutch, I speak Afrikaans myself but the languages are pretty similar

That's an F in the profile pic

 

 

Link to comment
https://linustechtips.com/topic/719065-help-learning-to-program/#findComment-9160023
Share on other sites

Link to post
Share on other sites

39 minutes ago, textreme said:

After you learn the basics move to another language that is more widespread used. (JAVA&HTML).

Java, Javascript, HTML and CSS are pretty much the languages for making websites, not so much for industry. Python is more useful for industry, at least where I live.

 

What you said is very true though. I think Java is the most marketable language atm. Making websites or just devolving apps is growing massively. C++ and Python are much better if you want to work for large companies. HTML, CSS and Java are better if you doing little startup-type, internet things, most of the time.

 

HTML and CSS are probably the best languages to start out learning how to write code.

2 hours ago, Froody129 said:

Ek beplan om speletjies te bou net om die code te leer.  Dalk Python maar nie seker nie. Ek dink ek sal verkies om my eie program te maak. 

 

PS: I'm assuming you're Dutch, I speak Afrikaans myself but the languages are pretty similar

I was born in Vereeniging, lived in SA for a while. I do speak Dutch though and I think it is actually better than my Afrikaans now :1

 

I was assuming you know next to nothing about programming. I've known people who played that game I linked. It is more of a trainer than an actual video game. It's much more interesting to learn how to write code and build games with something that frames those things as an actual game. There are also online teachers/trainers that can go over your stuff and give you personal lessons within that video game maker video game.

 

There are plenty of free resource out there, too. For example, YouTube can teach you just about anything. Freecodecamp.com and codeacademey.com (both free) also teach many different fundamentals for the most common languages, but the trick is that those methods can be extremely boring after a while.

 

You can self-learn how to code for free, a lot of people have done it and a lot more people have failed to do it. You need time, serious determination and perseverance to become a 'qualified' programmer for any or several languages for free. If you just want to pursue curiosity or because you think one day when you're older you will work in the field, then that is a great thing! If I were you, I would make an account at one of those websites I talked about in the former paragraph. Start going through their courses, you can get legitimate certificates after a lot of work. If I were you, I might get that game later on if I really think I was interested in programming with python, while watching a bunch of tutorials on YouTube or reading a couple of 'recent' textbooks like: Web Design with HTML, CSS, JavaScript and jQuery Set for building apps and websites or something like this: Python Crash Course: A Hands-On, Project-Based Introduction to Programming if you want to learn python fundamentals. There are less free resources for Python, but again, for things like a chemical or manufacturing plant, python is the most desirable. 

 

If you want to see some exaples of HTML, CSS and Java projects or you want to make some stuff check out www.codepen.io and look through some projects to see what can be done with one of or a combination of those 3 languages.

 

Later on, if programming keeps your interest, purse computer science or an electrical engineering degrees from whatever university you can.

 

In the near future you can look for code camps in your area. Also take a look at https://codeforafrica.org/ and more importantly http://www.wethinkcode.co.za/ (haven't read anything here but maybe it is good info) http://www.htxt.co.za/2016/06/23/learn-to-code-for-free-with-these-six-websites/

 

It's not like you need a career next year or anything, so just pursue what interests you (for free) and see how things go. If you are brand new to programming, then I would start learning something like HTML and CSS like @textreme said. Fundamentals are key.

 

The good ones to know are Python, SQL, CSS, C++, C#, Java, Javascript, HTML and maybe PHP or Ruby

CPU — AMD Ryzen 7800X3D

GPU — AMD RX 7900 XTX - XFX Speedster Merc 310 Black Edition - 24GB GDDR6

Monitor — Acer Predator XB271HU - 2560x1440 165Hz IPS 4ms

CPU Cooler — Noctua NH-D15

Motherboard — Gigabyte B650 GAMING X AX V2

Memory — 32GB G.Skill Flare X5 - 6000mHz CL32

Storage — WD Black - 2TB HDD

        — Seagate SkyHawk - 2TB HDD

        — Samsung 850 EVO - 250GB SSD

        — WD Blue - 500GB M.2 SSD

        — Samsung 990 PRO w/HS - 4TB M.2 SSD

Case — Fractal Design Define R6 TG

PSU — EVGA SuperNOVA G3 - 850W 80+ Gold 

Case Fans — 2(120mm) Noctua NF-F12 PWM - exhaust

          — 3(140mm) Noctua NF-A14 PWM - intake

Keyboard — Max Keyboard TKL Blackbird - Cherry MX blue switches - Red Backlighting 

Mouse — Logitech G PRO X

Headphones — Sennheiser HD600

Extras — Glorious PC Gaming Race - Mouse Wrist Rest  

       — Glorious PC Gaming Race - XXL Extended Mouse Pad - 36" x 18"

       — Max Keyboard Flacon-20 keypad - Cherry MX blue switches

Link to comment
https://linustechtips.com/topic/719065-help-learning-to-program/#findComment-9161316
Share on other sites

Link to post
Share on other sites

7 hours ago, Froody129 said:

Ek beplan om speletjies te bou net om die code te leer.  Dalk Python maar nie seker nie. Ek dink ek sal verkies om my eie program te maak. 

I speak very, very, very limited afrikaans (my dorm neighbors native language). But from what I was able to gather, you prefer to build your own programs from the ground up?

I just want to reiterate that you should seriously consider doing things that do a better job of teaching the fundamentals and theory of all programming, rather than "fun" things like copying code out of a book to build a video game. I'm a student who's dual majoring in Aerospace Engineering and Computer Science, and while I'm very "young" in the program, I can tell you this: My dad forcing me to do boring programming tasks that had seemingly no connection to real life was the best thing ever. By the time I got to college I was always a step ahead of the classes I was taking in CS. It makes life so much easier.

My serious recommendation here is to solve Project Euler problems while reading a book called Starting Out With Python. This is the textbook for the first three years of "basic" programming classes at my uni (I've linked to a legally free PDF of the book), while Project Euler problems will advance your programming knowledge, logic capabilities, and math knowledge. All of which are necessary to eventually pursue a nice career that involves programming/CS.

ENCRYPTION IS NOT A CRIME

Link to comment
https://linustechtips.com/topic/719065-help-learning-to-program/#findComment-9162340
Share on other sites

Link to post
Share on other sites

4 hours ago, straight_stewie said:

I speak very, very, very limited afrikaans (my dorm neighbors native language). But from what I was able to gather, you prefer to build your own programs from the ground up?

I just want to reiterate that you should seriously consider doing things that do a better job of teaching the fundamentals and theory of all programming, rather than "fun" things like copying code out of a book to build a video game. I'm a student who's dual majoring in Aerospace Engineering and Computer Science, and while I'm very "young" in the program, I can tell you this: My dad forcing me to do boring programming tasks that had seemingly no connection to real life was the best thing ever. By the time I got to college I was always a step ahead of the classes I was taking in CS. It makes life so much easier.

My serious recommendation here is to solve Project Euler problems while reading a book called Starting Out With Python. This is the textbook for the first three years of "basic" programming classes at my uni (I've linked to a legally free PDF of the book), while Project Euler problems will advance your programming knowledge, logic capabilities, and math knowledge. All of which are necessary to eventually pursue a nice career that involves programming/CS.

You have the gist of it. I like doing my own things because I did them on my own, but if it takes a lot off amazon to learn programming so be it, I won't complain

 

I just want to confirm. Many people say Python is a useful language, while my friend says it's a dead language. I'm very new to programming so I'm just looking for a nice language to learn that I can do some useful stuff with. 

 

Python? Java? Start with basic HTML? Ruby? Something else? 

 

Thanks very much, I'll look at those resources. I'm not home atm so I won't be using them for a while :( 

 

 

For now im not seriously considering it as a career, but it would be nice to be able to do it if I want, already having usable knowledge of at least one language. It'll also look good on my CV for other jobs. 

 

I'm also trying to learn German, then I'll be trilingual :P 

 

That's an F in the profile pic

 

 

Link to comment
https://linustechtips.com/topic/719065-help-learning-to-program/#findComment-9163372
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

×