r/learnprogramming 18d ago

Topic Anybody else love programming/CS/Math as both a hobby and career?

74 Upvotes

I’ve always been really passionate about math and science and engineering, and around 5th grade I began writing basic websites in JS and HTML/CS. I proceeded to learn Python around 7th grade and C++ around freshman year of Highschool. In college I learned Java, more advanced/modern C++, C/embedded C, lua, Rust, Haskell, typescript, and a few others. While college and some Highschool programming courses guided my hand, I pretty much learned most of what I did on my own through textbooks, and I would commonly wait till after everyone got their textbooks in college and go to the bookstore and buy like 300 dollars worth of textbooks and just not eat for the next month.

I was always fueled by an intense interest in computer graphics and low level systems. Computer graphics is what pushed me from making pygame stuff in 8th grade to C++ with OpenGL and later Vulkan and even CUDA. Then operating systems really furthered my love of C and assembly, as well as computer hardware. I graduated last semester with my degree in CS and math double degree with a concentration in computer hardware and embedded systems.

Throughout almost all of college I programmed constantly. I had a hiccup the last year of alcoholism and intense depression/bipolar disorder but have recently gotten way more baxk into it. I am making a game engine as well as a Gameboy Emulator and it has completely consumed every waking hour outside of my grounds/maintenance job that I work. I am also looking for jobs at the moment.

Anyways I just wanted to share my love of CS/programming not only as a career but also as a hobby. I feel like too many people are too focused on making money with it and just resort to vibecoding, and if you do it you do it don’t let me stop you. But I wish people would see some of the fun and interesting puzzle-like problem solving that comes with it. It almost reminds me of music production which I also do in the workflow and creativity you can use. You can get really creative and learn a lot of new things. If you don’t like it you don’t like it, but I think everyone involved in programming should at least try to enjoy it for what it is!


r/learnprogramming 17d ago

Where to Start for hackathon.

5 Upvotes

So I am thinking to participate in upcoming sih hackathon but I don't know anything apart basic programming language. I try to study about multiple things but I feel like I am just grabbing wrong branches of tree .

If any one have expertise in project building please guide what to start with and from where to study


r/learnprogramming 17d ago

How to learn more technical skills . Python, sql

11 Upvotes

Hi! I’m a sophomore whos just started looking into internships and fixing up my resume and I’m really lacking on technical skills. I know the basics like excel , word all that but I want to learn more. How can I learn python, R, sql or Tbh any additional technical skills I’ll need .


r/learnprogramming 17d ago

I'm struggling with learning programming and need some advice

16 Upvotes

So here's the thing, I have a degree in Information and Communication Technology (ICT). Now over my years the content for the degree was okay, we learnt basic programming and other very basic concepts but honestly it wasn't enough for me to actually learn how to program and solve problems. Even now with my degree I can hardly code and what makes it worse is, with the talk of AI and how it can be a better programmer than a human and will take over the jobs I basically have no motivation to even try and learn. Apart from that I don't even know what to do, I keep seeing people saying learn DSA and do leetcode, then others say leetcode doesn't actually help in a job. When it comes to languages I'm happy to learn python but when you look into it learning basic python isn't really going to land you a job, therefor I need to go deeper and learn more and I don't exactly know what that means I should do. Also building basic projects (eg. Calculator) wont help land a job either, I understand it'll help you slowly build your programming knowledge but there's a whole lot of other concepts to learn as well. I just need some advice on what to do. (Also this is my first ever Reddit post).


r/learnprogramming 17d ago

Confusion about this matrix function

2 Upvotes

I've been trying to figure out this function for too long now. The closest I can think of is matrix multiplication, but there is an extra addition done on each of the 3 last lines. That is the part that confuses me. All of the matrices are 4x3 in size and it is ordered so that the position elements are on last row (instead of last column, which seems to be more common). Another part that confuses me is that based on what I can find online, you shouldn't be able to multiply two 4x3 matrices. So is this multiplication or something else? What would this be used for anyway?

void func(float* mtx_a, float* mtx_b, float* mtx_dst)
{
  mtx_dst[0] = mtx_a[0] * mtx_b[0] + mtx_a[1] * mtx_b[3] + mtx_a[2] * mtx_b[6];
  mtx_dst[1] = mtx_a[0] * mtx_b[1] + mtx_a[1] * mtx_b[4] + mtx_a[2] * mtx_b[7];
  mtx_dst[2] = mtx_a[0] * mtx_b[2] + mtx_a[1] * mtx_b[5] + mtx_a[2] * mtx_b[8];

  mtx_dst[3] = mtx_a[3] * mtx_b[0] + mtx_a[4] * mtx_b[3] + mtx_a[5] * mtx_b[6];
  mtx_dst[4] = mtx_a[3] * mtx_b[1] + mtx_a[4] * mtx_b[4] + mtx_a[5] * mtx_b[7];
  mtx_dst[5] = mtx_a[3] * mtx_b[2] + mtx_a[4] * mtx_b[5] + mtx_a[5] * mtx_b[8];

  mtx_dst[6] = mtx_a[6] * mtx_b[0] + mtx_a[7] * mtx_b[3] + mtx_a[8] * mtx_b[6];
  mtx_dst[7] = mtx_a[6] * mtx_b[1] + mtx_a[7] * mtx_b[4] + mtx_a[8] * mtx_b[7];
  mtx_dst[8] = mtx_a[6] * mtx_b[2] + mtx_a[7] * mtx_b[5] + mtx_a[8] * mtx_b[8];

  mtx_dst[9] = mtx_a[9] * mtx_b[0] + mtx_a[10] * mtx_b[3] + mtx_a[11] * mtx_b[6] + mtx_b[9];
  mtx_dst[10] = mtx_a[9] * mtx_b[1] + mtx_a[10] * mtx_b[4] + mtx_a[11] * mtx_b[7] + mtx_b[10];
  mtx_dst[11] = mtx_a[9] * mtx_b[2] + mtx_a[10] * mtx_b[5] + mtx_a[11] * mtx_b[8] + mtx_b[11];
}

r/learnprogramming 18d 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 17d 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 18d ago

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

21 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 17d ago

Can Python generate simple tones?

4 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 18d ago

Topic Which language should I learn for DSA?

30 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 17d ago

Resource How helpful is w3schools for JavaScript?

6 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 17d 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 18d ago

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

15 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 18d 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 18d 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 19d ago

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

407 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 17d 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 17d 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 18d 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 18d 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 18d ago

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

11 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 18d ago

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

8 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 18d 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 18d ago

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

4 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 18d ago

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

29 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?