Need help related to learning how to learn.
Posted by nivedhz_@reddit | learnprogramming | View on Reddit | 28 comments
Hey guys,
I am a new programmer and I just started programming like 2 months ago. I finished my python basics using CS50P (At first I was wandering in youtube like a ghost but then found the structured CS50 programs). After finishing python and doing some basic real world projects in it (Like File sorter and To do list ) I decided to jump to the more basic thinking of programming and dived into CS50X and the lectures bore me to sleep and I hate their laggy coding env. I thought of learning C as it is the most basic and low level language but when i watch channels like Tech with Tim or Bro code , I become sure that after completing these spoon feeding type lectures i will not learn anything and need to go into docs hell to learn everything.
So any recommendations onto how i may continue. I would take anything even a tutorial suggestion or your ideas on how to continue.
ItemAdept7759@reddit
Docs hell is your friend, but instead of trying to read the docs first, try to build something first - then when you get stuck, go looking in the docs. Write a terminal program in C that starts off using text and numbers (like the hangman game or something) - then, as you finish it, try to extend it. Can you get it to play music from the terminal? What about drawing in the terminal? Finally, then look at what graphics or form libraries there are so you can display a more complicated UI.
Basically, just pick a small project, try to build it, post on forums and refer to docs when you get stuck, and slowly improve it until you think you can tackle larger projects.
Feeling_Photograph_5@reddit
Just keep moving forward. You have the basics now, just keep building projects that incorporate things you need to learn and that point you in the direction you want to go.
I'd avoid switching languages unless that language is necessary to something you want to build. Go deep before you go wide.
Getting good at working with data is never a waste of time.
Learning how to build an interface is never a waste of time.
nivedhz_@reddit (OP)
Yes but i feel like i need to explore a whole lot of fields to know where I will be comfortable or even happy. I think AI/ML is the way to go but I feel like I am influenced by money a lot.
I think switching langs is great unless you found your career path.
BTW Thanks for the reply man, means a lot!
Feeling_Photograph_5@reddit
Totally valid if you're still exploring.
Methode3@reddit
I think the best starting point is C. Learn about CPU architecture and how C is compiled and interacts with hardware. K&R is the bible of C. Once you learn proper C, any language (excluding assembly) is pretty straightforward. Then study C disassembly and really get an understanding of how it all works. Everything else becomes easy after that. Maybe I’m old fashioned but learn the hard basics makes it easier in the long run.
nivedhz_@reddit (OP)
Yeah man but I started learning python coz it’s easy and finished it like 3 weeks ago and I am now “learning” C. But learning in programming without practically researching feels nonexistent or rather non productive. I don’t know why..
Light_Matter_@reddit
Some people said that already, but I think just continue develop your skills/knowledge in Python. It is one of the most versatile languages out there.
If you can code well in one language, you can transition to anothe much faster. Pick your project and then language (it is just tool to solve some problems). Learn hands on. It is the best way.
UDEMY is great place if you willing to pay, but there is tons of webs and tutorials for free everywhere. Eg I like www.w3schools.com nice reference and tutorial place.
nivedhz_@reddit (OP)
Thanks man..!
Light_Matter_@reddit
Np
Calm_Pain_7425@reddit
Just get a 10$ udemy MERN Or next js course, and just check it has deployment part, you finish that you are ready for beginners role.
nivedhz_@reddit (OP)
Thanks man..!
throwaway727437@reddit
How do I get the medication that would treat what I’m diagnosed with without having to wait 4 months and spend $500 to see if it’s even possible? If I have my brain working normal then it comes naturally. Otherwise I start to freak out inside and it comes out in short bursts and ways I probably don’t even notice, then I’m isolated and angry with myself.
Eptalin@reddit
If you don't want to use the CS50 codespace in the browser, you could just install VS Code yourself.
Week 10 of CS50x has a video in the seminars section called 'Flying the nest' which explains how to install it, WSL, the CS50 tools, and some general tips for customising your IDE to your taste.
With your own local install, you'll be well set up for all your future coding projects regardless of what course or other method you end up choosing.
If you don't like watching the lectures, you could just skip the video and read the lecture notes instead. Then jump into the problem sets.
It's a great introductory course that does set you up well to expand your learning in different directions.
Just reading documentation would be an unnecessarily hard road considering the multitudes of resources available these days. Docs aren't really a learning resource for new programmers. They're written expecting the reader to have a certain level of knowledge already.
But I'm sure a quick search would bring up loads of free and paid courses, and other resources. Any source recommending CS50 will likely recommend others too.
nivedhz_@reddit (OP)
Uhh but CS50x uses exclusive header files like cs50.h which can’t be installed into windows for some reason and they are good teachers but not good mentors I feel. Anyway thanks for the response man!
smichaele@reddit
Do your homework (as boring as it may be). cs50.h can certainly be used in a Windows environment.
nivedhz_@reddit (OP)
Man but i think that it is not practical to use a predefined header file. Yes it makes it more easy but it makes it far less practical. Btw thanks for the reply..!
Eptalin@reddit
I didn't say you'd code in Windows. I said the video shows how to install WSL. You code in Linux, on your Windows machine.
It's not dual booting, and it's not the same as running a normal VM either. It's highly integrated into Windows itself. You can even access the Linux directories using windows explorer. It's super handy.
nivedhz_@reddit (OP)
Ohh sorry. And thank you man!
cjneutron@reddit
For me the best way of learning hands on. I love doing freelance programming work and is what helped me the most when I was first learning. I'd recommend creating an account on something like Upwork and use it as a coding idea generator. Find a few jobs that look interesting to you and just try creating/solving whatever the request is just for yourself. Then when you run into something you're not sure how to do, look that piece up online and go from there.
nivedhz_@reddit (OP)
Thanks man!, Will try it out.
Mediocre-End-9388@reddit
If you are interested in learning a new language; you can never go wrong with JavaScript
nivedhz_@reddit (OP)
Correct me if I'm wrong but isn't JS a web dev thing?
Mediocre-End-9388@reddit
You can use it in all ways, I’ve made discord bots with it. It’s really useful to know and might land you some j*bs if you learn it well enough
nivedhz_@reddit (OP)
Okayy Thank you man, Helps a lot!
DueToday3291@reddit
I really recommend taking a look at
https://roadmap.sh/roadmaps/
it has a very useful walkthrough of almost anything
nivedhz_@reddit (OP)
Thanks man helps alot!
lKrauzer@reddit
This helped me learn how to learn
https://www.theodinproject.com/users/sign_in
nivedhz_@reddit (OP)
Thanks Man!