Terrific video, even as a developer I found this to be a joy to as an intro and would gladly show this to my own child. David Malan is very charismatic and good at explaining complex topics.
Day 2 of teaching myself C and I am so happy to have found this video and the CS50 sandbox, my god...it's perfect for what I need. Reading your and other peoples comments lets me know I've made the correct choice.
Both of these professors are great. Even when the abstraction starts to get heavy like with pointers and structures, where the way it's taught starts to really matter, they do a great job at making it more intuitive.
C holds the place for the greatest programming language for me. I learned C++ as my first programming language in high school and loved and appreciated C even more after that.
Good teacher is a treasure. You need to know how to teach and have a deep insight of the knowledge. Otherwise you can't show a reasonable overview and point the right path to enter a new area, which is extremely important in an intro course. This man is a treasure.
I wish I was taking the course 5 years ago. Type of university and instructor makes a major contribution to the society. Better society = Better instructors
This is the second video in the course. Check out the full playlist: th-cam.com/play/PLWKjhJtqVAbmGw5fN5BQlwuug-8bDmabi.html Here is a forum to discuss CS50 with other people from freeCodeCamp: www.freecodecamp.org/forum/c/harvard-cs50
This kind of teaching is really get u understand the very fundamental of programming bfore u start coding. Jumping straight to coding with just a definition of it wouldnt be enough like most youtube tutorials.
I really like how he addressed the question about style. Personally I like the braces on the same line as the if statement. He said you develop your own style with experience.
I got my bachelor's in Computer Science from Florida State University and their curriculum with programming is based on C++ with classes for intro, object-oriented, and data structures. After those classes, we start getting into using C with concurrent and parallel programming, computer organization, and computer architecture.
incredibly informative video. david mulan states everything in a very understandable way. learned more in the first hour than the other 4 hour long "courses" elsewhere on youtube.
If my cs fundamental course are taught this way, I would be happier to learn more instead of struggling on self-learning the whole time! While self learning, to some degree is necessary, but I would rather learn this way. Thanks!
one of the best things about CS50 is that it's never about the programming itself. David J. Malan explains many more concepts such as algorithms, inputs and outputs, problems, and solutions. It's more about computer science and presenting real-life scenarios rather than just writing some functions and syntax on the screen.
He is so good at teaching and say's humans so many times, that I'm starting to think he isn't one. No wonder Harvard are so good, they have extraterrestrials for lecturers.
I dont have tecnic class nor programming class. It says on my shedelue that we do, but i think its just a cover for the school. They do not want to learn out tec witch results in not passing the grade. And my score will get low
My school back in the late 70's early 80s got a computer , I learned logo and lisp in fourth grade and got an Atari 400 when it came out , using basic and assembly at home.. I was teaching the 6 graders.. Can you do an auto complete/correct program subroutine in scratch? Or is it too oversimplified? I mean can you detect key presses, scanning and interups and handle them yourself, at least a get() instead of input()? I took a c class in college , watching this because I forgotten most of it in the last 30 years... Looking back, I had a talent, that's what I should have been doing ....
I JUST WATCH THE HOLE VIDEO EVEN WHEN I LEARN C IN THE PAST SEMESTER IN MY UNIVERSITY, BUT... OMG THIS TEACHER IS AMAZING, HE CATCH MY ATTENTION SINCE SECOND ONE!!!!
I'd like to offer an alternative interpretation for the rationale of starting from 0: offsets. When you have a pointer to some address in memory, and then you have a second pointer that will start from the first pointer and "walk" along the data structure, what do you say the difference is when both pointers are equal,. i.e. when the mobile pointer is pointing to the first element? The difference is zero, that's its offset. So to say you're grabbing the value at address `pointer + 0` (offset zero units from the start of the data) is to say that you're grabbing the first element. if `*(array + 0)` was equivalent to `array[1]` instead of `array[0]`, arrays would be a LOT harder to navigate and off-by-one errors would be a lot more common. That's the real reason: Pointer arithmetic, file offsets, anywhere you are dealing with offsets (which turns out to be most of the time), zero indexing is more mathematically natural. Or if you're pushing elements into an array by using its length: `array[length] = value`, `memcpy(array + length, array2, MIN(availablesize, length2))`, and then `array` s length is incremented by the number of bytes added. It's simple. People only think it's hard because they deal with C strings which tack on an extra byte at the end while not considering it part of the array (strlen returns the length excluding the final byte).
Nice graphics and video for a lecture. I remember my programming (lisp,PL/1,Pascal, learned C on my own) classes as much quicker and denser information. The only class I had trouble was assembly, had a poor teacher (grad student, first time on subject. Later I took assembly from a retired industry professional at a junior college and it was tremendous. He had the best students trying to save machine cycles and make well structured programs. T
Really enjoyed this. Although I would have preferred if he advised students that you should not use your own stylistic way of writing code but to write it as he did because it's considered the industry standard.
It is a very interesting... and clear explaining. C Language is the predecessor of C++, Java, C# ..... etc. Basically before C Language, Pascal was a best structural language for Computer Science students. Pascal gives you essence of Computer High Level Language easily.
Thank you very much for this. HAD MADE IT MY NEW YEAR RESOLUTION to finally learn some COMPUTER SCIENCE....Better late than never as some say EYE GUESS ;0).....well guess am a Millennial Minority but maybe there are others like me BORN IN 1984
C does not have boolean data types, and normally uses integers for boolean testing. ("bool" is defined in a library.) 1 is TRUE and 0 is FALSE. (Actually, anything other than 0 is TRUE.) The "while" statement for the infinite loop can be shortened to "while(1):".
Float is lossy, you can get decimal points using fixed points but I never seen it officially supported, you just have to roll your own. Sure its decimal will always be 1/256 or 1/65536, Americans are used to fractional inches on tools.
A Compiler is a Virtual Machine that Understands more than 1's or 0's. You can even make a Machine that Understands that Without 1 / 0 hardware. A quantum Computer is a Different type of Machine.
For deciding when to use a float or a double, this is known as "Terry's God Question". You have to decide whether a decision in code is Divine Intellect, or if its too much voodoo for the intended purposes.
That is a hard working instructor. I like his enthusiasm for teaching.
he's David Malan. excellent overall individual
The pay must be good
@@godofwinetits3826 Not enough given his actual potential
And keep in mind that... that's Harvard man... xD
And of course David J Malan is an amazing instructor.
Thats why he is in harvard
I honestly think that C is one of those languages you should learn from a good teacher. I wish I could learn the whole thing from this amazing person.
not really, you can teach you everything.
@@Rajmanov who?
@@its_SR07 he meant self learning,
@@Rajmanov yep, self teaching is best form of teaching.
C and c++ are both horrible languages, no beginner should dare learn unless they absolutely have to.
Holy crap, if only this guy could teach every CS class. No wonder he's at Harvard.
WhiteSox Fan05 we there to they paying around 10,000 for front row seats we at home watching on TH-cam 😂😂😂 lucky we lucky us free steps in c language
@@murderboys1 they graduate harvard. My dream college. But im too poor and 13 😕but hey be happy🙃
@@blackbird8010 Scholarship homie!!
Cruchty Low if you get into Harvard or other Ivy Leagues they will pay your entire tuition if you can’t afford it
@@erik.rodriguez*laughing in european* where university is free.
Terrific video, even as a developer I found this to be a joy to as an intro and would gladly show this to my own child. David Malan is very charismatic and good at explaining complex topics.
But isn’t it from Harvard?
@@servantofourlordjesuschris6456 Yes It is from Harvard's CS50 Class.
He gay e fied programming. Progaying
I know all this basic C stuff, but I still watched it from beginning to end because of this awesome guy and his enthusiasm! :)
dexternepo printf(“i know what you mean
”);
Day 2 of teaching myself C and I am so happy to have found this video and the CS50 sandbox, my god...it's perfect for what I need. Reading your and other peoples comments lets me know I've made the correct choice.
He's amazing.
mee too
samee !!!
Contents
⌨️ (00:00:00) Introduction
⌨️ (00:00:50) Week 0 Recap
⌨️ (00:08:01) PBJ
⌨️ (00:15:59) C
⌨️ (00:20:56) Variables
⌨️ (00:21:46) Incrementing
⌨️ (00:23:36) Conditionals
⌨️ (00:32:31) While Loops
⌨️ (00:35:52) For Loops
⌨️ (00:40:47) User Input
⌨️ (00:48:14) CS50 Sandbox
⌨️ (00:49:48) hello.c
⌨️ (00:51:18) Compilation
⌨️ (00:57:31) Command-Line Arguments
⌨️ (00:58:50) make
⌨️ (00:58:30) Debugging
⌨️ (01:11:44) get_string and printf
⌨️ (01:18:23) int.c
⌨️ (01:21:58) float.c
⌨️ (01:24:29) ints.c
⌨️ (01:28:39) floats.c
⌨️ (01:37:54) parity.c
⌨️ (01:39:13) conditions.c
⌨️ (01:40:17) answer.c
⌨️ (01:42:15) cough0.c
⌨️ (01:42:57) cough1.c
⌨️ (01:43:57) cough2.c
⌨️ (01:49:53) cough3.c
⌨️ (01:52:04) positive.c
⌨️ (01:58:05) Integer Overflow
⌨️ (02:03:04) overflow.c
⌨️ (02:09:50) Integer Underflow
seriously
Both of these professors are great. Even when the abstraction starts to get heavy like with pointers and structures, where the way it's taught starts to really matter, they do a great job at making it more intuitive.
I've been stumbling from tutorial to tutorial trying to learn the fundamentals of coding, this guy is definitely the best teacher yet.
I wish i had such a teacher
Someone loves what they teach
C holds the place for the greatest programming language for me. I learned C++ as my first programming language in high school and loved and appreciated C even more after that.
Good teacher is a treasure. You need to know how to teach and have a deep insight of the knowledge. Otherwise you can't show a reasonable overview and point the right path to enter a new area, which is extremely important in an intro course. This man is a treasure.
I wish I saw this earlier, so I wouldn't have gone to my shitty CS C Classes and would have stayed at home watching this unbelievable teacher
I wish I was taking the course 5 years ago.
Type of university and instructor makes a major contribution to the society.
Better society = Better instructors
This is the second video in the course. Check out the full playlist: th-cam.com/play/PLWKjhJtqVAbmGw5fN5BQlwuug-8bDmabi.html
Here is a forum to discuss CS50 with other people from freeCodeCamp: www.freecodecamp.org/forum/c/harvard-cs50
It would be better if you pinned the comment ;)
you should probably pin this...
I'm from morocco and I will never forget how you helped me improve my skills thanks to you and to cs50.Thank you verry veeerrrry much ❤️❤️❤️❤️❤️
فين أ خاي أناس
8==D
This kind of teaching is really get u understand the very fundamental of programming bfore u start coding.
Jumping straight to coding with just a definition of it wouldnt be enough like most youtube tutorials.
This man have deep understanding at CS and great storytelling
This professor honestly blew my mind. I hope to one day have a professor like that.
You're gonna have to pay a lot of money!
Gayt dat frees
This is a gift to humanity
I'm a veteran developer but even I know all the basics of C, this guy makes me want to dig into it again XD
AM IN LOVE WITH THIS TEACHER,gOD BLESS HIS HEART FOR MAKING TEACHING SO INTERESTING AND MAKING THE STUDENT LEARN IN A FUNFIL WAY...
Thanks for sharing! Feel like I am studying Computer Science in Harvard University.
Wow! wow! wow! The best C language tutorial I have ever seen.
I am a C++ Game Engine Programmer and I felt like a child, I learnt things from watching to this little introduction… omg… this teacher is God
No he's not. He's funny in my opinion. LOL
He's a great teacher. God bless him!
I really like how he addressed the question about style. Personally I like the braces on the same line as the if statement. He said you develop your own style with experience.
I got my bachelor's in Computer Science from Florida State University and their curriculum with programming is based on C++ with classes for intro, object-oriented, and data structures. After those classes, we start getting into using C with concurrent and parallel programming, computer organization, and computer architecture.
Was it worth going into? I am a freshman and I hear from people who graduated they are having trouble finding jobs and it's starting to discourage me.
Taking the time to say thank you, this video has opened me up to more of the coding world.
47:03 I love the way he admit his mistake
If anyone else if curious, I think the bug he's talking about is leaving off a newline in "hello, %s"
incredibly informative video. david mulan states everything in a very understandable way. learned more in the first hour than the other 4 hour long "courses" elsewhere on youtube.
1.binary
2.ascii code
3.rgb
4.image
5.video
6.algorithm
7.pseudocode
If my cs fundamental course are taught this way, I would be happier to learn more instead of struggling on self-learning the whole time! While self learning, to some degree is necessary, but I would rather learn this way. Thanks!
one of the best things about CS50 is that it's never about the programming itself. David J. Malan explains many more concepts such as algorithms, inputs and outputs, problems, and solutions. It's more about computer science and presenting real-life scenarios rather than just writing some functions and syntax on the screen.
It's very impressive for the instructor to speak so much and and fast.
Hello , myself Arindom from INDIA , don't have much idea about programming, just started to know about it and I keep going.
He is so good at teaching and say's humans so many times, that I'm starting to think he isn't one. No wonder Harvard are so good, they have extraterrestrials for lecturers.
Word taken from Conan O'Brien: "When someone refers to themselves, or other people as humans, they are not one."
I think he says that instead of engineer so as not to discourage the students who may not see themselves as an engineer.
@@AnNguyen-oz6qw 😂😂 that's a good one
It’s so good to see programs like Scratch. I hope more middle or elementary schools teach programming.
I dont have tecnic class nor programming class. It says on my shedelue that we do, but i think its just a cover for the school. They do not want to learn out tec witch results in not passing the grade. And my score will get low
My school back in the late 70's early 80s got a computer , I learned logo and lisp in fourth grade and got an Atari 400 when it came out , using basic and assembly at home.. I was teaching the 6 graders..
Can you do an auto complete/correct program subroutine in scratch? Or is it too oversimplified? I mean can you detect key presses, scanning and interups and handle them yourself, at least a get() instead of input()?
I took a c class in college , watching this because I forgotten most of it in the last 30 years...
Looking back, I had a talent, that's what I should have been doing ....
This guy is awesome! Great presentation of the subject!
Watched the entire video, wow! Thank you for breaking it down from electricity up to the abstraction level!
I don't even care if you add ads to the download you're just such a goat ❤️ ❤️ ❤️
I JUST WATCH THE HOLE VIDEO EVEN WHEN I LEARN C IN THE PAST SEMESTER IN MY UNIVERSITY, BUT... OMG THIS TEACHER IS AMAZING, HE CATCH MY ATTENTION SINCE SECOND ONE!!!!
Thanks! I learned a lot about C programming and just programming in general.
The great teacher i ve ever seen
Awesome professor, only 15 minutes in and wow just wow.
i start programming since 9th grade(now freshman collage) and these people are just covering what i did't cover in 5 years
I'd like to offer an alternative interpretation for the rationale of starting from 0: offsets. When you have a pointer to some address in memory, and then you have a second pointer that will start from the first pointer and "walk" along the data structure, what do you say the difference is when both pointers are equal,. i.e. when the mobile pointer is pointing to the first element? The difference is zero, that's its offset. So to say you're grabbing the value at address `pointer + 0` (offset zero units from the start of the data) is to say that you're grabbing the first element. if `*(array + 0)` was equivalent to `array[1]` instead of `array[0]`, arrays would be a LOT harder to navigate and off-by-one errors would be a lot more common.
That's the real reason: Pointer arithmetic, file offsets, anywhere you are dealing with offsets (which turns out to be most of the time), zero indexing is more mathematically natural. Or if you're pushing elements into an array by using its length: `array[length] = value`, `memcpy(array + length, array2, MIN(availablesize, length2))`, and then `array` s length is incremented by the number of bytes added. It's simple. People only think it's hard because they deal with C strings which tack on an extra byte at the end while not considering it part of the array (strlen returns the length excluding the final byte).
You can also create new files in the Terminal window by using the "touch" command. So entering something like "touch int.c" would create that file!
or vim int.c and be cool
Are all Harvard classrooms this beautiful? I would love to go to school there. Just to experience the beauty and history of the school itself.
You are a skillful teacher. Thanks for sharing your talent,
i like the way he teach such a very good teaching style.
everybody needs a lecturer like him in their lives :)
the Great teacher ever on the Planet
Animated and exciting, I’ve never seen a stem professor like this lol
May God always bless these people.
Thank you Mike, you are a great teacher
i am speechless thank you code academy
superior explanation for beginners
he is one of the best teacher i saw so much enthusiastic .
If(xY)
Nice graphics and video for a lecture. I remember my programming (lisp,PL/1,Pascal, learned C on my own) classes as much quicker and denser information. The only class I had trouble was assembly, had a poor teacher (grad student, first time on subject. Later I took assembly from a retired industry professional at a junior college and it was tremendous. He had the best students trying to save machine cycles and make well structured programs. T
😊
The maximum value of 32 bits in decimal ( 111...1) is 1073741824 ( 2^30 maximum ) , ( i made a C function for that )
He is gift to humanity and people who want to learn com sci
I love the way he teaches stuff.
Hatts off to the enthusiasm of the teacher !
Brilliant video! Really cleared my concepts on under/overflow!
how dafuqq :|
Really enjoyed this. Although I would have preferred if he advised students that you should not use your own stylistic way of writing code but to write it as he did because it's considered the industry standard.
Really helping fill in the spaces from FCC! Gracias! Great teaching style
Hi
This instructor is amazing. Thanks!
Thanks for this. Please continue uploading this kind of videos.
Wow this is great and the beginning is super cool! 😎
I feel great when i am one of the 62k people who have learnt from it and rest of the world is stuck at following trends :P
I love how witty you are :))
It is a very interesting... and clear explaining. C Language is the predecessor of C++, Java, C# ..... etc. Basically before C Language, Pascal was a best structural language for Computer Science students. Pascal gives you essence of Computer High Level Language easily.
If I was teaching at Harvard University. I'll be as much enthusiastic as him teaching.
What a method of teaching, awesome ❤️❤️
If you don't learn CS first, you'll be in a world of "hurt" later.
Super lecturer!
Thank you very much for this. HAD MADE IT MY NEW YEAR RESOLUTION to finally learn some COMPUTER SCIENCE....Better late than never as some say EYE GUESS ;0).....well guess am a Millennial Minority but maybe there are others like me BORN IN 1984
That's why error handling in high level languages makes sense. And C inspired high-level language like C# do that inbuilt.
i already know C basics but i'm gonna be watching this
I’d love to have this gentlemen as my professor. 👏🏻👏🏻👏🏻
I can officially say I took a course from Harvard now
this is very very basic, but those basics are explained or conveyed in a way better way
Last time I learn was 13 years ago but its great get refresher
If all CS instructors were this enthusiastic, we would have achieved AGI 5 years ago.
We need this kind of teachers, 🙂
I am just loved these sessions😊😊
Really good..this is the best learning video i have ever watched..really helpful...
Very clear! Thank you charismatic instructor!
That's the reason why everyone want to study Computer Science in top College like Harvard!!!
Garbage school
1:51:25 you should correct the function call to : " void cough(int);"
You know this learning video is going to be very helpful to you when it from Harvard University
Boring video
C is the most beautifully built programming language to ever exist. C++ is great but not as good as C
C++ is literally just an extended version of C tho
@@branshi4746 Well yeah. I personally just prefer procedural languages, C++ isn't bad and I still use it often
@@SkyenNovaA how you learned programming
C does not have boolean data types, and normally uses integers for boolean testing. ("bool" is defined in a library.) 1 is TRUE and 0 is FALSE. (Actually, anything other than 0 is TRUE.) The "while" statement for the infinite loop can be shortened to "while(1):".
But while true is more readable, the performance gain is minimal
Thank you for spending so much time helping us.😄
Float is lossy, you can get decimal points using fixed points but I never seen it officially supported, you just have to roll your own. Sure its decimal will always be 1/256 or 1/65536, Americans are used to fractional inches on tools.
A Compiler is a Virtual Machine that Understands more than 1's or 0's. You can even make a Machine that Understands that Without 1 / 0 hardware.
A quantum Computer is a Different type of Machine.
Compilers have nothing to do with virtual machines
Outstanding. Exceptional.
worth seeing entire video
The music when it was starting 🔥
What a wonderful explanation! Bravo!
For deciding when to use a float or a double, this is known as "Terry's God Question". You have to decide whether a decision in code is Divine Intellect, or if its too much voodoo for the intended purposes.
Excellent. Absolutely valuable. I'm in.