this post was submitted on 25 Jul 2023
12 points (100.0% liked)

C Programming Language

993 readers
1 users here now

Welcome to the C community!

C is quirky, flawed, and an enormous success.
... When I read commentary about suggestions for where C should go, I often think back and give thanks that it wasn't developed under the advice of a worldwide crowd.
... The only way to learn a new programming language is by writing programs in it.

ยฉ Dennis Ritchie

๐ŸŒ https://en.cppreference.com/w/c

founded 1 year ago
MODERATORS
 

I just finished the C Piscine at a 42 school, so I have gotten a good grasp of the basics of C (about 300 hours worth). The school won't start until October, and I'd like to practice my C skills in the meantime so I can be better prepared when it does start.

Any suggestions for curriculum / projects that don't start at the very beginning? I already have a good grasp of pointers, control structures, structs, string manipulation, etc.

top 4 comments
sorted by: hot top controversial new old
[โ€“] Hiru@lemmy.world 5 points 1 year ago

Take a look around in GitHub and contribute to any project that looks interesting to you

[โ€“] smpl@discuss.tchncs.de 3 points 1 year ago

I'd suggest starting a project and make a git repository for it, then start a thread here where you post your changes and questions. I'm sure you'll get a lot of feedback on your code and have your questions answered. This group need some acitivity anyway.

[โ€“] suprjami@lemmy.sdf.org 2 points 1 year ago

Complete all the CodeStepByStep problems: https://www.codestepbystep.com/problem/list/c

Read a Data Structures and Algorithms book.

If you've done university Calculus then read Sedgewick: https://www.amazon.com/Algorithms-Parts-1-5-Bundle-Fundamentals/dp/0201756080/

If you haven't then read Loudon: https://www.amazon.com/Mastering-Algorithms-C-Kyle-Loudon/dp/1565924533

Write a basic game, like a text strategy game in ncurses or a roguelike. Add ability to save and load games, design it so the computer can play the game itself and the player can drop in or out at any time.

Read good code like musl libc. Redis and modern BSD are also said to be good.

[โ€“] Anafroj@sh.itjust.works 1 points 1 year ago

Reading lots of code is the most important, at this point, so you see how the code is actually written in the industry.

An other good way to get started is to try to change some software you use, to add a feature you want in it. It's challenging to get your head around someone else's codebase, and yet it's a very important skill, since you'll need that in most jobs you'll find. Education tends to assume you're the one starting the codebase, but it's rarely the case in real life.

And when you feel confident enough making those small changes, you can try to submit the most useful ones to the project. :) This will teach you collaboration, which is an other very difficult and very important part of the job. Plus, it will get you contacts and contributions to show off.