Lecture 1 | Programming Paradigms (Stanford)

  Рет қаралды 1,119,381

Stanford

Stanford

Күн бұрын

Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. Professor Cain provides an overview of the course.
Programming Paradigms (CS107) introduces several programming languages, including C, Assembly, C++, Concurrent Programming, Scheme, and Python. The class aims to teach students how to write code for each of these individual languages and to understand the programming paradigms behind these languages.
Complete Playlist for the Course:
kzbin.info_play_list...
CS 107 Course Website:
www.CS107.stanford.edu/
Stanford University:
www.stanford.edu/
Stanford University Channel on KZbin:
/ stanford

Пікірлер: 446
@Isayonelove
@Isayonelove 11 жыл бұрын
Programming Methodology (CS106A) comes first, then Programming Abstractions (CS106B) and then Programming Paradigms (CS107).
@mgg2665
@mgg2665 3 жыл бұрын
@@Isayonelove Wow! I witnessed a 7 year old comment being responded 7 years after, how many times in life you get to see that? hahahaha
@Isayonelove
@Isayonelove 3 жыл бұрын
@@mgg2665 i also replied to the original comment, which seems to be deleted now, within an hour of him posting the reply, seven years after i made the original.
@mgg2665
@mgg2665 3 жыл бұрын
@@Isayonelove yes I meant by the author which is you (english is not my first language I don't know how to express myself clearly hahaha)
@amaankhan6721
@amaankhan6721 3 жыл бұрын
@@mgg2665 me too
@makara2711
@makara2711 3 жыл бұрын
@@amaankhan6721 what programming language is used in this course?
@jmjohnson42342
@jmjohnson42342 9 жыл бұрын
I was not surprised to find that this course is very closely structured around the book Computer Systems: A programmer's Perspective by Bryant & O'Hallaron. The introductory systems course at my university uses this book, Stanford uses this book, pretty much every reputable university offering this class at least recommend it. I have read about half of the book from the first page and these lectures come off as a less-detailed guided tour through the chapters. So if you are serious about learning this material I recommend that you try to get the book and follow the course's tour through it.
@MsGrooveOn
@MsGrooveOn 9 жыл бұрын
Yeap the book is amazing!, I already bought paper version
@codingwithelhacen990
@codingwithelhacen990 4 жыл бұрын
Thank you for pointing that out.
@jhonelmerbustamante9296
@jhonelmerbustamante9296 4 жыл бұрын
I already downloaded it. Thanks for you recommedation
@mgg2665
@mgg2665 3 жыл бұрын
Thank you very much didn't know about it and probably wouldn't if it wasn't for you
@Balboa_Rocky
@Balboa_Rocky 2 жыл бұрын
@@sebastianospino4861 Doesn't matter; knowledge and research must always be open- source and freely accessible.
@df6148
@df6148 5 жыл бұрын
I really like how this teacher always stops to make sure that we understand what he explained. He used great examples to explain how scheme works (atm machines dual withdraw at the same time) and how they stagger processing at a high speed. I'm freelance learning to code so I find these videos very very useful. Thanks for posting them!
@frankie_goestohollywood
@frankie_goestohollywood 4 жыл бұрын
A gem of a professor!!!! Excellent !!! Thank you, Professor Jerry - you are one of the best !!!
@bra5081
@bra5081 8 жыл бұрын
Thanks to Stanford for sharing this ressource with us
@WhatsACreel
@WhatsACreel 11 жыл бұрын
This lecture series is incredible, really amazing information. I've not come across some of the stuff in these lectures anywhere else on the net, cheers Stanford and Jerry Cain.
@Equix3n
@Equix3n 14 жыл бұрын
He's a good lecturer. I can understand everything he's saying. I'm glad I found these lectures.
@TurrettiniPizza
@TurrettiniPizza 7 жыл бұрын
Yes, that makes sense. Thanks for asking.
@lockbert99
@lockbert99 5 жыл бұрын
He gives a solid 2 milliseconds for someone to say “it doesn’t make sense”.
@nathanaelyang1543
@nathanaelyang1543 5 жыл бұрын
@@lockbert99 Yeah, exactly. You just have no chance to opposite.
@moopcowonline3168
@moopcowonline3168 4 жыл бұрын
Welcome to the IVY LEAGUE BITCH
@mikethegamedev
@mikethegamedev 3 жыл бұрын
hhhh
@miscibi
@miscibi 8 жыл бұрын
I LOVE U Jerry! I love the way you explain stuff. Perfect. Beautiful. Clear. Also your voice makes it all the better. :)
@Zexanima
@Zexanima 12 жыл бұрын
I want to go to Stanford so bad. The teachers are amazing. I've learned a ton since I've started watching the Methodology courses.
@ExtremeXperiece
@ExtremeXperiece 6 ай бұрын
Watching this lesson 15 years later, I can validate his closing statement as true.
@Metadaxe
@Metadaxe 7 жыл бұрын
I've been really mystified by what "object-oriented" meant for like a decade now, until I watched this video and I understood immediately. So yes, Jerry, this made sense.
@rodrigofonsecajr
@rodrigofonsecajr 11 жыл бұрын
Muito bom, parabéns ao professor Jerry Cain e a universidade de Stanford ;) vou seguir todas as aulas
@trommelbiel
@trommelbiel 12 жыл бұрын
I love programming but I never did a formal course on programming except snippets here and there. You guys are lucky. I wish I was younger and ready to roll. But I will keep watching.Thanks Prof. Greetings from Germany.
@zbdua
@zbdua 15 жыл бұрын
These lectures are AWESOME, thank you Stanford and thank you Jerry from mexico !!!
@biophr34k
@biophr34k 4 жыл бұрын
Beautifully explained, thanks for making this available!
@hippityhoppity657
@hippityhoppity657 5 жыл бұрын
it feels nice when i understand introductions
@easyvoip
@easyvoip 15 жыл бұрын
I took a class in Stanford with Jerry. He is awesome!!!
@brendanreeves9645
@brendanreeves9645 Жыл бұрын
As someone taking CS 107 right now, it's fascinating to see the same professor teaching what is now a very different course!
@csm-csm
@csm-csm Жыл бұрын
Could you share new syllabus?
@johnarthro5127
@johnarthro5127 Жыл бұрын
you mean that he lowering the level ?
@lepidoptera9337
@lepidoptera9337 11 ай бұрын
If they don't teach this now, then they are not teaching you well. ;-)
@chelvan2
@chelvan2 14 жыл бұрын
This is very well explained, pretty much everything i learn from college the last 3 years are explained in 17 minutes, but there are the hand to hand work involved..
@SquirrelGott
@SquirrelGott 11 жыл бұрын
6 minutes in and I'm feeling great about this guys ability to teach.
@mohitsharma2376
@mohitsharma2376 11 жыл бұрын
man ....... 1st time impressed by a programming teacher...!!!!!
@rockstaraieee
@rockstaraieee 7 жыл бұрын
Thanks a lot Stanford for doing this.
@timhawthorn7903
@timhawthorn7903 7 жыл бұрын
I like this guy already. Just the right level.
@crummmycheese
@crummmycheese 8 жыл бұрын
Thank you Stanford and Jerry :)
@beemer9108
@beemer9108 7 жыл бұрын
Does that make sense to people? Great explanation.
@mnhvandz2980
@mnhvandz2980 8 жыл бұрын
Loving going back to school (20 years later), Side note to my english teacher back in 1996 at ucaliptus lycee dz: you are the reason I left school too early, instead of teching me english you show me what it looks like to hate a person.
@Ugenetic
@Ugenetic 9 жыл бұрын
Gave this man a raise seriously. He knows how it works, and He knows how to convey it too. Try to read "the Arcane" wrote by Newton and Eisenstein? effing nightmare. The comparison of programming paradigms were too esoteric on Wikipedia. This man did it in several sentences. And he knew how to relate to the listener's experience.
@Thunderjoe87
@Thunderjoe87 10 жыл бұрын
I am listening to this guy in the background while I am writing some programs, and I realized that it is Johnny Bravo teaching this class!!
@wavecollectivevideos
@wavecollectivevideos 14 жыл бұрын
This information is great ;) I live in Spain and I studied programming in Symfony PHP but C++ is the base of programming when you are programmer ;)
@jamebozo
@jamebozo 12 жыл бұрын
Thanks for whoever added the text to this video : ) really helped.
@CodeAndYou
@CodeAndYou 7 жыл бұрын
I like the ones on C and C++. They made me fall in love with C all over again after I entered the Java world as a software professional. But yeah, I must say, I did not enjoy these lectures too much when I was doing my graduation in computer science engineering back in 2010. I liked CS106A better, somehow.
@anfield6321
@anfield6321 3 жыл бұрын
This is a legendary course
@Permafrostrock
@Permafrostrock 11 жыл бұрын
Relying on online tutorials and/or handbooks is the actually big deal when learning new languages. You grasp the ideas and try something out. And it does come in handy if you learn about the computer itself and how information is physically processed. It took me more than a year now starting only from wirting webpages in HTML to do some very useful stuff in more than one language. However, it still takes more experience than this to be a full programmer. I am hydrogeologist, so ... :)
@lollercakes9
@lollercakes9 13 жыл бұрын
Such beautiful chalkboard skills, especially with that thick chalk. Love it.
@pratiklondhe5167
@pratiklondhe5167 2 жыл бұрын
nice
@slavikarg
@slavikarg 13 жыл бұрын
Thanks for sharing, the information is great quality wich is so hard to find these days on the nets.
@cc300549
@cc300549 12 жыл бұрын
I like this teacher my teacher doesn't even know much about the subject he just reads out of a book. and he will admit that to anyone.
@abhishektul
@abhishektul 14 жыл бұрын
Don't look at negative responses it is very useful for students. Please, keeep it up
@soulpipe
@soulpipe 15 жыл бұрын
I like the fact that when he says does that make sense he's refering to people as a whole!"!
@webmessia
@webmessia 14 жыл бұрын
Just incase you didn't know, anything executed on a machine, has been compiled into assembly first. Most device drivers are written in C but sometimes programmers modify the compiled code in order to optimise it. However virtually nothing is written mostly in assembly anymore
@darius8214
@darius8214 10 жыл бұрын
Try living in third world countries, these university lectures are a god send.
@bashmogd4468
@bashmogd4468 4 жыл бұрын
no really , no big different between what ppl get in bachelor in third wolrd countries and what ppl would get in stanford , this same ,i guess the differnet would be in advanced Topic
@ccgb92
@ccgb92 4 жыл бұрын
@@bashmogd4468 stfu
@rileydavidjesus
@rileydavidjesus 3 жыл бұрын
It's good for first world too
@paulchen355
@paulchen355 3 жыл бұрын
@@rileydavidjesus this is very true.. my American college is not good enough
@jaymahakaal5354
@jaymahakaal5354 2 жыл бұрын
After 13year still helpful... Thank you Oxford 😊
@frankwillimasugwu6938
@frankwillimasugwu6938 Жыл бұрын
Hi
@saurabhkatiyar2704
@saurabhkatiyar2704 Жыл бұрын
@@frankwillimasugwu6938 hi
@salaschen
@salaschen 12 жыл бұрын
Horray~~~ Thanks for sharing this wonderful course!!!
@darkdudironaji
@darkdudironaji 13 жыл бұрын
@GoodCitizen44 I was always taught that assembly was one step above machine code where machine code is hex and assembly is an actual language you can compile into hex.
@CjhEjdl
@CjhEjdl 6 жыл бұрын
God bless this guy
@U6D65
@U6D65 12 жыл бұрын
@canufi Yes, void foo() it's a procedure, because it's called only for side effects. But i'm not sure if it would be useful to have 2 names for very close notations. One more thing, void foo() returns void which is a c type, but is not a value.
@coolcodingtips4624
@coolcodingtips4624 7 жыл бұрын
Thank you stanford!
@KagimuBrian
@KagimuBrian 5 жыл бұрын
very insightful lecture, thank you
@eileenBrain
@eileenBrain 15 жыл бұрын
great teacher, easy to understand.
@deepakkumare0164
@deepakkumare0164 3 жыл бұрын
Hats off to you sir👌👌👌
@Tapajara
@Tapajara 13 жыл бұрын
Jerry points out a lot of deficiencies in C. I realized these deficiencies while beginning my programming career in 1985. Since then I have been designing a new programming language that corrects them and adds a lot more. The new language is ϕPPL.
@shrek22
@shrek22 7 жыл бұрын
this guy, hero status
@johng5261
@johng5261 7 жыл бұрын
this guy is pretty good, he takes his study and teaching seriously. His students definitely benefit.
@maxemore
@maxemore 4 жыл бұрын
Wow I wish my professors were as clear with their words as this guy
@medoelkorsan
@medoelkorsan 15 жыл бұрын
wheew why i never heard of that before i knew about MIT open course ware it is is the first time to see that it is great i enjoyed it :)
@MarcelGirgis
@MarcelGirgis 15 жыл бұрын
Of course! This is great.
@noevelasquez5109
@noevelasquez5109 Жыл бұрын
Very HELPFUL.....Thanks so much !!!!!
@sebster3gmail
@sebster3gmail 11 жыл бұрын
it does make sence if you know what programming is all about.
@TremendousSax
@TremendousSax 13 жыл бұрын
@darkdudironaji Assembly has mnemonics to symbolize the op-codes available for a particular architecture. Using a more human readable form than hex (which is a higher level representation of the electrical phenomena that make computers possible) could be considered "one step above machine code," but since each assembly instruction has a one-to-one mapping with a machine code instruction, they're essentially equivalent in degree of abstraction.
@JoseTorres-ez9zh
@JoseTorres-ez9zh 10 жыл бұрын
Keep up your with your studies.
@mohamoudsheikh6387
@mohamoudsheikh6387 6 жыл бұрын
totally makes sense doc
@python-javascript
@python-javascript 11 ай бұрын
Great video!
@irvingc4508
@irvingc4508 9 жыл бұрын
I took a course in C Programming and understand what pointers and function calls... but I thought this was supposed to be an introductory course. If I didn't take that course, I'd be lost in the sauce right now.
@chelvan2
@chelvan2 14 жыл бұрын
overall, i do understand the whole lecture, thanks.. basically, the first few minutes talks about OOP, Object Orientation, how to easily control the flow of your program better. since being a good programmer require good programming habits, they have to reuse the same technique in all types of difference language, if you understand the difference between C and C++, you can reuse the OOP skills in all other languages..
@tamyboy1
@tamyboy1 12 жыл бұрын
waow what a solid teacher man
@AlejandroHernandez-ce8qs
@AlejandroHernandez-ce8qs 11 жыл бұрын
man i just love how ppt seem to be extinct in these lectures. Go Board!!
@PrincessOPD_Utah
@PrincessOPD_Utah 9 ай бұрын
Let’s get it!!!
@abdulvajidkt
@abdulvajidkt Жыл бұрын
What a session !!!
@PalashHalderADI
@PalashHalderADI 10 жыл бұрын
Marvellous!!!
@bobbygnosis
@bobbygnosis 14 жыл бұрын
For clarification of Assembly and Machine Codes go ahead and read "Zen and the Art of Motorcycle Maintenence." Pirsig discusses rather a lot about the relationships between programs, machines and humans. More importantly he goes into detail about the implications ragarding the confusions between Assemblies and Machine Codes. This is a subtle and very interesting problem being indirectly addressed here. Does that make sense?
@KianSheik
@KianSheik 10 жыл бұрын
does that make sense?
@SFConifer
@SFConifer 13 жыл бұрын
The videos are transcribed by Stanford students. They are fast typists and do a valuable service. Can't fault them if they are not familiar with the jargon.
@securityfreakdotnet
@securityfreakdotnet 15 жыл бұрын
Awesome! Wish you were my teacher
@IslandCave
@IslandCave 14 жыл бұрын
@PlasteredDragon Seems like a very compiler dependent statement to me. pointer resolution, addresses, pointer members
@mogisfubared
@mogisfubared 15 жыл бұрын
Assembly IS machine code, it just replaces the opcodes with mnemonics and converts the addresses and values from binray.
@U6D65
@U6D65 12 жыл бұрын
@canufi Because you can replace a function call in a expression with the value which it returns. ex: int a = 1 + foo(); and foo() returns a int. PS. Don't get me wrong i like functional languages(especially Haskell) but there it's some logic in here too.
@eihodge
@eihodge 3 жыл бұрын
I love that all of this is available for free.
@kumarprateek238
@kumarprateek238 3 жыл бұрын
someone shared this on reddit www.infocobuild.com/education/audio-video-courses/computer-science/computer-science.html it has the list of several videos
@kumarprateek238
@kumarprateek238 3 жыл бұрын
here is a list of e books for hacking and stuff www.dropbox.com/sh/9fxupb8j1u9k8l1/AADZVbFcJJI1zJxWeLHz4zp9a/eBooks?dl=0&subfolder_nav_tracking=1
@ZaFrostPet
@ZaFrostPet 11 жыл бұрын
awesome course. assemble part was kinda hard. pointers and multithreading parts were fan. functional programming now makes sense, but i still feel myself lost there( maybe need more practice and will probably try MIT Structure and Interpretation). Jerry Cain is a great teacher!
@yan2292008
@yan2292008 15 жыл бұрын
grt stuff !!! thnks "stdford "a lot fr dis !!! frm india !
@Oblivic
@Oblivic 6 жыл бұрын
does anyone have the exercises/solutions to go along with this course? I couldn't find any. and the course link in the description is broken.
@ohaRega
@ohaRega 4 жыл бұрын
It does make sense to people
@bekobekic
@bekobekic 15 жыл бұрын
Great lecture! Greets from Europe/Vienna
@sham277
@sham277 15 жыл бұрын
you'd have to buy the software to slow it down though right? ps -if you're a complete ( and absolute utter newbie to everything computer related but wanna try learning something , start with this vid? )
@greatgrahambini
@greatgrahambini 14 жыл бұрын
I believe he is talking about the runtime heap and stack, not the data structures with the same names.
@pronmaster09
@pronmaster09 10 жыл бұрын
sounds like a blast.
@dankbot420
@dankbot420 15 жыл бұрын
imperative/procedural paradigm functional paradigm I wonder how "concurrent programming" relates to multicore processors or clustering? PVM/MPI
@lepidoptera9337
@lepidoptera9337 11 ай бұрын
He has some good points, but at the end of the day everybody "programs in C" because what we want from a program are the side effects, i.e. the execution of the functions. It doesn't matter how we package these functions and how we call them. The goal of programming is always about an algorithm to solve a problem (and solving that problem is the actual goal, but never mind that). What makes this a quality class is that he is teaching you what the compiler does with your code, because that is important, no matter which paradigm you use and in what language you write. This looks like a much better class than some others I have seen (even from Stanford professors).
@j_m_b_1914
@j_m_b_1914 8 жыл бұрын
"You've probably heard of a language called Perl. It's not a very pretty language." Ouch.
@johng5261
@johng5261 7 жыл бұрын
its not pretty? You think it is? :)
@landonpowell6296
@landonpowell6296 7 жыл бұрын
It looks like a mixture of regular expressions and random symbols. It's the opposite of good language design.
@niilespunkari8832
@niilespunkari8832 7 жыл бұрын
@ 13:45
@jsmithmultimediatech
@jsmithmultimediatech 5 жыл бұрын
It's funny you should say that about Regular Expressions, actually is where the whole idea for that came from developed by Larry Wall even Reg Ex's like Perl itself was lol, such as the acronym PCRE Perl Compatible Regular Expressions (PHP I believe uses that).
@kkk0071234
@kkk0071234 14 жыл бұрын
Is there a way to access the assignment questions and/or handouts?
@salaschen
@salaschen 12 жыл бұрын
@aliancemd and "encrypting language" when introducing python which is a "scripting language" :)
@DevITIS7
@DevITIS7 12 жыл бұрын
Just a minor correction. Assembly isn't actually 0s and 1s, that's machine code. C/C++ --> Assembly --> Machine code (runtime specific). :)
@sunnz
@sunnz 14 жыл бұрын
@mlampo yes, yes of course it does.
@Kansyn
@Kansyn 13 жыл бұрын
does this lectures teach programming from begginer or do people there already have to know the languages?
@jayeshjodhawat5143
@jayeshjodhawat5143 7 жыл бұрын
Course Transcripts: see.stanford.edu/materials/icsppcs107/transcripts/ProgrammingParadigms-Lecture01.pdf
@divyanterance4357
@divyanterance4357 12 жыл бұрын
rarely does teachers actually care if the students undersand "Does that make sense to you ppl". I Love When They Do.!
@smozoma
@smozoma 14 жыл бұрын
if you're not a native english speaker, subtitles can actually help out a lot, especially for technical words that may be unfamiliar..
@yellowbeans01
@yellowbeans01 11 жыл бұрын
What hs did you go to? We got visual basic and that was only useful on teaching me about standards.
@techbytes4u492
@techbytes4u492 9 жыл бұрын
very helpful video
@Neme112
@Neme112 7 жыл бұрын
Does that make sense to people?
@thinkGrey_
@thinkGrey_ 2 жыл бұрын
loved it.
@lowellriggsiam
@lowellriggsiam 14 жыл бұрын
I took software programming at ITT, I wised up after 6 months, a teacher that didn't show up for class, a teacher that couldn't remember what assignment he was requesting, and one who couldn't keep control of his class. Stanford looks better.
Lecture 2 | Programming Paradigms (Stanford)
51:04
Stanford
Рет қаралды 500 М.
Парадигмы программирования (обзор)
51:57
Timur Shemsedinov
Рет қаралды 15 М.
PINK STEERING STEERING CAR
00:31
Levsob
Рет қаралды 22 МЛН
Balloon Stepping Challenge: Barry Policeman Vs  Herobrine and His Friends
00:28
5 Reasons to Learn Scheme in 2024
13:37
System Crafters
Рет қаралды 11 М.
The purest coding style, where bugs are near impossible
10:25
Coderized
Рет қаралды 890 М.
Lec 1 | MIT 18.01 Single Variable Calculus, Fall 2007
51:33
MIT OpenCourseWare
Рет қаралды 2,2 МЛН
Programming Paradigms - Computerphile
10:44
Computerphile
Рет қаралды 678 М.
Leslie Lamport: Thinking Above the Code
59:50
Microsoft Research
Рет қаралды 363 М.
Von Neumann Architecture - Computerphile
16:20
Computerphile
Рет қаралды 630 М.
Lecture 1 | Modern Physics: Classical Mechanics (Stanford)
47:50
Stanford
Рет қаралды 1,2 МЛН
Ditch your Favorite Programming Paradigm
6:08
Code Persist
Рет қаралды 163 М.
My 2 Year Journey of Learning C, in 9 minutes
8:42
VoxelRifts
Рет қаралды 555 М.
PINK STEERING STEERING CAR
00:31
Levsob
Рет қаралды 22 МЛН