Learn C Programming and OOP with Dr. Chuck [feat. classic book by Kernighan and Ritchie]
Вставка
- Опубліковано 28 гру 2024
- In this complete C programming course, Dr. Charles Severance (aka Dr. Chuck) will help you understand computer architecture and low-level programming with the help of the classic C Programming language book written by Brian Kernighan and Dennis Ritchie. Toward the end Dr. Chuck interviews Guido van Rossum, the creator of Python.
🔗 Course resources: www.cc4e.com/
(Unlock Code Hint: View the developer console on the website.)
📖 Online C Programming book by Brian Kernighan and Dennis Ritchie: www.cc4e.com/b...
✏️ Dr. Charles Severance developed this course. He is a professor at the University of Michigan.
⭐️ Course Contents ⭐️
⌨️ (00:00:00) K&R 0: Historical Context
⌨️ (01:04:48) From Python to C
⌨️ (01:46:19) K&R 1: A Tutorial Introduction
⌨️ (03:39:39) K&R 2: Types, Operators, and Expressions
⌨️ (05:04:13) K&R 3: Control Flow
⌨️ (06:04:05) K&R 4: Functions and Program Structure
⌨️ (08:06:01) K&R 5: Pointers and Arrays
⌨️ (09:58:08) K&R 6: Structures
⌨️ (11:56:25) Object Oriented Programming
⌨️ (13:26:33) Encapsulation and Abstraction
⌨️ (14:37:26) Tree Maps and Hash Maps
⌨️ (15:48:06) Epilogue
🎉 Thanks to our Champion and Sponsor supporters:
👾 davthecoder
👾 jedi-or-sith
👾 南宮千影
👾 Agustín Kussrow
👾 Nattira Maneerat
👾 Heather Wcislo
👾 Serhiy Kalinets
👾 Justin Hual
👾 Otis Morgan
👾 Oscar Rahnama
--
Learn to code for free and get a developer job: www.freecodeca...
Read hundreds of articles on programming: freecodecamp.o...
I love Dr Chuck. He was the one that got me into programming 10 years ago. I owe my career to this wonderful human.
His Python intro course got me into programming too, Dr. Chuck is a legend
Dr. Chuck rules
same for me! my very first coding lesson was Dr Chuck's py4e on coursera in 2015!
Useful Timeline
History of C 7:30
chat with brain & ch 0 38:44
Python to C 1:04:48
CH 1 1:46:19
Will update as i complete the course.
Bro... Why did you stop?
@@brijeshsrivastava6682 I stopped since they added course contents to video description. I mean the problem i was trying to solve is solved. Thank you for checking on me though. really apppreciate it
@@manideepsai9612 Glad you are okay. It's been 6 days, still good?
How's it going?:)
@@segovia102 I been slacking a bit, some of the stuff is going above my head. I started reading a book called ' but how do it know' along with 4 hrs in CS50 as there is some c stuff around post 2.5 hr portion of CS50. My motivation is downhill but trying to push through. I work a low paying bank job trying to switch careers into tech so I can afford a living. Thank you for taking time to comment and check on me, this comment section has definitely boosted my morale.
C/C++ I've practiced for a year and a half. There are no shortcuts. You practice. Even after years, there's more to learn, and it's beautiful.
AI will replace you
@@thefamily512 just like calculator can't replace mathematicians, same way AI can't
Anyone else think Dr. Chuck has an insanely soothing voice? This man is the Bob Ross of programming!
"There's no segmentation violation. Only happy little accidents."
I have a copy of that book signed, he was my professor at Columbia University in the late 1990s.
You’ll be a very rich man now?
can you scan and email it to me
What a privilege Sr.
thats the reason you're still searching another course on UA-cam.
😂😂😂😂@@shax4198
I'll just say this. I learned C back in 1986 in college and used this book by K&R, and I still have it (buried somewhere in a box). As a foundation for programming C is a good language to learn. C leads to C++ (begin OOP style programming) which leads to C# and Java which leads to other languages like Python.
So if you want to understand how to program at a low level on a Windows or Linux/Unix platform you need to understand C. Unix was built off of C. K&R were part of the team at Bell Labs New Jersey that created Unix and C in the 1970's / 1980's.
Thanks a lot for this information 😊
I know exactly where my Kernighan and Ritchie book is. When I graduated in 1986, I had a good start on my C library which I refined and added to over the years. I did my best work in C. Looking forward to this.
Correct me if I am wrong, but Python is older than both Java and C#
Assuming that the 2nd Edition is just as relevant for getting the C basics under my belt?
@@randomrfkov Yeah, but it was no more than a scripting language. The way we use it now didn't start before 2010.
Everything you offer on this channel is fascinating. I love you.
Thanks!
$10 for what? This is free library card knowledge!
@@thefamily512 for supporting positive and informative content like this on internet.
Dr. Chuck got me started programming with his py4e freeCodeCamp course way back. I'm so thrilled to have him again for an accompaniment to learning the C programming language.
Unbelievable that you can get a course like this for free. Thanks!
The best programming book EVER WRITTEN
I stumbled across Dr Chuck a few weeks ago arbitrarily when I decided to study C. I began his course and right afterward found this in my feed. I enjoy this course, programming can be very emasculating at times and his relaxed approach helps ease the pressure, its easier to concentrate when you're relaxed. I can tell hes someone who knows what he's talking about and I can also tell he's ran into every pitfall we are about to trip over. I really am enjoying learning C and while only in chapter 2 of the book, I can already see where I'm going to be a better Python/Javascript developer when I'm finished. Thanx everyone who made this possible, this course is life changing.
Did you write this comment using CHAT GPT?
@@engineeringmadeasy No, I'm actually literate, capable of stringing together concepts to form narratives.
@@darkthrongrising5470that who para is insanely impressive
This is what internet should be for. Thank you!
It clearly is! The internet is the digital place for everything.
Anything you could want or think of.
You choose what you consume, create or learn. ;)
well said
This is the truest statement ever @essentia9! Peace!
This video literally could not have come at a better time for me! I'll be starting a course that teaches C this fall semester and I have been looking for something to give me a head start to the material.
you should already know all this stuff Professor 😅
finally a video teaching C that's not 40 years old
fr bro 😂😂
Just what i was looking for
Yes, bring your camping tent.
You guys are a lifesavor and the heroes of the programming world providing golden gateway of priceless knowledge to programmers. All of this free content is indeed opening a gate to all the new programmers seeking knowledge to programming
Python is a warm and fuzzy wrapper around C.
Completed the course learned a lot ❤
I'm really enjoying this course. Thanks, y'all the creators, and Doctor Chuck for providing this course for everybody. Shout out cc4e!!
around 1:29:00, put a leading space before % to make scanf consume any leading whitespace, including newlines
I'm up to 3:38:17 Lets GO
I just got around to checking the website though, and found the introduction of the course locked behind a kind of test. You have to guess a number, it's a very significant number. It says there are clues on the page and clues in the links on the page. I didn't see any clues at all, but it only took me about 20 seconds to figure it out. That was pretty clever and funny. Spent a good 15 mins laughing about how awesome that was xD Thanks Dr Chuck. That was awesome.
33:00. Yeah as a dude, I’ve got to say. My majority of effective computer teachers were women. I was a 90’s kid. I did the Python course. And even got the Cert. Chuck is solid and worthy of his legendary status.
46:45 welcome to c programing for everybody | chapter 0: Introduction
Dr. Severance.
Next level, C OOP.
Awesome Sir.
This is a refresher.
Thankyou So Much.
Dr Chuck is it okay, I am watching your lecture before a sleep, now you are coming in my dream teaching C😂
some similar things happen to me lol. Me and my friend discussed various types of insects with pictures for fun and I had a nightmare right after that!😂
you are great people for what you are offering in this channel, just amazing
Right on time for me. Got a first head c book last week. Now this upload….Fantastic. Been wanting to learn C for a while now.
make sure you stick through it. It is very hard to learn even with experience in languages like python, javascript. I consider myself pretty intelligent and still struggled to learn C but it was worth it. Just gotta stick through it
Best C course ever....
I did the web applications for everybody free course by Dr. Chuck!
Great teacher.
I am so hyped for this. I am taking cs50 on edx, but I'm getting frustrated with what I feel to be a drip feed of information. I'm ready for steak and potatoes.
The Encapsulation and Abstraction part of this course is really interesting and amazing, thanks!
Bro I’ve been wanting to learn c but didn’t know where to start and never did. Thank you for this! 🙏🏽
Rust is an incredible language. I'm glad he mentioned it early on in his presentation. 🦀
I love it, it is perfect
This is awesome information from someone involved.
History of coding languages and computers is more interesting after you've learned something. From a teaching/enagagement perspective, loading the front of this course with history and a meandering interview is a good way to turn off your students.
I still have my K&R. First edition first printing. Must be 40 years old by now.
This is gold! Thank you so much!
perfect teacher and this channel
totally love it!
11:07:00 definitely meant ArrayList object in Java
Ok, so, 18 hours, learning 4 hours a week. I can learn C in five weeks and then apply for my first software engineer position!!
But first, let's update my LinkedIn bio...
Yeah but C is not demanded like Java
that's a very optimistic timeline but you go girl
HAHAHAHA. Good one!
I've seen him in the ad about teaching PostgreSQL 😃
If there wasnt the high energy intro this would be a great sleep lecture also)
Thank you ❤. Just to notice about string mplementation in python. What I get from the interview is that the buffer is very large at first and then get srinked
I wish to be like Dr Chuck
Is this course good to start with learning C? My plan is then going to C++ to work with Unreal Engine.
Is this a repost from yesterday?
Yep
We fixed a mistake. :)
@@freecodecamp thank you!
@@freecodecamp based
Thank you for acknowledging the issues of inclusion in CS at the beginning, and thank you for creating this space for learning for everyone ❤
I could not imagine doing machine learning and deep learning without Python (Tensorflow/Keras). Do people actually try to develop machine learning models in just C?
This is wonderful. Thank you so much!
Thank you for the tutotial. One question: "Why was the 78 K&R book version was chosen over the second edition with ANSI standard?"
oh great "C programming" vid is back 😊
He teached me python :)
It is a convention in Python to put your "main routien" in a function named main and then call it. It keeps stuff in the main routine from polluting the global frame with unnecessary symbols.
Also, the idiom of calling main() and others in "if __name__ == "__main__"" makes sure that we are caling this directly and not in a module or child process. Without this technique, a child process could spawn more processes and so on in addition to problems if this code is used as a module.
@@Programmar1 That too if it's going to be imported.
Done till
1:01:21
1:46:22
for people who directly want to jump to course: 35:35
Thanks a lot :)
I write C every day for critical embedded systems. There is no practical substitute.
where is the correction of the reverse string exercise?
so what is the difference between this course and the previous one by Dr. Chuck?
thank you for python to c
There's a typo in strcpy() version 3 at 9:05:19
while (*s++ == *t++) should be while (*s++ = *t++)
C was my first programming language that I learned back in college in late 90s ❤
is this a newer version of the learn C course from Free Code Camp with Dr. Chuck from a year or two ago?
1:05:25 JavaScript is a system language??? Or am I interpreting that board color-coding wrongly?
I like how Chuck Teaches, and Thanks Agian Chuck and how did you know that I wanted to learn C, those Guys who had Chuck as their original Lecture in collage were so Lucky
If only everyone stuck to one pattern, we would noy have different OS, or different programming languages...would have a universal control over all systems and I think C can get us there
I am going to have a great week-end
Pointers need their separate 8 hours course
Pointers really pack a mean punch
@infinitedope77 what do you mean no way..
@@darogajee3286 I think he meant the whole video should be on pointers. More like 25 hours, especially pointers to pointers, and moreover function pointers.
How about this 4 hour pointer course? ua-cam.com/video/zuegQmMdy8M/v-deo.html
@@freecodecamp hahaha you got it
Thank you so much Dr. Chuck.
Hello Dr Charles, thank you again for the course. I want to tell about Guido Hash Map approx. I am developing the Guido approx for this data structure. In theory it is a good option to have double allocations but in practice there should be much more maybe. When trying to get an element that is not in the list then in this case as we will have to go through the array untill there is an empty bucket, and for that to not be a long way it is maybe better add more empties. Just to notice, wondering if K and R implementation option as better choice.
Been programming python for a little over a year now and have wanted to learn c. I've tried a few other free courses but I like how this one starts with corelating python to c.
Please a PLC Programmable Logic Controller courses
1:40:00 blew my mind
learning C, I have some nice memories 😍 and some not 🤔🤪
I dont know who edited this video, but its a mess. Entire sections are repeated. Somebody skipped the QA before uploading.
Exactly. Free code camp is lazy. I think I'll use another channel to learn C.
Kinda like a review in a weird way, but not.😅
How do you approach the mentors to put their videos on your channel?
I would be grateful if you reply this❤
Many course creators reach out to us first, including Dr. Chuck. We also find good courses and reach out to the creators to see if they would be interested in sharing their courses with a wider audience. Also, we have a few people on staff at freeCodeCamp that make some of the courses we publish.
Thanks doc
Is this course suited for beginners new to coding or is their a simpler language that is foundational that should be done first?
Thanks in advance.
this course will become easier if you start with python first (which is recommended for most people), but if you like challenges, you can also start here
Dallas Mavericks in finals 🎉
Thanks for the informative advice.
Can I buy the second edition to follow along or do I need to have the first edition for sure?
Yes, you can use the 2nd edition. Also, you can access the full text of the 1st edition using the link in the description of this video.
@@freecodecamp Awesome. Purchasing the 2nd edition! Going to try and source a mint condition copy of the 1st as it seems like an important piece of history to keep.
Thanks for the video. Chuck is a great teacher. I'm building a distributed network of nodes and I would like to do it in C which is the reason for undertaking this course over the next few weeks! Super excited to have this. Much appreciated. Been a freecodecamp follower for about a decade now! Love the passion.
OMG takes me back to happy times. My first book (after Dr Dobbs Journal of....)
C Programming! ❤
Cool T-shirt, still use Gopher btw )
Thanks
Any advice (notes) on how to run a program, what compiler to use, how to install it to ensure it does what you want it to do? I don't see any such insructions in the suggested text.
i use dev c++, you can look for a video on how to install it on youtube
Use gcc. The gnu c compiler.
Compile it with gcc main.c and then run it with ./a.out
Thank you so much love from India 🇮🇳
Thanks allot for all the free courses.
Is it possible to have a course on flame engine to make games in flutter in the future?
Thank you for the wonderful work.
Ok, how to unlock the resources for this course...have no clue....thank you.
but how useful is C these days, and won't we need another language in order to use it today by itself is it really WORTH learning it(with all due respect)
In my opinion, those who don't learn C at the beginning and learn any other high-level language, maybe save themselves less of a headache, but actually lose a lot, C is a very, very strong language. The headache I mentioned is one of the advantages that make C as such. I mainly mean the work with pointers, allocations and freeing memory afterwards. After you really understand and know how to work with pointers and how to use them in solving problems (for those who really understand), any other high-level language directly becomes a very, very easy language to learn. Anyone who really wants to know how to program and has the time to do so at a young age is better off going through this "baptism of fire" initially with C, after that he really (mostly) will become a professional programmer.
Gray t-shirt is C, covered with Pink t-shirt which is Java
Let's always do alot of good ❤️
i cant get the code on 3:02:42 to work any help.
What errors do you have?
@@wishmaster1449 i am sry it works its just me being a dumb dumb.😂😂
The King is back 👑
Thank you, i will go back to the basics.
looking forward to complete all.
*"START"???!!! Is that 18 hours???!!! There isn't THAT MUCH to C. Is this "how to code in C at a linus torvalds level"???*
You will be able to program AGI by the end of the video
@@rul1175Are u being serious
What is AGI? please tell a bit about it. Thanks.
@@MaxPayne-rd5wd AI learns from past data AGI is where it'll learn itself and work like a human which is what big companies like MS, Google, Nvidia etc are all in a race to develop a full AGI to take our jobs and make their stock go up. If you can make that then you're pretty much a billionaire.
Chose another field programming is not for you if you’re looking for fast learning…
Hello, how are you doing?
Want to know, what i can for C language (objective of the language to bluid what)?
Thanks for the video is every nice..
C can be used to build almost anything, including operating systems such as Windows.
Programming languages can build everything, but the complexity is greater when you compare C to another more modern language, because you have to manage more things, like memory allocation. is not the end of the world, and this knowledge can make you understand more complex topics as you go on, because many languages copy the way C does many things. in the end of the day, the road is harder, but can make you learn much more.
@@joaofelipe2060 thank you
@@freecodecamp thanks
For the average programmer I do ask the same question myself. However this language inspire me quite much so I think it is a good idea to make programs on it, and I am not the only one.
Sir can u make video about IoT using programming language
Embedded programming?
20:00
2:30:05