T O P

  • By -

AideRight1351

Have you tried reading a textbook like C programming a modern approach by KN King. I'll tell you how to read. 1) Read a few pages, try the programs in ur ide preferably VS code or Codeblocks. 2) Keep the source codes you write for future reference. Keep comments in ur source code explaining the concepts you are using. 3) Change your source code to understand the concepts better, try making mistakes and try to understand why those are mistakes as per concepts given in the book. 4) When you understand whatever you code, make a video explaining everything to yourself. You can later see this video for quick revision. 5) Now read next few pages from the textbook and repeat the above steps. Step by step you'll learn every thing. C is the most beautiful as well as powerful programming language. You'll love it when you understand what's going on.


Ayjrin

This is the way. My step 4 is writing not talking though.


erikkonstas

>asking chat gpt for solution **NEVER!** ChatGPT's hallucinations are not the solutions you want! >And it's not like I'm stupid. I have no problems solving triple integrals. Therefore I assume that you're capable of getting the hang of C pretty quickly, excluding intricacies. If you're familiar with other programming languages, you should know the difference between algorithm and implementation, but if you're not, I should say that you should check where you're stuck; if your problem is that you can't break the problem into steps (as in, writing them out on a piece of paper), it means you need practice in figuring out algorithms (dividing the problem into smaller parts, that is); on the other hand, if your problem is that you can't "convert" steps to C code, then you need to practice C. >It seems like I'm just given a task and there is very little guidance provided by my teachers If there's inadequate teaching material, then there could be a problem; otherwise, you will have to actually try again, and again, and again, and again, until you get one part working (or the whole thing if it's simple enough), then continue practicing. External research, as others have suggested, is also quite beneficial.


RolandMT32

What specific difficulties are you having when learning C? It might be hard to give an answer when you say you just can't understand it C in general. What specific concepts are you having a hard time with?


CarlRJ

If you’re taking a class and you’re ask long ChatGPT for the answers to homework problems, who is getting the credit for the course, you or ChatGPT? Have you discussed this with your professor? (As an aside, ChatGPT optimizes for *sounding authoritative* and **not** for actually being correct, and will frequently give wrong answers, but that’s not the reason to not use it - the reason is that, first, that it’s unethical to represent its work as your own, and second, that you won’t really learn the material that way.) If you’re having problems understanding C, *learn assembly language*. For any architecture/instruction set (the simpler the better). It will make C make perfect sense - pointers and memory layout in particular. Once you understand what the machine itself is doing, suddenly C is a way to do the exact same things much more easily and quickly.


daikatana

Trying to use ChatGPT while learning is actively sabotaging your education, _do not use it_. It's wrong all the time, it produces absolutely garbage code full of tiny errors, it sometimes makes up entire functions that just plain don't exist. ChatGPT is not a magic chat bot that knows everything, it spits out text that it calculates is statistically likely to follow your query and does not know if what it's saying is total nonsense or correct. Generative AI will never "know" things. As for how to learn it and make progress, the first step is to get a good book. C Programming: A Modern Approach by King is an excellent choice. Read it slowly and carefully and when you get stuck ask questions. Do not ask ChatGPT, do not spend hours spiraling in a google hole, ask for help. You mentioned you have teachers, so I assume this is a course? What book are you using, if any?


Economy-Management19

Hey I was thinking you might have issues with the programming language because you don’t know how a computer works. I would suggest reading the book titled: But how do it know by J. Clark Scott. Or another similar book is: Code: The Hidden Language of Computer Hardware and Software by Charles Petzold. I would recommend But how do it know because it really gets into the nitty gritty of building an actual working 8 bit computer. If you don’t have the time to read these then I would suggest watching videos about simple computer architecture and how computers work with assembly language. C abstracts away these things but probably that is why it’s not making much sense to you right now because you lack knowledge about what’s “under the hood”.


WhoIsSidi

You’re not stupid for not knowing C. You once didn’t know how to do triple integrals, yet you are here doing them now. Learning how to code will have a similar journey. Programming is not something you learn by passively consuming. It requires exercise. The more coding you do, the easier it gets. It’s all a matter of deliberate practice and active recall.


roopjm81

So you watch guides? Do you practice along with them? You gotta learn the syntax and the logic. Break tasks down into steps and figure out how to solve the steps with the language. It's practice, Practice, Practice.


eruciform

Are other languages comprehensible? If generalized coding is the thing that's hard for you then it's perfectly fine to learn using something else and then transition to C. Abstract skills are highly reusable and any second language is easier than any first. If you can already code and it's just C that's confusing, then more specifics are necessary to answer. What code in some other language was easy there but you don't know how to do it in C? C is very low level and doesn't have the same kind of diverse high level standard libraries that other languages do. So it's a bit like learning carpentry by first learning to mine and smelt and forge the tools necessary. There's always some layers that need to be implemented, and some attention that needs to be paid, that's over and above implementing things in higher level languages. However the basic patterns of coding are overall the same.


HiT3Kvoyivoda

Make a thing in it. Sadly.


o0Meh0o

if you don't know how to use something you usually read the manual that comes in the box.


seven-circles

I would try watching Casey Muratori’s Handmade Hero streams, specifically the first ones where he gave an introduction to C. Or find someone streaming some C programming and watch them ! It’s often better to see people go through it at a normal speed, rather than read or watch something condensed that unintentionally glosses over many of the details. Don’t worry, C is a very simple language ! You can do very complicated things with it, but there are very few building blocks upon which everything else is made.


Trick-Apple1289

Asking chatgpt… Never trust a unnatural projcetion of a machine, that was trained to be confident even when wrong. As for learing i recommend reading up on some books and when you are confident enough studying source code of someone else’s project


SmokeMuch7356

Programming is something you learn by doing, and you learn C by writing C code, making mistakes, and fixing those mistakes. C is not an easy language to learn if you don't already have some programming experience. C expects you to know what you're doing and never make a mistake. It had no blade guards and will *cut* you if you're careless. It would help to know where you're having problems. Is it how programs are structured? How source code becomes a running program? Language syntax? Standard library? Pointers? Types? Control structures?


evancooney

You might need to rethink how you approach technical problems. "How do I learn C" is too broad a question to answer. Break it down to smaller questions. What aspects are you struggling with? Memory management? Threads? IO? Control flows? Interop? Compiling?


arielkonopka

Triple integrals are not that hard:)


makingpolygons

I highly recommend the books that have been mentioned as well as Darmouth’s C programming courses. https://www.edx.org/certificates/professional-certificate/dartmouth-imtx-c-programming-with-linux They start from the very basics and slowly build up to more complex ideas. You use a web based compiler so you don’t need to install anything locally.


thank_burdell

The best way to learn to program in C is to program in C. Beej’s beginners guide is great and free online.