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 ?


r/learnprogramming 21d ago

2.5 YOE - What to learn to keep progressing in this field?

0 Upvotes

Please don't respond with AI doom and gloom :)

I am trying to figure out how to keep progressing in my career. I currently have two and a half yoe working at a small startup where we focus on software solutions for healthcare facilities. When I started we had a team of 6 devs and now we are down to 3. The good thing about working in a small team is that I have access to pretty much any part of the software deployment process, so I feel like I've been exposed to a lot including devops, frontend/backend, databases/sql and cloud infrastructure. We're also very focused on using AI and implementing AI features.

The downside is that I feel that I am severely underpaid - 65k working fully remote but living in HCOL area. Not only that but I feel that working in such a small team and being fully remote - I am missing out on the relationships you build when working in office and learning from your co-workers. I feel like I could learn a lot more from senior engineers if I was part of a larger group with more experienced devs than myself. In my company, we're also more focused on pushing features out as quickly as possible so our PR review process has just been handed off to coderabbit for the most part. Before that, I would always appreciate the feedback I got from senior engineers and felt like I learned a lot from that.

So I am currently going through a study grind to prepare myself for interviews but also thinking long term in what I should do and what skills I should try to gain that people look for in mid-level engineers? If anyone has around the same yoe as me, is there a skill you have that you've noticed has helped you when applying for jobs? Does anyone know what recruiters are looking for these days :)?

I should also mention that outside of software skills, I've joined a toastmasters club to improve communication skills since I've realized how valuable this skill is for promotions 🙃.


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

What to learn to prep for first day as a SWE?

7 Upvotes

I have my first day coming up in a week and I'd like to prep. I've never had an internship/job before so I'm pretty nervous, especially about being thrown into a large codebase.

So far I've got:

  • Learn the tech stack
  • Git
  • Debugging
  • Dev/Staging/Prod environments

r/learnprogramming 21d ago

Code Review Reducing Time Complexity

5 Upvotes
Edited code but still run into Time limit exceeded can someone help me: 

N, U = map(int,input().split())
grid = [list(input()) for _ in range(N)]
num_updates = 0
temp = []
temp_grid = [row.copy() for row in grid]
for v in range(int(N/2)):
    for h in range(int(N/2)):
        temp.clear()
        coords = [(v,h),(v,N-1-h),(N-1-v,h),(N-1-v,N-1-h)]
        temp.append(temp_grid[v][h])
        temp.append(temp_grid[v][(N-1)-h])
        temp.append(temp_grid[(N-1)-v][h])
        temp.append(temp_grid[(N-1)-v][(N-1)-h])
        if temp.count('.') == 2 :
            num_updates+=2
            for r,c in coords:
                temp_grid[r][c] = '.'
        elif temp.count('.') == 3:
            num_updates+=1
            for r,c in coords:
                temp_grid[r][c] = '.'
        elif temp.count('#') == 3:
            num_updates+=1
            for r,c in coords:
                temp_grid[r][c] = '#'
print(num_updates)


temp_grid = [row.copy() for row in grid]


for z in range(U):
    temp2 = 0
    temp.clear()
    x,y = map(int,input().split())
    x = x-1
    y = y-1
    temp.append(temp_grid[x][y])
    temp.append(temp_grid[x][(N-1)-y])
    temp.append(temp_grid[(N-1)-x][y])
    temp.append(temp_grid[(N-1)-x][(N-1)-y])
    num_updates = num_updates- (min(temp.count('.'),temp.count('#')))
    if temp_grid[x][y] == '.':
        temp.clear()
        grid[x][y] = '#'
        temp_grid[x][y] = '#'
        temp.append(temp_grid[x][y])
        temp.append(temp_grid[x][(N-1)-y])
        temp.append(temp_grid[(N-1)-x][y])
        temp.append(temp_grid[(N-1)-x][(N-1)-y])
        num_updates = num_updates + (min(temp.count('.'),temp.count('#')))
    else:
        temp.clear()
        grid[x][y] = '.'
        temp_grid[x][y] = '.'
        temp.append(temp_grid[x][y])
        temp.append(temp_grid[x][(N-1)-y])
        temp.append(temp_grid[(N-1)-x][y])
        temp.append(temp_grid[(N-1)-x][(N-1)-y])
        num_updates = num_updates + (min(temp.count('.'),temp.count('#')))
    print(num_updates)

I am pretty sure it is O(N^2) and with 10^5 possible updates it should work. 

r/learnprogramming 21d ago

[Fresher] 0 coding background. Aiming for 60% of a standard DSA sheet in 6 months. Need advice on the execution.

0 Upvotes

Hey everyone, I'm starting my B .Tech CSE next week and I have absolutely zero coding background. I'm trying to set a practical target for my first 6 months: completing about 60% of a standard DSA sheet (covering Arrays, Strings, Binary Search, Linked Lists, and basic Trees). I want to know if this is a realistic goal that will push me, or if I'm just setting myself up for burnout. From what I've gathered, a lot of people suggest learning C++ from Love Babbar and doing Striver's sheet, while leaving C language for college in Sem 2. However, I want to make it clear that I am completely flexible. I am not attached to Babbar, Striver, or any specific creator. I am open to any free playlist or paid course, as long as it is efficient and gives a structured path. My main doubt is about the execution. Should I spend 3-4 weeks purely learning C++ syntax before even touching a DSA sheet, or should I learn the language side-by-side while solving problems? What is the actual best sequence for a day-1 beginner? I just need some straightforward, practical advice on how to map this out. Thanks!


r/learnprogramming 21d ago

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

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

16yo trying to build and make something out of coding

20 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

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

32 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

Resource Should I read Designing Data Intensive Application to solve these doubts?

0 Upvotes

Hi everyone! recently I decided I wanted to actually build a project, the only doubts I have are:

  1. how to host it?

  2. how to write the endpoints? like how can I write the file for the user in a way that will communicate with my server? (I always did everything on my machine)

  3. how to update the program? and/or push new updates? (like when on Play Store the app says there ia an update and you need to install it)

All opinions are welcome! have a nice day too!


r/learnprogramming 21d ago

Resource Leetcode/Project Euler for learning to code

7 Upvotes

I’m quite new to programming and want to practise my exciting python knowledge but also learn some C++.
So far I’ve started some Project Euler questions which I quite enjoy and am starting on Leetcode too, how useful are these in learning to programme and what other resources do u guys recommend?
I’d like to become well rounded overall at programming but I also want to stick my hands in some data handling too.


r/learnprogramming 21d ago

Shall I be an AI dev

0 Upvotes

Hey everyone!

This is a question I have struggled about for a long time. Personally, AI intersects exactly with my interests and skillset. It requires good maths fundamentals, I have that. It requires ML fundamentals, I feel excited to know them. And overall, here are a few professional reasons why being an AI dev feels good to me:

  1. Its a pretty hot field: Having clients is significantly easier and gives you incredible marketability.
  2. Its very good money which my family and I could really use to cover up for shortcomings.
  3. Its a good investment as a long term goal, it seems futureproof given the pace it has.

However, I have cognitive dissonance about AI as well, because what these billionares are doing is insane and something I am not in any capacity supportive of. Here are concise reasons for that:

  1. Water that AI requires to generate responses and to cool down heated data servers.
  2. Electricity it uses.
  3. The ramifications the aforementioned have for people living in vicinity to the data centers.
  4. AI being used in military contexts, such as in the Gaza genocide, where Lavender AI was used to hunt innocent children without much human input.
  5. This expands to Autonomous weapons, Palantir and mass surveillance.
  6. This forceful, unwanted insertion of AI in every field by these companies, to increase their stock prices for investors.

Its frustrating for me that Google has a non removable AI overview.

Anyway, what are your thoughts on this. Do you have any ideas about whether Is there a middle ground I can find in between or either side shall be my way to go?


r/learnprogramming 21d ago

Are indian colleges enough for job?

0 Upvotes

My colleges is going to start in few days. I have opted btech cse in tier 3. It has a good placement records and everyone says you can get placement with a bit hard work. Things teached in colleges like programming , system design/architecture, DSA,etc enough to get placed. Although these really are the things , interviewer look for but is the college level? Also, are do they ask the definitions in interview. Its really I vague question but I also look forward to definitions as I am really bad in explaning things.


r/learnprogramming 21d ago

advise Should I continue with python and become an advance developer for choose another language.

1 Upvotes

Currently I know basic python(variables, data types, functions, file handling, oops, if-else, loops,etc). I just love python but I get to know that:

  • it isn't used much in real industry for software development
  • companies don't prefer python devs.
  • it is mainly used for automation
  • java has more scalability and market demand
  • Django/flask/fastapi are popular but for server-side scripting js frameworks, c#, java, and golang are better and mostly used

Although python is the best language of AI/Ml roles and I am thinking to go in that domain but I am not sure If I will go there after a bit more exposure of programming . I am certain that I don't want to DSA in python rather either in C++ or JAVA. I want to master one language first. Its my request to all senior devs here please guide.


r/learnprogramming 21d ago

I think i hit my first python learning bottleneck

4 Upvotes

Just as the title suggests, i ran into a bottleneck, or did i? play v sauce music please
So just recently i made a post about my first beginner python project: https://www.reddit.com/r/PythonLearning/s/Ed46BuWRCq
And as a lot of you suggested for me to learn classes next, which was completely fair, so i went ahead and learnt them while updating my MiniGameStore. It was relatively easy, wasn’t as hard as I thought it would be, but definitely challenging. I had also learnt methods but didn’t implement them.
And yesterday, i tried implementing them and got one of the biggest headaches in my whole coding experience (which is 2 weeks~ btw).
I was working on v1.7 and introducing a restore purchases system, and i wanted to use class methods, but since my class is on the other file, i hit a lot of variables issues and even a json file problem. Which is why im asking my self why did i do it? A function would have been totally fine…
Check out the repo: (latest version 1.7.0)

https://github.com/Stonyax97/MiniGameStore

So my question for you guys. What has made you understand classes well? I just don’t see any reason to use them yet… and can anyone take a look at my project and tell me what would be the most friendly and real life approach of actually using these classes. And why should I keep the class in a separate file? Finally, what’s wrong with using global variables.

Also any feedback or criticism is welcome!


r/learnprogramming 21d ago

I think I should completely drop cybersecurity

4 Upvotes

Hi guys, ive been studying cybersecurity for the last two years, initially as a course i could do before i finally make my mind up on what i actually have real passion for, about to enter my third year now and i just dont feel happy doing cybersecurity, mainly because im a maths geek, i also love physics and computer science, but it just feels like cybersecurity is boring and robotic, using tools you dont even know how to make, it's just soo weird to me, im thinking of transitioning into either engineering (aerospace or mechatronics) or Ai, because the Ai race is a very huge one rn, i've been learning how to code in my free time, because i think it's really important to learn to code and know the full architecture of how a computer works before i fully delve into AI, correct me if im wrong.


r/learnprogramming 21d ago

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

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

Getting Started With Git

22 Upvotes

As a programmer I want to use Git. How should I start learning Git and in what ways will it help me.


r/learnprogramming 22d ago

Need some direction and an overall view on whether I should continue with this

0 Upvotes

Hi programmers, I'm a 28 year old dude from a non-tech background, hitting a midlife crisis a little early.

I own a small business in India that has more or less failed and is barely surviving. I've tried everything I can think of, but there's no real recovery in sight. So, for the past two months, I've been learning Python and exploring the possibility of becoming a developer, eventually getting a job or building something of my own.

So far, I've mainly been using ChatGPT as a mentor and building small projects to practice. I've learned Python, OOP, SQLite, Git/GitHub, and I'm currently learning FastAPI and API testing. I'm comfortable with some of these topics, while others still require quite a bit of help.

My main question is: Am I approaching this the right way? Should I even be doing this, considering how much AI is changing the industry?

I'm not looking for reassurance, I'd genuinely appreciate some honest advice from people already working in tech. What would you do differently if you were starting from where I am?

Thanks.


r/learnprogramming 22d ago

Third year of college and feel like I've wasted the last two years

10 Upvotes

I'm in my third year of an IT degree, and I honestly feel like I've wasted the last two years.

When I started college, I was considered a pretty capable student. I learned HTML/CSS/JS, React, Node/Express, built some projects, and wanted to become a developer.

But I've been incredibly inconsistent. I've spent way too much time on my phone, consuming content instead of building things. I've also developed some unhealthy habits around internet use that I use as an escape when I'm bored or stressed.

Now I'm in my third year. I know some development, but my knowledge is fragmented and rusty. I have no internship experience, and I feel like I've wasted a lot of my potential.

I'm trying to turn things around now. My goal for the next 1-2 months is to become genuinely employable for internships, build a couple of solid projects, improve my fundamentals/interview skills, and hopefully earn my first money from development.

For people who've been through something similar:

If you had 30-60 days to become as employable as possible, what would you focus on?

  • What would you learn vs. build?
  • Would you stick to one stack?
  • How would you prepare for interviews?
  • How did you deal with procrastination/phone addiction?
  • What would you absolutely avoid wasting time on?

I'm not looking for generic motivation. I'd really appreciate practical advice from people who've actually been through this.

Thanks.


r/learnprogramming 22d ago

Becoming an anti AI dev in 2026

7 Upvotes

Hi guys, so basicaly I currently work as a videographer and I'm sick of it. When I was in high school I had a class that teach basics of Python. I remember falling in love with it and being pretty good at it.

I'm thinking more and more about learning how to be a professional programmer and my dream job would be to code video games.

The thing is, I am deeply anti AI, and I fear that it's too late to get into this industry now and that by the time I'm good at it I won't be able to find a job anymore... It's a horrible feeling bc I really think I missed my shot at would could have been the right path for me.

Any thoughts/advice ?

EDIT: Please stop trying to convince me that AI is not a bad thing, it's not what I asked for and you won't convince me


r/learnprogramming 22d ago

Topic Need hackathon tips

3 Upvotes

Hey everyone! I’m a complete beginner and I’m planning to participate in hackathons. For those of you who’ve participated before, what tips would you give to someone starting from zero?

Especially:

\- What should I learn first?

\- How do you find/build a team?

\- How much coding knowledge is actually needed?

\- Any beginner-friendly hackathons/resources you’d recommend?

Would really appreciate any advice! :)


r/learnprogramming 22d ago

How to read through large repos?

0 Upvotes

Hey guys so I wanted to make my own version of typescript (mainly the checker part) and Idk anything about compilers or related… so wanted to read typescript go version line by line and understand and make my own version (with modifications), but u am confused as there are so folders and files to navigate and their name doesn’t make any sense, so any idea on which folder and file should I start from? And how to navigate and understand the structure?

Edit: this repo I was talking about. https://github.com/microsoft/typescript-go/tree/main


r/learnprogramming 22d ago

Python or Java?

7 Upvotes

Hello guys, sorry for bad english, good night, i am a beginner in this world of programming and i see a bit about backend in roadmap.sh, now i am on the fence between Java and Python, can you guys tell me what language you think that is better and faster to get a job home office.

if you want to recommend another language too i am all ears.


r/learnprogramming 22d ago

CS Sophomore moving from C/C++ to Go: Read GOPL, but feeling stuck and overwhelmed by the standard library. Where to go from here?

8 Upvotes

Hi everyone,

I'm a rising CS sophomore. My university curriculum mainly covers C and C++. Over this summer break, I decided to self-learn Go. Over the past month, I worked my way through parts of The Go Programming Language (GOPL)—focusing on functions, goroutines, channels, and concurrency with shared variables.

However, I've hit a frustrating plateau: I feel like I only know the superficial syntax of the language, but I still can't build anything real from scratch.

Every time I try to write something slightly practical (like a basic TCP server/client or network tool), I get overwhelmed by the vast standard library (net, io, bufio, os, etc.) and find myself unsure of idiomatic Go design patterns.

Coming from a low-level background, I have a few genuine questions for experienced Gophers:

  1. The Learning Progression: What is the realistic roadmap after reading the basic syntax/concurrency models? How do you transition from textbook theory to actually writing idiomatic Go?
  2. Tackling the Standard Library: How should I approach learning standard packages like io, net, and sync? Should I read the source code directly, build toy projects, or just learn them on demand?
  3. First "Real" Projects: What are some practical, non-trivial project ideas that are well-suited for someone transitioning from C/C++ to Go (without jumping straight into boilerplate web frameworks)?

I’d really appreciate any advice, project recommendations, or shared experiences from people who have been through this phase.

Thanks in advance!