Programming MethodologyLecture01Word格式.docx
《Programming MethodologyLecture01Word格式.docx》由会员分享,可在线阅读,更多相关《Programming MethodologyLecture01Word格式.docx(17页珍藏版)》请在冰豆网上搜索。
![Programming MethodologyLecture01Word格式.docx](https://file1.bdocx.com/fileroot1/2022-12/11/2a562d1d-88fb-4453-ba19-d17de1ab4fcc/2a562d1d-88fb-4453-ba19-d17de1ab4fcc1.gif)
sthesamething.Noworries,okay?
There'
sfourhandouts.They'
reintheback.Ifyouhaven'
talreadygottenthehandoutsbecauseyoucameinandyousatdown,don'
tworry.Youcanpickthemuponthewayout.They'
rethesamehandouts.They'
llstillbethere.
Sojustaquickintroduction.That'
swhatthefirstfourhandoutsactuallygiveyou.Theygiveyoualittlebitofanintroductiontotheclass,whatwe'
regonnacover,somelogisticsfortheclassandsomeotherstuff.I'
mgonnagooverallthattodaysowecansortofgetagoodideaforwherewe'
reat,okay?
Sojustaquickshowofhandsbeforewegetintoabunchofthingsintheclass.Thisiskindofanintro-programmingcourse;
well,itis.Ishouldn'
tsayit'
skindofanintro-programmingcourse.Itisanintro-programmingcourse.Andit'
salwaysgoodtogetanideaastohowmuchfamiliarityyoumayhavebeforehand,okay?
Sojustquickshowofhands.Howmanypeoplecanrecognizeacomputerthat'
son?
Good,good.That'
stheprerequisiteforthisclass.
Soifyou'
reworriedabouthowmuchpreviousexperienceyou'
vehadoryourfriendwho,like,workedtheirwaythroughhighschoolbyprogrammingforGoogleorwhatever,don'
tworryaboutitbecauseallyouneedtoknowinhereisbasicallyeitherhowtoturnacomputeronortorecognizeacomputerthat'
sonifyouweretowalkuptoitanditwerealreadytobeon,allright?
Sobutalittlebitmoreseriously,howmanypeoplehaveactuallyusedacomputerforanything?
Allright.Iwouldexpectmostofyou.
Sonow,webegintobumpitupanotch.Howmanypeoplehaveuseditforwordprocessing?
Okay.Mostfolks.
Howmanypeoplehavedonewebbrowsing?
Yeah,Iwon'
taskyouwhatyoulookat,allright?
It'
sjustIdon'
twannaknow.
Howmanypeoplehaveactuallycreatedawebpage?
Okay.Fairnumber.
Howmanypeoplehavedoneanykindofprogrammingbefore?
Fairnumber.Allright.
HowabouthowmanyfolkshavedoneactuallyprogrammedinJavabefore?
Allright.Afewfolks.
Howaboutanotherlanguage,C,C++,BASIC,anyoneprograminBASIC?
Yeah,oh,Ilove?
thatwasthefirstlanguageIlearned,anditwaskindoflikethewarmandfuzzy,andIfeltgood.TherewasactuallypeoplewhoarguedthatifyoulearnBASICasyourfirstlanguage,you'
rebraindamaged,thenyou'
rejustbeyondhelp.Butifthat'
sthecase,we'
reallintheboattogetherbecauseI'
mprobablybraindamagedaswell.ThetruthisIprobablyam,butthat'
sawholedifferentstory.
Allright.SoonethingyoushouldknowkindofupfrontisactuallythiscourseisgonnabeprovidedeventuallysomewheredownthelineaspartofStanfordSchoolofEngineeringFreeCourseInitiative,whichmeansnotonlyarewerecordingthiscoursetobroadcasttoabunchofcompaniesandindustrywhoarewatchingthiscourse,butwe'
reeventuallygonnaprovideitfreetotheworld.
Sohowdoesthatimpactyourlife?
Andontheaverageday,itdoesn'
tatall.Theonlywayitdoesimpactyourlifeisjustsoyoushouldknow,thelawyerstoldmetotellyouthatyourvoice,shouldyouaskaquestion,mayactuallyberecordedaspartofthevideo.Asaresult,yourvoicemayendupgoingouttothousandsofpeopleormillionsofpeopleintheworld.Ifyouhaveanissuewiththat,cometalktome.Ifyoudon'
t,everythingisjustfine,allright?
Don'
tworry.We'
renotgonnaputyourpictureuporanythinglikethat.Youmightwannabeonthevideo,like,"
Hey,ma,I'
monTV."
Wedecidedthatwe'
rejustgonnanotshowanyoneactuallyonthevideo,butyourvoicemayactuallygetrecorded,okay?
Now,alongthoselines,youmayalsonoticetherearesomemicrophonesintheroom.Sowhenyouwannaaskaquestion,pleasemakesuretousethemicrophonebecausethat'
snotonlygoodforpeopleinheretobeabletohearyourquestion,it'
salsogoodforallthefolksthatthisisgettingbroadcasttobecausenotonlyarewegonnabroadcasttotheworld,butthere'
sactuallysomefolkswhoaresortofwatchingthislivenowinvariouscompaniesinSiliconValley.
Soit'
srealimportantthatyouactuallyusethemicrophone,sojustrememberthat.Andeveryonceinawhile,Imightgetonyourcaseandbe,like,"
Pleaseusethemicrophone."
I'
mnottryingtobeargumentativeoranything.Ijustwannamakesurewepickupalltheaudio,allright?
Sowiththatsaid,alittlebitofanintroduction.That'
skindofawayofbackground.Ididn'
tgiveyouanysortofintroduction.Sojusttointroducemyself,myname'
sMehranSahami.I'
mtheprofessorfortheclass.Don'
tcallmyProfessorSahami,waytooformal.Don'
tcallmeMr.Sahami.That,Ithinkofmydad.Anddon'
tcallmeMrs.Sahami,orwe'
regonnahaveissues,allright?
SojustcallmeMehran.We'
llgetalong.It'
sjustfine,allright?
stokeepthingsalittlebitmoreinformal,butthatwayit'
salittlebiteasiertodiscussstuffasyougoalong.
ThereisalsoaheadTAfortheclass,BenNewman,who'
sstandingupthere.GettoknowBen.Hehasalltherealpowerinthisclass.I'
mjustkindofthemonkeythatgetsuphereandgivesthelectures.ButBenreallyistheonewho'
sgotallthepower.
AlongwiththeheadTAfortheclass,wehavealargesectionleadingstaff.Sothesectionleadershere,couldyoustandupifyou'
rehere?
They'
rekindofallovertheplace,someoverhere,someoverthere,andsomeoverthere.Asyoucansee,there'
saprettylargenumberoffolks.Andthisisn'
tevenallofthem.Wesortofhavemore?
wejustcan'
tstuffthemallintotheroom?
whoaresectionleadersfortheclass,andthesefolksareallheretomakesurethateveryoneinthisclasshasasgoodanexperienceaspossiblewhenwe'
resortofgoingthroughtheclass.
Andthebestwaytoreachallofusisemail.SoonHandoutNo.1,yougetmyemailandBen'
semail.We'
lltellyouhowtosignupforsection.That'
showyou'
llmeetyoursectionleaderandgetyoursectionleader'
semail.Thatwillallbecomingsoon.Butemailreallyiskindofahappyformofcommunicationtogetaholdofus,okay?
Sowiththatsaid,Iwannatellyoualittlebitaboutthisclassandkindofwhatwe'
regonnadoinhereandwhatyoushouldexpectandmakesurethatyoudon'
tfeelscaredoffbythisclass,okay?
Becauseitreallyismeanttosortofbeaninterestingtime.
ButonequestionthatcomesupiswhyisthisclasscalledProgrammingMethodology,right?
Whydon'
twejustcallthisclass,like,ProgrammingwithJava?
Andtherealreasonforthatisthatprogrammingmethodologyisaboutgoodsoftwareengineeringprinciples.It'
saboutsomethingthat'
smuchlargerthanjustprogramming.
Sosomepeople,like,they'
llgoandgetabooksomewhereandthey'
llthinktheylearnedhowtoprogrambyjustreadingthebook.Andthey'
Oh,Iknowhowtoprogram.Isn'
tthatgreat?
"
Andit'
s,like,yeah,youmightknowthemechanicsofthelanguage,butthemechanicsofthelanguagearenothingcomparedtounderstandingthesoftwareengineeringprinciplesthatgointoactuallydevelopingasoftwaresystem.
Andthat'
swhatyou'
regonnalearnaboutinthisclass.You'
regonnalearnalotofthoseprinciples.Butinordertobeabletousethoseprinciplesandapplythem,youalsoneedtohavethelanguagetoprogramin,andthatlanguagethatwe'
regonnauseinthisclassisJava.
SothewayIliketothinkaboutitandthewayItellalotofpeopleiswritingagoodprogramorlearninghowtoprogramislikelearningtobeagoodessaywriter.Andyou'
Oh,butpartofthereasonI'
mtakingthisclass,Mehran,isthatIdon'
tlikewritingessays."
That'
sfine.It'
sokay.Trustme.Ididn'
tlikewritingessayseither.
Butthewholepointisthatwhenyouwriteanessay,it'
snotaformulatedkindofthing.You'
Well,whataboutfive-paragraphessays?
Yeah,justblockthatfromyourmind.Thatwasabadtime,right?
Thatwasjust,like,'
70seducationatwork.It'
snotaformulatedkindofthing.
sanarttowritinganessay,right?
Inordertowriteanessay,youneedtoknowalanguage.YouneedtoknowEnglishorGermanorHindiorwhateverlanguageyouwannause,butthenyouusethatlanguagetowriteanessay.Justknowingthelanguagedoesn'
tmakeyouagoodessaywriterthough.Beingagoodessaywritermakesyouagoodessaywriter.
Sothat'
sthesamedifferenceinprogrammingandsoftwareengineering.Knowingthelanguage,inordertobeagoodprogrammer,likeagoodessayist,youneedtoknowalanguagetowriteyourprogramsin,whetherthatbeJavaorCorC++orwhatever.Herewe'
regonnauseJava.
Butjustknowingthelanguagedoesn'
tmakeyouagoodsoftwareengineeranddoesn'
tmakeyouunderstandwhattheprinciplesareofwritinggoodsoftware,whichiswhatyou'
realsogonnagetinthisclassinadditiontothelanguage,andthat'
skindofakeythingtostress.
resortofworried,ifyouwerekindoflookingaroundandyousawabunchofpeopleraisingtheirhandswhenIasked,"
Doyouhaveanypreviousprogram