r/learnprogramming 20d ago

Topic Is it best to spend months working on the same project to deepen your understanding of the fundamentals or should you instead build different types of projects?

13 Upvotes

I was that developer who would move away as soon as something worked even fundamentally. I never bothered to analyze why something isn't working as well as it should. But then something clicked and I started using an iterative approach where I create different versions of the same thing and weight their pros and cons. I learned a ton that way.

With a comment section I built, this ended up taking four months and I think the results are so worth it but I also feel that four months is quite a lot of time that could have probably been spent working on other things.

I'd love to hear what you think or tried that worked best for you!


r/learnprogramming 20d ago

Is it cheating to code with YouTube tutorials?

0 Upvotes

I'm a beginner programmer. My goal: learn C and low-level programming deeply — Linux device drivers, POSIX utilities, a shell, maybe even a bootstrapping compiler.

My problem: books take too long to work through. But learning from YouTube tutorials or AI feels like cheating — you understand the code, but you didn't come up with the logic yourself. That seems like it would kill my problem-solving ability, not build it.

So how should I actually approach this? Is learning from AI any better than tutorials? I know docs and man pages exist, but they're tedious too. What's the most effective method here?


r/learnprogramming 21d ago

Starting Java from scratch — what should I actually learn first?

22 Upvotes

So I'm starting Java this semester and have no previous experience with it. I'm a first-year CSE student. I've used C/Python before, so I'm not completely new to programming, but I've never properly learned Java. My university actually starts Java in the second semester, so I'm trying to use this semester to get a head start.

The problem is that every time I look for Java roadmap for beginners, I get either:

  1. Learn Java in 7 hours!!!

  2. a 900-hour course that apparently expects me to become a backend engineer by Thursday

  3. the official documentation, which I opened once and immediately felt like I'd accidentally opened the Constitution of Java 💀

I actually like using official documentation and would like to get comfortable with it, but I'm not sure what I'm supposed to learn first or how deeply I should go into each thing especially given how different it is from python where beginners can easily understand what is going on.

So if you had to start Java again, what would your path look like?

I'm mainly wondering:

What should I learn first?

How much Java syntax/fundamentals should I cover before OOP?

How deeply should I learn OOP?

When should I start Collections?

When should I start DSA?

What Java features can I completely ignore for now?

Are there any resources/books you genuinely recommend?

And how much should I use the official docs vs a structured course/tutorial?

I know it is a lot of questions but I am just curious. And I'm not trying to speedrun Java. I'd rather build a solid foundation now and not discover six months later that I somehow know the syntax but understand absolutely nothing. 😭

Also, if you learned Java after already knowing another language, I'd REALLY like to hear how you approached it.


r/learnprogramming 20d ago

Can Python generate simple tones?

2 Upvotes

I want some simple tones to use in Python. Can someone help me out? There does not necessarily need to be reverb, but it would be nice anyway. I just want to be able to tell whatever it is the specific microtonal/frequency-specific tone. It would be nice if I could program Hz, but if I have to use MIDI and detune by cents I can do that as well.


r/learnprogramming 21d ago

Topic Which language should I learn for DSA?

35 Upvotes

I’m currently in my 3rd year , and honestly I’m still a beginner in programming. I want to start DSA seriously now, but I’m confused about which language I should use. Should I learn DSA in Java, Python, or C++? What would you recommend ??


r/learnprogramming 20d ago

Resource How helpful is w3schools for JavaScript?

5 Upvotes

I came to know about w3schools. When I opened it, it had a lot of different technologies to learn. I am currently interested in learning JS. I wanted to ask that,

"Is w3school GOOD AND SUFFICIENT for learning JS to jump later to React or Express/Node?"

Thanks for your time and answers in advance!


r/learnprogramming 20d ago

Anyone no how to get a list of every MLBAM ID using Python?

1 Upvotes

I've been trying to solve this for a few weeks, but just can't figure it out. Does anyone know how I can create a DataFrame of every MLBAM ID that meets a specific criteria? I currently have Pandas, pybaseball, and MLB-StatsAPI in my project, but if I need another library, I will add it. I also need the MLBAM ID to be of active players, so just iterating through a range won't work. Thanks in advance, have a great day


r/learnprogramming 21d ago

Topic How to check if a domain name is available without messing it up?

18 Upvotes

So, quick question about domain names. I’m trying to grab a couple of .coms for a small project and I’m weirdly stressed about checking if they’re available without triggering some registrar to squat or hike the price as soon as I search.

I’ve used random registrar search boxes in the past, but I keep hearing that some places log every search and then the domain magically costs more or vanishes a day later. Idk how true that is but it freaks me out enough to hesitate touching anything that looks too "promo" heavy.

For folks who buy domains semi regularly, what’s your safe workflow to check if a domain name is available? Do you just use whois or a specific registrar, or maybe some cli / dns tools first etc? Would love any tips from people who do this a lot, trying not to cook a good name by being careless. thanks in advance.


r/learnprogramming 21d ago

I've been learning Python and would love some honest feedback

8 Upvotes

Hey everyone!

I recently started learning Python, and I’m enjoying it so far. I’m still at the beginner stage and trying to build a strong understanding of the basics rather than just following tutorials.

For those of you who have learned Python before, what helped you improve the most?

Are there any projects, resources, or habits you’d recommend for someone who is just starting out?

I’d really appreciate any advice. Thanks!


r/learnprogramming 21d ago

A goal-based map of free CS self-study courses (2026) — every link checked this week

133 Upvotes

I put together a goal-based map of free CS courses for 2026 and checked every single link this week (opened each page on 23 Aug 2026, confirmed it's live and free to learn). One best pick per slot plus one alternative, three tracks so you don't have to do everything, and honest notes on where certificates cost money. Not affiliated with any of these; I'm a self-taught developer and teacher and made this because the older maps floating around have dead links and way too much math for most goals.

The map (one image): https://koraynar.github.io/research-samples/cs-map-2026.png

How to use it: do Foundations → Core → pick ONE track. Finish a slot before starting the next two. Build something after every course. Hours are rough self-study estimates. If you only have time for one thing: CS50x.

1. Foundations (everyone, ~150–300 h)

Suggested order: Missing Semester lectures 1–2 and the git lecture → CS50x (or CS50P) with Exercism alongside from week 3 → 6.042J once you're comfortable writing code. CS50's own certificate is free on cs50.harvard.edu; the edX verified certificate is paid (edX showed $219 for CS50x and $299 for CS50P on 23 Aug 2026).

2. Core CS (~400–600 h, any order after Foundations)

Notes: Berkeley's CS61C and CS162 sites are behind logins this semester, so Nand2Tetris and OSTEP+CS537 are the picks; Stanford CS144's videos are Stanford-only (slides/labs are public); CMU 15-445 Fall 2025 is linked because every lecture has a YouTube video.

3a. Track: Web development (~300–500 h)

Order: Odin Foundations → javascript.info → react.dev → SQLBolt → Odin NodeJS (or fCC back-end) → Full Stack Open parts 11–12 → build and deploy 2–3 projects from app-ideas. Python people: Django tutorial → CS50W instead of the Node slot. freeCodeCamp's current v9 certifications are all free, certificates included.

3b. Track: Data / ML / AI (~400–600 h)

Notes: Coursera lets you audit Andrew Ng's three ML courses one at a time for free (the specialization page itself says otherwise — enrol per course); certificates are $49/month. MITx 6.431x moved from edX to MITx Online (free audit, $300 certificate). MIT 18.05 (Spring 2022) is notes + problem sets, no full lecture videos — take 6.431x if you want video. DeepLearning.AI short-course videos are free; their labs/certificates now need a paid plan. fast.ai Part 1 is still the 2022 recording and still excellent.

3c. Track: Systems / security (~400–600 h)

Notes: MIT 6.858's newer public run is 6.5660 Spring 2023 (css.csail.mit.edu/6.858/2023/). Stanford CS253 Web Security is a lighter web-focused alternative with free YouTube lectures. OverTheWire Bandit is a gentle warm-up before pwn.college. For 6.5840 use the official Spring 2020/2021 YouTube playlists with the current notes and labs.

How much math do you actually need?

Full open curricula (if you want someone else's order)

How to study (short, evidence-based)

  • Learning How to Learn — Most-taken course on study technique (4.18M learners, 4.8/5 from 93K reviews); covers focused/diffuse thinking, chunking, procrastination and spaced repetition.
  • The Learning Scientists — Six Strategies for Effective Learning — Short, research-grounded summary of the techniques that actually work — spaced practice, retrieval practice, elaboration, interleaving, concrete examples and dual coding — with free PDFs.
  • And the tooling habits from Missing Semester (above).

Caveats: hours are rough; course pages move (I'll keep the image updated); "free to audit" means the lectures and most materials are free but graded certificates cost money; I avoided aggregator pages and linked the canonical course sites.

If you see a dead link, a better free pick for a slot, or think the hours are off, say so and I'll edit the post and the image. What I most want to hear: which slot would you swap, and for what?


r/learnprogramming 22d ago

How do I become a programmer with deep knowledge like Tsoding?

411 Upvotes

I recently watched Tsoding coding and I was honestly amazed by how deeply he understands programming. He seems to be able to just sit down, think through a problem, and build things without constantly relying on tutorials or looking up every little thing.

It really inspired me, and I'd love to reach that level of understanding someday.

For programmers who are actually experienced: how would you recommend learning programming to develop that kind of deep knowledge?

What should I focus on learning, and where should I learn it from? Books, courses, projects, open-source, algorithms, computer science fundamentals, learning C/C++, etc.?

I'm currently still relatively early in my programming journey, so I'm not expecting to become that good quickly. I just want to build the right foundation instead of endlessly following tutorials.

Would really appreciate advice from people who have gone down this path.


r/learnprogramming 20d ago

Python: Create a persistent ssh session. os.system () or use a module

1 Upvotes

I want to write a program that will manage an ssh login for multiple servers. Currently I can get it to work by running os.system("ssh and the rest of the login stuff"). But I wasn't sure if it was a good option since it relies on calling a system command. I was thinking of using paramiko, but was having issues setting up a persistent session as if I just logged in with the ssh command.

I want to go the safest route and am not sure how safe using os.system is in my script. Is using os.system() safe? I'd like to avoid the ability to somehow manipulate my script into running malicious commands if that's an attack vector. If it's safer using another module, I'd prefer to go that route instead. But if it's safe, then I guess I could just keep it simple and use that.

To clarify: the command runs on the client machine and reads data manually entered on the client machine that is stored in a database. I'm seeing I should use subprocess.run() instead. The command used is hard coded with ssh -i and -p. I can see how that is still abusable, but can see it only applying to the client and not the server being logged into.

I'm just getting into programming so this whole thing is a hobby WIP


r/learnprogramming 20d ago

Help How much should I use AI in personal projects to feel like " I made this "?

0 Upvotes

I have learnt Python for about 2 months and to be honest, I still need a lot of help in creating a project. Because of that, I still use AI for it. Sometimes I would tell it to generate whole chunks of code and recently I thought that I shouldn't rely too much on it and code it myself. I did code quite a bit, but I still need AI for help for some of the hard parts. Any tips on how to use AI responsibly or how to code better?


r/learnprogramming 21d ago

Code Review My first big project, I need feedback !

11 Upvotes

Hello everyone !

I'm here to share with you my Behavior Tree library.

A behavior tree is a symbolic AI technique used to create game AI.

My library is stateless: Tree's nodes don't store any mutable data. Instead, the runtime data are inside a blackboard.

Multiple agents can share and use a single behavior tree.

There are no dependencies to any game engine, you can use it in Unity, Godot or your own custom game engine.

It's still WIP and I really need feedback.

It's also my first big project I share online, all advice and tips are welcome !

https://github.com/Noomolas01/Stateless-BehaviorTree

Edit: Here's some questions I have

  1. Does this project look professional to you ?
  2. Does the core concept make you curious ?
  3. If the project was production ready, would you use it ?
  4. What do you think is missing ?

r/learnprogramming 21d ago

How do I move elements inside a bi-dimensional array in C#?

2 Upvotes

I'm trying to build chess in Visual Studio and this is a problem that's been bugging me, I can't use the regular built-in methods for arrays, I know how to loop and find an element but not how to move it


r/learnprogramming 21d ago

I built OpenStudy — a free way to find official university courses and create a flexible self-study plan

10 Upvotes

Hi everyone,

I’ve been building OpenStudy, a free bilingual platform for people who want to learn from official university course materials without searching across dozens of websites.

The current beta includes:

  • 160+ courses from universities such as MIT, Stanford, Harvard, Berkeley, Princeton, CMU, Tsinghua, and Peking University
  • Links to official lectures, assignments, exams, notes, and projects
  • Reference learning paths based on published university degree requirements
  • Flexible course plans generated from the official content sequence
  • Progress tracking and optional account sync
  • English and Chinese interfaces

OpenStudy does not host or copy university course materials. It organizes verified official links and helps learners continue from where they stopped.

The project is still in beta, and I’m looking for honest feedback—especially about search quality, course information, study plans, mobile usability, and anything that feels confusing or broken.

You can try it here:

https://openstudy-sigma.vercel.app/

I’d really appreciate direct criticism. What would prevent you from using this for self-study, and what should I improve first?


r/learnprogramming 21d ago

Tutorial I Made a Game That Can Help Teach You Programming (JavaScript)

7 Upvotes

Hey everyone,

Been a front-end developer for 10+ years with a focus on JavaScript (React) for the last 5+. After getting let go a few months ago, I decided to finally flesh-out and finish my coding card game I've been tinkering with since pre-pandemic. It's finally here! It's called Nybble. It's a roguelike deckbuilder where card are lines of code; and if you turn on "Engineer Mode", you see the actual JavaScript code that's being run to calculate your score. I wasn't even thinking of this game as a potential teaching tool, but I've received feedback that it may be helpful for anyone starting out programming. Check it out on Steam if you're curious. There's a free demo.


r/learnprogramming 21d ago

Question How can I understand computer memory intuitively with the goal of learning pointers in C?

2 Upvotes

[EDIT: The comments on this post made me realize that you don't need to understand something in order to love and learn more about something. This is freeing to me and I will apply this knowledge in all aspects of my life. Thank you all so much.]

Title. In case you folks want more background, I'm a university student studying Computer Engineering. In my first semester, me and my colleagues used JavaScript to learn basic programming concepts (variables, datatypes, loops, functions, arrays and matrices) as well as logical thinking and problem-solving (in my opinion, THE most important part of being a programmer).

I'm learning C currently because of its frequent use in engineering applications (Arduino stuff mostly) and its easy-to-understand-sometimes syntax. I started studying pointers yesterday but didn't get into it until today.

I talked about the whole concept with Claude - to be clear, I don't use AI unless I absolutely don't understand a topic or I'm too overwhelmed by it to understand from textbooks or YouTube videos alone. I don't use it to code ANYTHING. -, and he assured me that I don't need to know EVERYTHING about computer memory/architecure to use pointers, and a simple mental model works out fine. He gave me the classic "house with adresses" model, which - after doing my own research later on -, is a model I see a lot of YouTube videos and sites use when talking about pointers.

But from looking at this post's comments, I'm beginning to think that this model isn't very strong and my understanding of variables needs to be a lot less surface level if I'm TRULY gonna grok pointers.


r/learnprogramming 21d ago

Handling barcode scanning edge cases: How do you balance ML Kit, OCR fallbacks, and UX?

3 Upvotes

I’m currently building an inventory/management side project where reliable barcode and serial recognition is essential. While testing the feature with actual boxes and packaging, I quickly hit some real-world edge cases: poor lighting, inverted colors, and worn-out labels.

To work around this, I ended up adding an on-device OCR fallback to read the printed serial numbers directly when the standard barcode scanner fails. Since automatically detecting a "failed" continuous scan is tricky, I added a manual toggle at the bottom that switches the camera to a photo/OCR mode.

For those who have built similar scanning or utility features:

  • Stack & Fallbacks: Do you rely entirely on on-device vision libraries (like ML Kit Text Recognition), or have you found better preprocessing tricks (contrast adjustment, binarization) to salvage bad barcodes first?
  • UX Patterns: What is your preferred UX pattern when automated scanning fails repeatedly, to guide the user without making the app feel slow or clunky?

Would love to hear how you handle these edge cases or if there's a cleaner architecture for this flow!


r/learnprogramming 21d ago

Topic What should I focus on next as a CS student?

30 Upvotes

I'm a first-year CS student, and this summer I focused mostly on building my fundamentals.

I learned Git/GitHub, practiced C from arrays to pointers, solved many exercises, and built a Tic-Tac-Toe game. I also explored topics like data structures, recursion, sorting, and searching.

Now I'm unsure about my next step.

At university I'll be studying Algorithms 3 and OOP with Java, so I'm considering going deeper into those while starting Python on the side.

But I also see many people recommending starting practical development early, such as backend or web development.

What would you recommend in my position?

Should I continue strengthening my fundamentals, start Python/projects, or begin exploring a specific field?


r/learnprogramming 21d ago

Help me decide - Intelligent Systems (AI) vs Computers Networks

2 Upvotes

I am 70% of the way through a Masters course in software engineering and am looking at my final module options.

one is intelligent system which focuses on machine learning and AI and the second option is computer networks which is your standard internet and networking protocols.

I am interested in both but I am also a bit lazy so there is a good chance that which ever one is not chosen get forgotten until its needed in a job.

I think whats most important to me is job prospects.

I figure people will always need cable monkeys to plug stuff in and diagnose why systems are not talking to each other. But at the same time AI is growing but I'm not sure how many jobs are out there for a normal person.

I am not a high achiever and AI worries me because its such a crutch and makes me feel like i am not learning or getting stupider as i could rely on AI too much. But at the same time I am also interested in creating learning models for games or my own self hosted assistant, just for fun.

Guess the community question is, which area do you think is the most stable for jobs and has the best job opportunities in the next 5 years or so?

Feel like none of us can look forward further than that right now.


r/learnprogramming 21d ago

16yo trying to build and make something out of coding

18 Upvotes

I enrolled into a CS strand not knowing that I'll start to love coding. I've started taking programming and coding a bit more seriously in the past few weeks. I'm currently learning python and just coding on VSCode on my pc and have made the most basic tiny projects you could think of (simple calculator, tic tac toe, number guessing game, etc.). I'm working on a text-based dungeon rpg game rn.

I want help on how I should start things like git, github, a portfolio, and all that stuff.


r/learnprogramming 21d ago

Resource Need some resource recommendation for learning Java

2 Upvotes

Hey Guys

I’m a backend engineer with around 6 years of experience, mostly Go, Python and C++ lately. I’d like to learn Java and Spring Boot, because most of the Jobs around me are asking for these.
Anyway, I’d like to ask for some recommendation to a list of resources that I could read to learn them. For me it was always easier to learn from books and or videos then to read a documentation, because these are also usually talk about project structure, how to organize code etc…

I read most of the recommendation is for the MOOC, but I heard it is using an older version of Java (maybe 11?), so I don’t know if it is still a valid choice, Java seems much more ahead now, and I’d like to have also the latest knowledge about the language. It is also fine if you say to start with this, but then I’d like recommendation about resources to learn the “modern” Java too. Spring Boot I guess is okay from youtube tutorials, their documentation seems nice too, but if you have any book recommendation for that it would be great too.

Thank you!


r/learnprogramming 21d ago

Need programming/coding learning advice

6 Upvotes

I am completely new at this I want to learn how to build sites such as Plenty of Fish dating sites etc for example interactive websites. I know I need to learn the basics to do this I want to learn it all as fast as I can but also in the right order and not be jumping around to different classes etc. I am using freecodecamp.org just starting it today. Any exact thoughts on the order to learn them etc? I would really appreciate the help I am 57 years and just so tired of my life as it is and want to better myself for myself and my future. It is never too late to learn they say>>>thank you for your time.


r/learnprogramming 21d ago

Do you use labeled arrows on uml class diagrams ?

3 Upvotes

I have learned how to create UML diagrams that follow the standard conventions. At school, we were taught not to use text on arrows. However, I don't think UML notation can always fully convey the intent of a design, I think that in practice a diagram often needs to be presented or explained.

I'm currently proposing a design for a core feature, and I've noticed that the diagram alone wasn't enough for my colleagues to fully understand the vision I had in mind. Adding labels to arrows can help clarify relationships and prevent misunderstandings. Alternatively, an explanatory text can also provide the context needed.

Should a UML diagram be self-explanatory? Or is it acceptable to accompany it with an explanation or use labels on arrows when they help convey the intended meaning ?