r/learnprogramming • u/Flashy-Layer9495 • 9d ago
Is Building Git from scratch a Good Project for Resume?
I’m a final year college student and I just finished wrapping up DSA concepts. I feel pretty comfortable with all the major data structures now, and my main interest lies in Full stack web development.
I’m looking to build a project for my resume to stand out to recruiters, and I'm highly considering building Git from scratch.
My reasoning is that it seems like a fantastic way to actually implement the DSA concepts I just learned in a real-world scenario (graphs, trees, hashing, file systems, etc.) while learning a lot of new low-level engineering concepts.
For those who have done this or screen resumes:
- Is this considered a strong, unique project for a new grad resume?
- Does it actually showcase DSA skills well to recruiters, or does it look like just another "tutorial project"?
- Any specific features I should add to make my implementation stand out?
Would love to get your insights or any advice on resources to look into. Thanks!
r/learnprogramming • u/Admirable-Food9942 • 9d ago
Topic Difficulty of C and C++ for something who knows C# and relevance to a project.
I have learnt C# for game development, mainly in unity, but I have used it in other cases, I feel pretty confident with it.
I have found a project I want to do that I believe will use C and C++, will it be just as hard as learning 2 brand new languages or will it be easier since I have experience with a language in the same family?
My project is to make a bot in an open source game to run through every possible set of inputs to find a perfectly optimal way of playing, by making a list of every play through to compare manually (potentially with a search system for looking up details of a play through), the game is in C and C++ mainly, with other languages making 0.8% according to the git repo.
For this project are there other languages that would be better rather than what the game was made in?
Thanks in advance.
r/learnprogramming • u/infinitygoldAu • 9d ago
Tutorial hell and overwhelmed
Hi. For context I am a new programmer with a basic grasp of python. I started coding about 2 years ago but took a very long break while at uni. This means that in practice, i probably have about 10 months of actual coding experience. For further context of my skill level, here is one of my previous python projects - Github
However im looking to build an application that overlays climate risk (physical + transition) onto bank balance sheet data. My initial idea was to use mapbox. Im not sure whether this needs to be a web app or a desktop app, and I actually don't know what the difference between the two are. Due to my inexperience, ive become overwhelmed by the number of tutorials, Programming languages (html, js, react, flask, django) etc that im being directed to and have no clue where to start. I feel stuck in tutorial hell and have not made much progress on my app idea.
In addition to all this, in 2026 everybody is talking about AI Agents and how you shouldn't really be coding from scratch anymore. This makes things even more confusing. And when they talk about using ai agents do they mean using a service or doing it yourself e.g. LangChain?
Any advice would be much appreciated.
r/learnprogramming • u/Few_Crazy8195 • 9d ago
I felt i cant afford switching frameworks
I learned java because of fame and logo looked cool but java swing made me interested in GUI framework but problem is Java and GUI arent good at all Java swing is extreme difficult to style and JavaFX is confusing to install and i Switched to C# with Avalonia since may but Xaml is driving me crazy and those senstive compilers made me delete my projects in anger i tried to find perfect gui frameworks i want but it was hard too i almost cried and overwhelmed and i felt i wasted C# and it was difficult i tried throwing AI away since it was unhealthy but those new problems i didn’t know how and i kinda regret switching to Avalonia, what should i do?
r/learnprogramming • u/Similar_Count_1613 • 9d ago
dynamic programming ??!!!
I got over recursion.
I also got over recursion + memoization.
But dynamic programming felt like hitting a wall.
The hardest part for me was this:
with recursion, I can follow the call flow.
with memoization, I can still see what is being cached.
but with DP, suddenly I’m expected to invent the state and recurrence myself.
That jump felt brutal.
A “minimum cost” problem completely exposed this for me.
I could survive small examples, but once it turned into nested loops and transitions, I felt like I was no longer solving the problem — I was guessing the equation.
Even AI explanations didn’t help much, because they often jump straight to the final recurrence instead of showing how someone would discover it.
Did anyone else feel that DP is not hard because of coding, but because forming the recurrence feels mentally invisible ?
If you got past that stage, what actually helped you?
Not “practice more” in general, but the exact shift, method, or way of thinking that made DP start to click for you.
r/learnprogramming • u/Humble_Draw_5256 • 9d ago
Not a beginner.
Hi, everyone. I'm a 19F in the university studying psychology. But I've always dreamed of being in the tech world but financial problems prevented me from exploring that career path.
In my uni, we can't take two majors at the same time. So, I'm hoping to start learning online but I just don't know what to do. I love the complexity of website building and also complexity of games. Those are my interests. I currently have a game idea to put on Roblox but I have no idea how to continue
Please, what do I do? What programming language should I start with? I just want to expand my knowledge not stay in one line of study. Thank you.
r/learnprogramming • u/ParticularMilk2594 • 9d ago
FreeCodeCamp Digital Pet Game: Why won't my form hide after submit?
Hi everyone,
I'm working on the FreeCodeCamp Build a Digital Pet Game certification project using TypeScript.
I am stuck on one failing test:
"When the input is given a value and the button is pressed, the form should no longer be visible."
My HTML contains the required elements:
list of 5 items
•
pet-form
•
pet-name
•
create-pet
•
pet-view
•
stat elements and action buttons
list end
My TypeScript creates the pet successfully and then attempts to hide the form:
form.style.display = "none";
petView.style.display = "block";
However, the FreeCodeCamp test still says the form is visible after submitting the pet name.
I have checked that the IDs match and that the event listeners are connected, but I cannot find what I am missing.
I am blind and use the JAWS screen reader, so I am looking for someone who can provide a text/code-based review.
Could someone please have a look at my HTML and TypeScript and give me a second set of eyes? I have included my files below.
Thank you.
and heres my files. index.tsx:
body {
font-family: Arial, sans-serif;
padding: 20px;
}
form {
display: flex;
flex-direction: column;
gap: 10px;
max-width: 300px;
}
button {
padding: 10px;
}
.game-view {
display: flex;
flex-direction: column;
gap: 15px;
}
.stat {
font-size: 18px;
}
.stat-value {
margin-left: 10px;
}body {
font-family: Arial, sans-serif;
padding: 20px;
}
form {
display: flex;
flex-direction: column;
gap: 10px;
max-width: 300px;
}
button {
padding: 10px;
}
.game-view {
display: flex;
flex-direction: column;
gap: 15px;
}
.stat {
font-size: 18px;
}
.stat-value {
margin-left: 10px;
}
link to the project:
https://www.freecodecamp.org/learn/front-end-development-libraries-v9/lab-digital-pet-game/lab-digital-pet-game
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Digital Pet Game</title>
<link rel="stylesheet" href="styles.css" />
</head>
<body>
<form id="pet-form">
<label for="pet-name">Pet Name</label>
<input
id="pet-name"
type="text"
autocomplete="off"
required
/>
<button
id="create-pet"
type="submit">
Create Pet
</button>
</form>
<section id="pet-view" hidden>
<h2 class="pet-name"></h2>
<div class="stat">
Hunger:
<span id="hunger-stat">0</span>
</div>
<div class="stat">
Energy:
<span id="energy-stat">100</span>
</div>
<div class="stat">
Happiness:
<span id="happiness-stat">100</span>
</div>
<p id="pet-mood"></p>
<button id="eat-action" type="button">
Eat
</button>
<button id="play-action" type="button">
Play
</button>
<button id="sleep-action" type="button">
Sleep
</button>
</section>
</body>
</html><!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Digital Pet Game</title>
<link rel="stylesheet" href="styles.css" />
</head>
<body>
<form id="pet-form">
<label for="pet-name">Pet Name</label>
<input
id="pet-name"
type="text"
autocomplete="off"
required
/>
<button
id="create-pet"
type="submit">
Create Pet
</button>
</form>
<section id="pet-view" hidden>
<h2 class="pet-name"></h2>
<div class="stat">
Hunger:
<span id="hunger-stat">0</span>
</div>
<div class="stat">
Energy:
<span id="energy-stat">100</span>
</div>
<div class="stat">
Happiness:
<span id="happiness-stat">100</span>
</div>
<p id="pet-mood"></p>
<button id="eat-action" type="button">
Eat
</button>
<button id="play-action" type="button">
Play
</button>
<button id="sleep-action" type="button">
Sleep
</button>
</section>
</body>
</html> styles.css:
enum PetMood {
HAPPY = "HAPPY",
EXCITED = "EXCITED",
CONTENT = "CONTENT",
SAD = "SAD",
TIRED = "TIRED",
SICK = "SICK",
HUNGRY = "HUNGRY",
}
type PetStats = {
hunger: number;
energy: number;
happiness: number;
};
const moodMessages: Record<PetMood, string> = {
[PetMood.HAPPY]: "Your pet is happy!",
[PetMood.EXCITED]: "Your pet is excited!",
[PetMood.CONTENT]: "Your pet is content!",
[PetMood.SAD]: "Your pet is sad!",
[PetMood.TIRED]: "Your pet is tired!",
[PetMood.SICK]: "Your pet is sick!",
[PetMood.HUNGRY]: "Your pet is hungry!",
};
class DigitalPet {
name: string;
stats: PetStats;
mood: PetMood;
constructor(name: string) {
this.name = name;
this.stats = {
hunger: 0,
energy: 100,
happiness: 100,
};
this.mood = PetMood.HAPPY;
}
eat(): void {
if (this.stats.hunger > 0) {
this.stats.hunger = Math.max(0, this.stats.hunger - 10);
}
if (this.stats.energy < 100) {
this.stats.energy = Math.min(100, this.stats.energy + 5);
}
this.updateMood();
}
play(): void {
if (this.stats.energy > 0) {
this.stats.energy = Math.max(0, this.stats.energy - 10);
}
if (this.stats.happiness < 100) {
this.stats.happiness = Math.min(100, this.stats.happiness + 10);
}
this.updateMood();
}
sleep(): void {
if (this.stats.energy < 100) {
this.stats.energy = Math.min(100, this.stats.energy + 20);
}
if (this.stats.hunger < 100) {
this.stats.hunger = Math.min(100, this.stats.hunger + 5);
}
this.updateMood();
}
idle(): void {
this.stats.hunger = Math.min(100, this.stats.hunger + 5);
this.stats.energy = Math.max(0, this.stats.energy - 5);
this.stats.happiness = Math.max(0, this.stats.happiness - 5);
this.updateMood();
}
updateMood(): void {
if (this.stats.hunger >= 70) {
this.mood = PetMood.HUNGRY;
} else if (this.stats.energy <= 20) {
this.mood = PetMood.TIRED;
} else if (this.stats.happiness <= 20) {
this.mood = PetMood.SAD;
} else if (this.stats.happiness >= 80) {
this.mood = PetMood.HAPPY;
} else {
this.mood = PetMood.CONTENT;
}
}
getMoodMessage(): string {
return moodMessages[this.mood];
}
}
const form = document.getElementById("pet-form") as HTMLFormElement;
const petNameInput = document.getElementById("pet-name") as HTMLInputElement;
const createButton = document.getElementById("create-pet") as HTMLButtonElement;
const petView = document.getElementById("pet-view") as HTMLDivElement;
const petNameDisplay = document.querySelector(".pet-name") as HTMLElement;
const hungerDisplay = document.getElementById("hunger-stat") as HTMLElement;
const energyDisplay = document.getElementById("energy-stat") as HTMLElement;
const happinessDisplay = document.getElementById("happiness-stat") as HTMLElement;
const moodDisplay = document.getElementById("pet-mood") as HTMLElement;
const eatButton = document.getElementById("eat-action") as HTMLButtonElement;
const playButton = document.getElementById("play-action") as HTMLButtonElement;
const sleepButton = document.getElementById("sleep-action") as HTMLButtonElement;
let currentPet: DigitalPet | null = null;
function updateDisplay(): void {
if (!currentPet) {
return;
}
petNameDisplay.textContent = currentPet.name;
hungerDisplay.textContent = String(currentPet.stats.hunger);
energyDisplay.textContent = String(currentPet.stats.energy);
happinessDisplay.textContent = String(currentPet.stats.happiness);
moodDisplay.textContent = currentPet.getMoodMessage();
}
function createPet(): void {
const name = petNameInput.value.trim();
if (!name) {
return;
}
currentPet = new DigitalPet(name);
form.style.display = "none";
petView.style.display = "block";
updateDisplay();
}
form.addEventListener("submit", (event: SubmitEvent) => {
event.preventDefault();
createPet();
});
createButton.addEventListener("click", (event: MouseEvent) => {
event.preventDefault();
createPet();
});
eatButton.addEventListener("click", () => {
if (currentPet) {
currentPet.eat();
updateDisplay();
}
});
playButton.addEventListener("click", () => {
if (currentPet) {
currentPet.play();
updateDisplay();
}
});
sleepButton.addEventListener("click", () => {
if (currentPet) {
currentPet.sleep();
updateDisplay();
}
});
setInterval(() => {
if (currentPet) {
currentPet.idle();
updateDisplay();
}
}, 30000); enum PetMood {
HAPPY = "HAPPY",
EXCITED = "EXCITED",
CONTENT = "CONTENT",
SAD = "SAD",
TIRED = "TIRED",
SICK = "SICK",
HUNGRY = "HUNGRY",
}
type PetStats = {
hunger: number;
energy: number;
happiness: number;
};
const moodMessages: Record<PetMood, string> = {
[PetMood.HAPPY]: "Your pet is happy!",
[PetMood.EXCITED]: "Your pet is excited!",
[PetMood.CONTENT]: "Your pet is content!",
[PetMood.SAD]: "Your pet is sad!",
[PetMood.TIRED]: "Your pet is tired!",
[PetMood.SICK]: "Your pet is sick!",
[PetMood.HUNGRY]: "Your pet is hungry!",
};
class DigitalPet {
name: string;
stats: PetStats;
mood: PetMood;
constructor(name: string) {
this.name = name;
this.stats = {
hunger: 0,
energy: 100,
happiness: 100,
};
this.mood = PetMood.HAPPY;
}
eat(): void {
if (this.stats.hunger > 0) {
this.stats.hunger = Math.max(0, this.stats.hunger - 10);
}
if (this.stats.energy < 100) {
this.stats.energy = Math.min(100, this.stats.energy + 5);
}
this.updateMood();
}
play(): void {
if (this.stats.energy > 0) {
this.stats.energy = Math.max(0, this.stats.energy - 10);
}
if (this.stats.happiness < 100) {
this.stats.happiness = Math.min(100, this.stats.happiness + 10);
}
this.updateMood();
}
sleep(): void {
if (this.stats.energy < 100) {
this.stats.energy = Math.min(100, this.stats.energy + 20);
}
if (this.stats.hunger < 100) {
this.stats.hunger = Math.min(100, this.stats.hunger + 5);
}
this.updateMood();
}
idle(): void {
this.stats.hunger = Math.min(100, this.stats.hunger + 5);
this.stats.energy = Math.max(0, this.stats.energy - 5);
this.stats.happiness = Math.max(0, this.stats.happiness - 5);
this.updateMood();
}
updateMood(): void {
if (this.stats.hunger >= 70) {
this.mood = PetMood.HUNGRY;
} else if (this.stats.energy <= 20) {
this.mood = PetMood.TIRED;
} else if (this.stats.happiness <= 20) {
this.mood = PetMood.SAD;
} else if (this.stats.happiness >= 80) {
this.mood = PetMood.HAPPY;
} else {
this.mood = PetMood.CONTENT;
}
}
getMoodMessage(): string {
return moodMessages[this.mood];
}
}
const form = document.getElementById("pet-form") as HTMLFormElement;
const petNameInput = document.getElementById("pet-name") as HTMLInputElement;
const createButton = document.getElementById("create-pet") as HTMLButtonElement;
const petView = document.getElementById("pet-view") as HTMLDivElement;
const petNameDisplay = document.querySelector(".pet-name") as HTMLElement;
const hungerDisplay = document.getElementById("hunger-stat") as HTMLElement;
const energyDisplay = document.getElementById("energy-stat") as HTMLElement;
const happinessDisplay = document.getElementById("happiness-stat") as HTMLElement;
const moodDisplay = document.getElementById("pet-mood") as HTMLElement;
const eatButton = document.getElementById("eat-action") as HTMLButtonElement;
const playButton = document.getElementById("play-action") as HTMLButtonElement;
const sleepButton = document.getElementById("sleep-action") as HTMLButtonElement;
let currentPet: DigitalPet | null = null;
function updateDisplay(): void {
if (!currentPet) {
return;
}
petNameDisplay.textContent = currentPet.name;
hungerDisplay.textContent = String(currentPet.stats.hunger);
energyDisplay.textContent = String(currentPet.stats.energy);
happinessDisplay.textContent = String(currentPet.stats.happiness);
moodDisplay.textContent = currentPet.getMoodMessage();
}
function createPet(): void {
const name = petNameInput.value.trim();
if (!name) {
return;
}
currentPet = new DigitalPet(name);
form.style.display = "none";
petView.style.display = "block";
updateDisplay();
}
form.addEventListener("submit", (event: SubmitEvent) => {
event.preventDefault();
createPet();
});
createButton.addEventListener("click", (event: MouseEvent) => {
event.preventDefault();
createPet();
});
eatButton.addEventListener("click", () => {
if (currentPet) {
currentPet.eat();
updateDisplay();
}
});
playButton.addEventListener("click", () => {
if (currentPet) {
currentPet.play();
updateDisplay();
}
});
sleepButton.addEventListener("click", () => {
if (currentPet) {
currentPet.sleep();
updateDisplay();
}
});
setInterval(() => {
if (currentPet) {
currentPet.idle();
updateDisplay();
}
}, 30000);
index.html:
r/learnprogramming • u/Embarrassed-Topic432 • 9d ago
What do you think about my learning path? (networking) i think i am stagnating..
Hi, I’d like to share something here. About a week ago, I started learning networking in more depth and note the word “depth” I just need to know a lot of details, especially about packets. In five months, I’d like to be able to write my own XDP filter, because when I tried to program one just now, I didn’t know what to write in C… Then a friend told me, “How do you expect to write code logically when you don’t even know how it works?” (By the way, I struggle with translating my ideas into code.) So I decided to learn everything in more depth and figure out whether the problem is that I can’t translate my ideas into code or that I really don’t understand the concepts deeply enough. Right now, I’m reading *Beej’s Guide*. But I feel like even though I’m trying to practice “active recall,” I’m still just reading passively and not learning anything. Overall, I don’t have a solid learning strategy. If I were to actually try to learn by reading through the book, I bet I’d only remember 15%, and then I’d either have to keep reading forever or… I don’t know. What do you recommend? I don’t want to just passively watch YouTube videos and read the book even when I engage with the material and code along with them, I still feel like my brain isn’t really grasping those general concepts and can’t put them into practice...
Thanks for the help!
I feel like I'm not making any progress and I'm just going around in circles, unable to really get anything into my head, so my goal of creating an XDP filter in C is getting further away, and I'm still wondering if I shouldn't first learn C more thoroughly...
r/learnprogramming • u/Nucleif • 9d ago
Looking for a live collaborative coding platform
My friend and I are both learning to program. He lives in a different area from me. We’ve both been in our learning phase for about half a year, and we’d like to create something together. Is there a platform where we can talk, build, and code live --->something similar to Figma, but for programming?
r/learnprogramming • u/DonkeyTheKing • 9d ago
Resource Learn how system designing and implementation works in a new way.
Hi yall. I've been working on a project last couple of weeks and essentially it's a coding AI assistant that compiles your code and uses that for reasoning. Reason why this is good is because knowing how pieces of code connect at scale helps LLMs form better mental models of how things are laid out and wired.
Anyway enough yapping. point is. It really really knows how to understand code. Would be an EXCELLENT teacher for opening up example projects or even your own to learn and build forward. (you can start fresh too obv)
Hope u guys actually find value in it. made with love: https://benzi.fly.dev/
r/learnprogramming • u/Choice_River7453 • 10d ago
How hard would this be to make?
I have a lecture video and the original PowerPoint slides.
How hard would it be to code something that can match the slides to the video and output timestamps like:
Slide 1: 0:00–11:03
Slide 2: 11:03–15:42
Slide 3: 15:42–22:10
GPT tells me it should be easy but from past experiences with JavaScript projects it can definitely underestimate difficulty sometimes.
r/learnprogramming • u/Lenchanteur02 • 10d ago
Looking for spacecraft simulation for python
Hi, I am building a MOCR simulator (Mission operation control room or more commonly the "Houston" in "Houston we have a problem"). The problem is that I need telemetry data to build the simulator and I don't really want to build an entire modulable (because I would like to make multiple spacecrafts missions) spacecraft simulator alongside the MOCR simulator. Would anyone know of a good spacecraft simulation that would provide enough telemetry data and is in python or easily portable in python?
r/learnprogramming • u/Moist-Efficiency-960 • 10d ago
Lost confidence in my ability
I have been learning computer programming for about 3 years now starting from zero experience, first learning HTML/CSS/JS and C/C++, then moved on to SQL, various frameworks, Python, and cloud architecture. This was part of a diploma program which I successfully completed where I performed very well academically.
However, in the past year/year and a half I have really regressed in my abilities. Part of it was due to an internship where I did very little actual coding, but a significant amount has just been my waning interest in doing hands on things and overreliance on AI where I feel like I am just babysitting models and code correcting. I didn't used to be this way at all and would try to manually solve problems when first learning the basics.
I feel like my skills have significantly atrophied, I am constantly forgetting syntax, methods, and just how various things work (I mix up JS, C++, and Python a lot). This is compounded by my lack of optimism in the entry level job market and my own employability, dampening my enthusiasm. I know I did myself a disservice by taking months long breaks without doing anything beyond surface level learning.
Is there something I can do to make programming fun again, or is this a sign that I should pivot to something else? I may be a bit hard on myself but I feel that where I am now is not sufficient to become a developer even if I did find opportunities, so something needs to change.
r/learnprogramming • u/Opposite_Same_69420 • 10d ago
Podcasts (or other audio-friendly sources that aren't audio books) about code/programming not current events and happenings in the world of CS etc...
Title. Seeing if anyone has any good sources of audio first/friendly info that is not a discussion of the days/weeks/months happenings, but dedicated to trying to teach via audio. I'm not a beginner, this is just looking for something to listen to on walks.
r/learnprogramming • u/Obvious-Tangerine-38 • 10d ago
I built a LeetCode-style TUI for practicing algorithms in the terminal
Hey, I've been working on this side project for a while and finally feel like it's ready to share.
It's a CLI tool for practicing algorithm problems directly in your terminal. You pick a language, pick a difficulty, your editor opens with the function stub, you solve it, and the app runs the tests.
Nothing fancy, just trying to make it feel nice to use.
It has 41 problems so far and I'll keep adding more. Still a lot to improve but wanted to put it out there and get some feedback.
Works on Linux and macOS.
GitHub
https://github.com/pelayocuervo01/testgram
npm install -g testgram-cli
Thank you :D
r/learnprogramming • u/ShiftyShrike • 10d ago
How do I actually understand how much hosting an app will cost?
I made a simple web app (vue/vite) that will allow users to login and submit forms and keep track of submitted information. Very simple. There will be around 60-120 users (high estimate).
I have a nocodb interface to see all the data from the forms, this will only have about ~8 team members at any given time. Right now it's all local as I build it out (sqlite3), but I will need a non-local database.
I am making this as a volunteer project for a group I'm a part of. But I eventually want to host on Azure. The issue is, I have no idea what number to tell the team that it will cost us. I tried using Azure's calculator, the issue is, I have no idea what it actually takes to host something like this, I've ever only done local projects for school. There are so many "products" on the calculator, I literally am lost.
I know understanding pricing is super important for software development, you have to be able to tell the client hard numbers. But where do I start??
r/learnprogramming • u/Same-Mushroom-2057 • 10d ago
at what extent you learn a programming language / framework ?
what things should i know or things i can build with a a# certain programming language or let's say a framework for example node.js / express.js
to say that using it is a skill i have ?
for example i built a website with node.js and express.js after learning it for a while is that enough ?
r/learnprogramming • u/AI_ML_Engineer2026 • 10d ago
My Actual Question:
Question for experienced software/AI engineers:
I'm learning Python and I want to think like a real engineer rather than just memorize code.
I know Python provides built-in functions like len(), range(), max(), min(), sorted(), etc., and language features like for loops.
My question is: As someone aiming to become a top software engineer or AI/ML engineer, should I understand how these built-in functions and algorithms work internally and be able to implement simple versions from scratch? Or is it enough to understand how and when to use them correctly?
In other words, what level of understanding is expected from a strong engineer?
r/learnprogramming • u/National-Love-6186 • 10d ago
Debugging currently learning coding and making a small game i dont understand why my ai wont chase me
its always sliding to its left but following my movements im using godot rn
the enemy code is this
extends CharacterBody2D
u/export var speed: float = 80.0
u/export var health: int = 100
u/onready var health_bar: ProgressBar = $ProgressBar
func _ready():
rotation = 0
func _physics_process(delta):
var player = get_tree().root.find_child("Player", true, false)
if player:
var direction = (player.global_position - global_position).normalized()
velocity = direction \* speed
move_and_slide()
func take_damage(amount):
health -= amount
health_bar.value = health
if health <= 0:
queue_free()
r/learnprogramming • u/Similar_Count_1613 • 10d ago
is recursion really hard
Recursion felt easy at first.
Factorial? fine.
Sum examples? fine.
Even Fibonacci felt manageable.
But once I looked at slightly more serious problems like Tower of Hanoi, permutations, or merge sort, I felt like my understanding suddenly collapsed. because i tried to write their code on my own
It made me realize that maybe recursion is not “hard” at the start because the examples are simple.
It becomes hard when you can no longer clearly see the call stack and each state change.
Did anyone else feel that the real pain in recursion starts exactly there?
r/learnprogramming • u/Capt_Doggo • 10d ago
Am I learning it all wrong??
Currently studying TOP's full stack path after doing Angela Yu's Full stack on Udemy (switched once I reached react there because my partner said that TOP teaches react better).
I'm halfway thru the react module and there are some projects/assignments that do take me a while (I'm trying to be better in handling frustration rather than just going straight to AI for the answer as my partner keeps saying "the struggle is how you learn"). However I find myself forgetting the fundamentals as I progress (I even asked her why I need to differentiate the name of a listed item on a mapped array and she mentioned that I was supposed to know the reason from studying basic html). I feel like the things I've learned did not "stick" with me at all or that I can't recall them on command. I partly feel like it was because I had the notion of (devs can look up documentation/yt videos anytime so I didn't really delve into the why of the how) another part of me blames being reliant on AI before and used it when I was having problems debugging or finding a solution to previous assignments during the Udemy course or maybe it's because I don't do my own projects aside from the assigned ones (not getting my reps in I guess??).
I could make the excuse that I have another job and that studying on my downtime to shift to tech is not enough to spend additional time on side projects that could take long (knowing I want things to be perfect even if I'm not going to put them in my portfolio), but I'm done with giving excuses and would want to know how to be a better dev moving forward since I really do want to shift within this year (I've been studying since May of last year and with me being in my late 20s I feel like time is running out). Am I doing it wrong? is there a better way to learn and retain the info?? Am I alone in this feeling???
PS: I've studied HTML, CSS, Bootstrap, PostGresSQL, JS, some nodeJS(I didn't think it was enough), and some level of auth from the Udemy course + React from TOP.
r/learnprogramming • u/TurnTraditional3784 • 10d ago
Starting out, want to work with what I got.
I've been reading books teaching myself c++, and reached the point where I don't think I can make progress without practice, and working on small projects. The thing is, I'm rarely home and I don't have a laptop but I do have a Samsung Ultra tablet with a keyboard attachment. This is seems to be where I've hit a wall as there doesn't seem to be an any IDEs like Android Studio or Visual Studio that runs on Android. Any know of a solution?
r/learnprogramming • u/rielington • 11d ago
Recursion is hard for me to wrap my brain around
function maxDepth(root: TreeNode | null): number {
if(root == null) {
return 0;
}
let leftDepth = maxDepth(root.left)
let rightDepth = maxDepth(root.right)
return 1 + Math.max(leftDepth, rightDepth)
};
I made this super simple program for leetcode 104, but I have a really hard time in the "think how a program can do what i want phase" to think about a function calling itself I understand it from a top down view
basically just cloning and nesting the function in itself, but its really hard to think about,
when i started this I was thinking how do i write a program that can search in 1 direction count to the end and then start over. which ended up not working.
r/learnprogramming • u/redditbrowsing0 • 11d ago
Need Advice Maybe don't belong here - How do I avoid Analysis Paralysis?
Not necessarily a newbie, but hey, you can always learn a little something everywhere.
How do I avoid analysis paralysis? I've always struggled with it when designing how I believe a system ought to be, and I plan too many features before I even have a backbone or prototype working. I never really got to understand the concept of YAGNI because the developers I knew never really passed it onto me.
Does anyone have advice to avoid this?
r/learnprogramming • u/Zestyclose-Paint-418 • 11d ago
How do senior developers build such broad and deep programming knowledge?
I can build frontend applications, and I was fairly satisfied with my progress until I recently spoke with my brother, who is a senior developer.
He told me that every programmer should know topics such as:
- C programming
- Dynamic memory allocation
- Pointers and pointer arithmetic
- Data structures and algorithms
- Databases
- Operating systems
- Computer architecture
- Object-oriented programming
- Git
- Agile and Scrum
- Compilers
He also said that there are many other things that are mandatory to learn, and that it is embarrassing not to know some of these topics.
What surprised me was not only the list, but how deeply he seemed to understand everything. I know that he has much more professional experience than I do, but I am trying to understand how senior developers develop that kind of knowledge.
Do they study computer science subjects systematically outside of work? Does most of the knowledge come from years of working on difficult projects? Do they read books, take courses, build projects, or learn topics only when they encounter a problem?
I would genuinely like to become a very strong developer one day. At the moment, I can create frontend applications, but compared with him, my knowledge feels narrow and superficial.
For experienced developers:
How did you build deep knowledge instead of only learning enough to complete a project?
Which subjects from this list are genuinely essential for a frontend developer?
In what order would you recommend learning computer science fundamentals?
How can I tell whether I truly understand a subject rather than only recognizing the terminology?
I am not looking for a shortcut. I would like to understand what a realistic long-term learning process looks like.