Grab some good books and work through them methodically. Slow and steady wins this race. Try to avoid IDEs and use an editor instead. Learning the compiler is really important. Don't focus on assembly yet. You can always view your assembly by making the compiler output the asm with -S -fverbose-asm. Udemy has some good courses on C, as well as general CS topics.
If you really want to learn how a computer ticks, watch all of Ben Eaters videos on YouTube.
C Programming Absolute Beginner's... https://www.amazon.com/dp/0789751984?ref=ppx_pop_mob_ap_share
I have just a couple more chapters left and am looking into books on data structures next. I don’t have a ton of time to read, unfortunately, and this Beginner’s Guide had nice, short, digestible chapters that were perfect for stealing away a few mins here and there.
I will do that, appreciate the pointer. I bought C Programming Absolute Beginner's Guide by Greg Perry and Dean Miller a while back so I might use that to complement Youtube as you suggested instead of Udemy.
This is a great beginner book for learning C. I'd start with that if you want to learn. Can you do pentesting without learning a programming language? Sure. But you will have limits later on if you want to do more advanced exploitation. When I started pentesting, I didn't know a formal language. I just knew some basics and I knew java but wasn't the best at it, just knew the basics of it.
You know, I said in /r/AskComputerScience that there's nothing wrong with starting with Objective-C, but after looking at the available books and tutorials, I honestly can't find anything.
Essentially none of the books are aimed at someone who knows nothing at all about programming. They all assume you know how to program but you're new to Obj-C and/or iOS.
The fastest path might be to learn C, since there are fantastic books like this one.
Once you know C, learning Objective-C and iOS will be much more doable.
If you want to start learning C from scratch then I suggest getting Greg Perry's "C Programming Absolute Beginner's Guide". Once you've mastered the basics of the C programming language, research "bitwise operations & bit manipulation in C". I have a free tutorial entry on that topic on my blog if you want to check it out. But you'll find many other similar resources on the web as well. Then have a look at Carmine Novello's Mastering STM32, and/or Mazidi's STM32 Arm Programming for Embedded Systems. Both books deal with STM32 microcontrollers and are very affordable.
Good luck!
Hey, I'm a CS sophomore right now at a community college and here's my take on it:
If you're set on learning C and C++ make sure you find a program at a school that incorporates that. My semester currently is Machine Archtecture (some c++), Programming Concepts (python), and Programming in C. So if you have a local college or have one in mind to attend online, make sure you look at their courses, and inquire with the advisors at that school with any questions.
Yes to reading books, always helps. Youtube is always a friend as well but if you prefer reading you could start with
https://www.amazon.com/Programming-Absolute-Beginners-Guide-3rd/dp/0789751984
I don't know what professor you have, but I do know that the struggle with the material is essential to learning how to program. It requires that you learn how to think in a way that you're not used to.
I took Intro to C last semester with Lobo and pretty much had never programmed before. Some of the material drove me nuts, and I would spend hours trying to figure out how to solve the most trivial of problems. Even the line "x = x + 1" confused the hell out of me the first time I saw it. But I stuck with the material and struggled with all the new concepts and ended up coming out of the class with above a 100%. It's all about being persistent in your learning.
And some advice for the class:
Here's a few helpful resources if you're having trouble and there isn't someone around to help:
Good luck!
Well, there is multiples ways.
I suggest to do a few exercices on HackerRank or something else in order to understand the syntax.
Then you should read The C Programming Language. I also read this one ; https://www.amazon.com/Programming-Absolute-Beginners-Guide-3rd/dp/0789751984
which is really wonderful ! (imo)
If you have some money to spend on C. Some Udemy course are really great.
​
Have a nice day.
Having had a look at his GitHub, this may help him out.
This is a really good book especially if you are a beginner.
Probably your best bet is to just google search each topic and learn from as many as you need. I know you just want "The best all in one solution" but your probably not going to find one that's perfect.
I found programiz that looks pretty in depth and they have alot of other topics too. Of course theres youtube or a popular book.
This seems to have some good reviews. And it's for beginners.
Cool! Did you enjoy the book? Was it this one?
I like this book and found it to be great:
C Programming Absolute Beginner's Guide (3rd Edition) https://www.amazon.com/dp/0789751984/ref=cm_sw_r_awd_YSvjvb1P0P0WJ
This discussion recommends learning C before moving on to Objective-C.
You could focus on learning the basics of C while you save up money for a MacBook or iMac. I've been going through Absolute Beginner's Guide to C, which is great if you have absolutely no experience (like me) and want a basic intro to the language.
By the time you finish the book, you may be able to get your Mac. If not, you'll still be in a better position to move on to Objective-C.