First-year CS student, know C—what’s the best next step to start building real projects?
Posted by sedexe@reddit | learnprogramming | View on Reddit | 21 comments
Okay hello I am a novice programmer and a first year college student, I only know C till now and i would say im pretty decent/good at it in C i have learnt till linear data structures nothing more.
I really want to build things of my own just for fun and want to learn new things.
I was reading around on web development using C and as far as i have read almost all responses said its very painful to do so but you might get to understand how things in the background work better.
Upon more digging i read that C# is an excellent alternative to do backend work.
I am thinking to use only HTML for frontend as i have no idea how to work with CSS or JS and HTML just seems very simple.
Is there any other better alternatives i can do?
Or should i just focus on something else entirely and think about this maybe sometime later in the future?
Also can anyone please provide me a structure on how to start things off and do them?
StewedAngelSkins@reddit
Do you want to do backend web dev? If so, most people would tell you to pick up Java, NodeJS, Go, or Python (or C# if you like Microsoft stuff). Of these options, Go will be the most like C (at least in terms of how you tend to structure programs). That said, you totally can do this stuff in C too. It'll be unconventional, but you'll probably learn a lot. I used to screw around with writing CGI scripts in C back in the day.
If you don't want to do backend specifically, there's plenty of stuff you can do with C. Or maybe move on to C++ or Rust. Really just depends on what captures your attention.
SwigOfRavioli349@reddit
Get yourself an arduino or raspberry pi pico, or something that effect, and start programming in the real world.
This fields called embedded systems, from digital thermometers to space ships, everything digital now of days runs on embedded systems.
I built a tiny 3 DOF robotic arm, and I have it on my resume. I think this is the coolest part of CS, cause you can easily get into electrical engineering through this. A lot of ECE programming is done in C or c++
Witty-Afternoon-2427@reddit
Don’t overcomplicate it, pick one stack like C# or Node and just build small messy projects first, clarity comes after doing not before
ConsciousBath5203@reddit
Build something that interests you and that you don't already have. A lot of my learning came from "I want X, I don't want to pay $20-99/month for it, so I'll spend 100 hours coding a prototype, 100 hours reading docs, 200 hours on the rewrite and making the code significantly better than the original product I was imitating, then never actually use the product outside of a few occasions".
sedexe@reddit (OP)
okay thank you
bichwank69@reddit
Make a Neofetch clone in C!
sedexe@reddit (OP)
okay thank you
Ok-Neighborhood4327@reddit
Considering you're decent with C and want to build real projects, you might want to explore libraries like SQLite for database management or libcurl for networking, which can help you create more complex applications and expand your skillset.
sedexe@reddit (OP)
okay thank you
Maggie7_Him@reddit
Slight contrarian take: skip web dev for now. HTML-only with no CSS/JS is a dead end, and jumping straight to a backend framework without web fundamentals makes the curve unnecessarily brutal.
Coming from C, Python is the natural next step — mental model maps almost directly, just without the manual memory management. Start with small automation scripts: something that downloads files, renames a folder, parses a CSV. That loop of "I have a real problem → write code → problem solved" teaches you more in two weeks than any tutorial. Spent my first two years building Python automation tools before I touched a web framework, and I don't regret it.
Once you have 10-15 working scripts under your belt, you'll know exactly which direction you want to go.
sedexe@reddit (OP)
okay thank you
wtfketan@reddit
Learn kernels and cuda and build some small kernels then try hard ones then complicate ones then parallel kernels same goes with cuda u will cover cpu and gpu both it will help u in long term. Ai will need all these thing.✌️ tip : do it manually even if u take help from ai write it manually clear ur foundation. the more u focus here i mean on the basics the less problems u will have to face in future and it will save u lot of time coz u will know why where when. all the best for the future 🫂
sedexe@reddit (OP)
okay thank you i will look into that
LetUsSpeakFreely@reddit
Bsckend: Java (Springboot), Go, NodeJS, or Python. Frontend: React with strict typescriptn with MUI for standard components.
Java and Go will be closest to C and likely be easier for you to learn. NodeJS is typescript, but is surprisingly robust and easy to use. Python... Is popular; i think it's a stupid language though.
There are other frontend frameworks, but React is far and away the most popular.
sedexe@reddit (OP)
okay thank you
Feisty_Disaster1543@reddit
I think C is an amazing language to know as a programmer. Look into oswikidev and build a kernel, use a RTOS and learn C within that. Embedded engineering is a huge field with huge demand currently. Develop drivers for any open source library. There’s plenty you can develop.
sedexe@reddit (OP)
Im sorry i didnt understand a word you said can you please elaborate?
PositiveParking4391@reddit
totally agree with u/Feisty_Disaster1543. focus on things he said. there is plenty of scope growing up in embedded space much more than what application programming offers right now. if you do not understand even the terms than copy paste these comments in chatgpt, yeah, for learning, chatgpt or other LLM providers are good enough.
sedexe@reddit (OP)
okay thank you
Feisty_Disaster1543@reddit
In essence what I'm trying to say is focus on one language. There is much to go into detail with C. C is fascinating and there is many things you can do with it. You can build an operating system following the oswikidev.org, you can learn RTOS, which is real time operating systems. You can as well do embedded programming within and other neat things. I would stick to one language for now and get good at it; Once you do that every other language will stick. If you are really hesitant to get into another language though, I recommend python. Personally, if It was me I would learn about memory and how it works in C before moving on to anything.
sedexe@reddit (OP)
okay thank you