I begun learning programming a few years ago, and it feels like I barely progressed. I know the basics and a bit of advanced python(I have learnt to use a few libraries), html and css plus a tiny bit of c++, but not much outside of those. I enjoy programming and solving problems using code, and it’s an enjoyable hobby of mine. But I feel like all I do is extremely basic and I want to advance but it feels overwhelming seeing the countless of things I could learn.

I wanna know what are ways I can actually apply the things I have learnt/will learn on somewhat worthwhile things, because the main problem right now is that I don’t really have anything to do with the things I’ve learnt other than silly projects that don’t really last more than a day and aren’t that complex. I also want to advance my knowledge as previously stated since I feel like I know too little for the amount of time I’ve been learning to program.

For context I’m still in school but not too far off from higher ed, and I have a decent amount of free time on most days(~2-4 hrs).

Thanks if you reply

2 points

I think what you need is inspiration, there’s so many things to build to improve your skills and broaden your knowledge. Not every project you work on needs to be novel and exciting, even basic things can provide ample complexity to learn new things.

For example, in c++ you can make a basic image viewer that takes the name of a file and displays it, using some library like SDL (or OpenGl/Vulkan(hard)). This would teach you a lot about file formats, dynamic memory allocation and managing it, graphics pipeline etc.

For html and css, you can try to recreate some cool websites you see online. I hope this gives an inspiration(best viewed on PC).

For problem solving there’s always leet code, advent of code and other similar services.

Here’s more stuff to get started

permalink
report
reply
1 point
*

If you want that sweet dopamine hit of solving problem with out the overhead of doing a project just try leet code. Like that Chinese ping pong player. Nothing wrong with that if you are not gonna pursue it as a job. Ps. You can use different language then you are familiar with like Haskell or ocamel. It can really help you think differently and look problems in new light.

permalink
report
reply
2 points
*

As others have said, keep finding and building projects for yourself. Maybe get this book if you don’t have ideas of things you can build: Exercises for Programmers: 57 Challenges to Develop Your Coding Skills

permalink
report
reply
2 points

I propose you contribute to Foss software that you use.

With that you are motivated because you are invested in the project, you will see the effect of your work and you learn about the process of contributing and working in a team.

That should keep you going for a while. Best of luck.

permalink
report
reply
3 points

You need to think of things you might want to build. Try building software that nobody ever has, try fixing issues in current software using git. You can find lots of python program in GitHub, waiting for contributions. That’s how I learnt. If you want to learn and use C++, try building software that interacts with the real world with Arduino, try contributing to the Linux kernel or try making simple games using C++ in Godot.

permalink
report
reply
2 points

I did actually make a game in godot but it was mostly based on a tutorial and little of my own inpuy

permalink
report
parent
reply
2 points
*

Then use what you learnt from that tutorial and make something similar or entirely new, without tutorials.

permalink
report
parent
reply

Programming

!programming@programming.dev

Create post

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person’s post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you’re posting long videos try to add in some form of tldr for those who don’t want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



Community stats

  • 3.1K

    Monthly active users

  • 890

    Posts

  • 7.7K

    Comments