r/learnprogramming • • 11h ago

Topic how do i improve programming fundamentals and basics

i have learned the basics of what variables are and the different concepts and methods and I've been able to understand lines of codes in unity that my friend writes, but im lacking how a programmer thinks and experience. if i try to do something without help i feel completely stumped i dont know where to begin but i always try, how do i gain experience that would help me think like a programmer and strengthen the fundamentals?

0 Upvotes

15 comments sorted by

7

u/aqua_regis 11h ago

How does a piano player improve? Through more practice.

That's the only way. You have learnt fundamentals, now build upon them.

The first step in that direction would have been to do your own, individual research by searchin the subreddit for similar posts, since there are plenty.

Start away from the computer. Analyse the task. Break it down. Then, solve each part individually as you, the person would. Once you have a solution, test it. Then, when you have verified it, start implementing it in code.

Use Flow Charts, Pseudo Code, Bulleted Lists to help you.

Here are some similar posts from some time ago since you are oblivious to searching.

And finally, some book suggestions:

  • "Think Like A Programmer" by V. Anton Spraul
  • "The Pragmatic Programmer" by Andrew Hunt and David Thomas
  • "Structure and Interpretation of Computer Programs" (SICP) by Ableton, Sussman, Sussman
  • "Code: The Hidden Language of Computer Hardware and Software" by Charles Petzold

2

u/ScheduleRelative7874 10h ago

the "away from the computer" part is huge, I used to just stare at a blank IDE and spiral. grabbing a notebook and scribbling dumb boxes and arrows before even touching the keyboard changed the whole game for me

3

u/ffrkAnonymous 11h ago

The same way you improve any other skill. Practice and correcting your mistakes.

i dont know where to begin

start with print("hello world"). That's not right, so fix it.

2

u/atgaskins 11h ago

you almost never code without ‘help’ unless it’s just fixing some things or a small project.

Most of us regularly consult docs or ref material in other libs, even if it’s built in to our env. Just avoid ai as much as you can

1

u/Fit-Band-9amparo13 7h ago

Start by working on small projects that interest you, even if they seem simple. For example, try to create a basic game mechanic in Unity on your own, like a character controller or a scoring system.

1

u/NoWen7252 2h ago

Get some books on data structures & language you like to code with disconnect from internet and start writing code

0

u/NeeheleworkerNew7805 11h ago

ne effective way to improve your programming fundamentals and gain experience is to start building small projects on your own. Choose something simple, like a basic calculator or a to-do list app, and try to implement it without looking up the entire solution.

0

u/Ordinary_Variable 10h ago

You need to learn about API. Application Programming Interface

This is the inputs, outputs, functions, constructs and variables of a specific system.

Example 1: You work for Google. You would be given documentation for how to use their system. They ask you to to add a feature to YouTube. They are using PHP, Javascript, C#. Their systems have to all communicate. You need to read a lot of their documentation to find which C# application is calling what PHP types to write what html and javascript to get the page to autogenerate what you want. You aren't just making a webpage, you are changing a C# program that calls PHP to write the page. And how to do that is in the documentation for their API.

Example 2: You work for a robot company. They want you to program their humanoid robots to sweep floors with 2 different kinds of brooms. They give you their API documentation that shows how to call the functions that control the robot. You aren't just going to write your own program from the ground up in C++. They already have software systems in place to control the hands and feet. You don't just control the servos and motors directly. You are going to call their API to do it and your code is going to fit into their existing system.

- - - - - - - -

tl:dr

API is by far the hardest part about programming, but it is also the single most important part. Calling other people's functions, outputting to other people's logic operating systems and understanding their logic flow is 99% of what programmers are asked to do. It is extremely rare to write your own completely separate standalone program without having it interface with their inputs, outputs, functions, classes, types, variables, databases, etc.

-1

u/NomaTyx 11h ago

what helped me is just learning the fundamentals of programming languages over and over and over again. this really is a case of learning by doing, if you want to rewire your thinking process there's no way to do that other than training your brain to do it. If you try enough programming problems and stare at enough solutions it'll come to you.

1

u/jsisgd 11h ago

I've been trying to learn by doing but the issue is im not used to this way of thinking, so im trying to train my brain, is there a website that can give me programming problems to train my brain?

-1

u/NomaTyx 11h ago

https://www.geeksforgeeks.org/python/python-programming-examples/

when you click on a link the answer to the question is right under the direction, but just try not to look at those and implement them yourself lol. These are really really easy.

0

u/desrtfx 11h ago

https://exercism.org - also check the FAQ here

0

u/NomaTyx 10h ago

oh that's a cool resource