cs231 –fundamentals of algorithms - wellesley collegecs231/lectures/lec1.pdf · 1/27/20 1 cs231...
TRANSCRIPT
1/27/20
1
CS231– FundamentalsofAlgorithmsInstructor:ChristineBassemcbassem (at)wellesley (dot)edu
Partialcontentoftheseslideshavebeenobtainedfromtheofficiallectureslidesthataccompanythetextbook.Acompletesetofslidescanbefoundat:http://www.cs.princeton.edu/~wayne/kleinberg-tardos/
What’sanalgorithm?
1/27/20
2
Whatisthiscourseabout?
• InCS230,youlearnthowto:• Abstractfunctionalityfromdesign• Designefficientdatastructures• Designmodularapplications
• Youusedto,• Codeallofthat• Testittoseeifitworks• Then,thefunstartsJ
Whatisthiscourseabout?
• InCS231,youlearnthedesignandanalysisofalgorithmstosolveproblems.
• We’llalwaysfocusonthreethings:• Howtounderstandanddefineaproblem• Howtoimplementanalgorithmthat“correctly”solvesthatproblem• Howtoanalyzetheperformanceofthatalgorithm
• Thegoalistodefinecorrectandefficientalgorithmswithouthavingtoimplementandtestthem.
Remember:Youcannotprovecorrectnessbyexample!
1/27/20
3
WhytakeCS231?
Because…It’samajorrequirement!
Really,why?
• UnderstandingandRemembering:• Recognizealgorithmictechniquesusedtosolveaproblem.• Identifythecorrectness,orlackthereof,ofanalgorithm.
• CriticalThinking:• Dissectnewproblemstoidentifytheirinputandcorrespondingoutput.
• PracticalThinking:• Determineappropriatealgorithmictechniquestosolvenewproblems,byrelatingnewproblemstoonesin
theirfoundationknowledge.• Definecorrectalgorithmstosolvenewproblemsandprovetheircorrectness.• Critiqueexistingalgorithms.• Calculatetheasymptoticruntimecomplexityofnewalgorithms.
• ProjectsandResearch:• Coordinatetasksandcollaborateonwritingafinalpaper.• Identifyhighqualityscholarlyarticles,andtheircontributions.• Summarizeexistingalgorithmicresearchonatopicoftheirchoice• Presentsummaryofresearchtopeers,aspartofateam.
• InterpersonalRelationships:• Collaboratewithpeersondissectingnewproblems.• Givefeedbacktopeersontheirproofs.• Takeresponsibilityforworkperformedaspartofagroup.
1/27/20
4
Textbook
Classreadings
• Yourtextbookisamazing,andit’sagreatresource.
• Inalmosteverylecture,thereisrequiredreadingtobedonebeforeclass.
• Howshouldyoudothatreadingbeforeclass?• Firstpass(nolongerthan15minutes)
• Skimtherequiredreadingbyreadingthesectionandsubsectiontitles,withthefirstparagraphor2ofthesesections
• Goal:Knowwhatwe’lltalkaboutinclass• Secondpass(nolongerthan45minutes)
• Ifyoufeelcomfortable,readallEnglishdescriptionparagraphs• Goal:Befamiliarwiththecontent,toidentifypointsthatyouneedtofocusoninthelecture
• Thirdpass(nolongerthan1hour)• Readtheproofs• Goal:Goodpracticeformoreadvancedpartsofthecourse
1/27/20
5
Assignments
• Schedule• PostedonThursday/Friday• DuethefollowingFriday(atmidnight)
• Submission• Writeyourassignmentsinlatex,tryoverleaf.com• YouwillbeprovidedwithaLatextemplateeveryassignment
• Templatemustbeusedasis• UploadpdfonyourCS231assignmentlinkinGradescope
• Proofmodules• Insomeassignments,youwillfindaproblemmarkedwith[Proof-problem]• Fortheseproblems,youneedtocarefullyformulateandwriteyourargumentsforthecorrectnessofyoursolutions.
Moreonproofmodules…
• Yourproofswillbereviewedbyyourpeersthroughatwo-stepreviewprocess.
• Thisreviewprocessallowsyouto:• Seeotherstylesofproofwriting• Criticallyreadproofs• Clearlyexpressyourthoughtsthroughyourreview
• Theprocessisasfollows:• OnFriday,whentheassignmentisdue,youwillsubmitahardcopyofyourproof• Don’twriteyourname,youwillwritearandomnumberthatwillbepickedinclass• Eachofyouwillberandomlyassignedoneofyourpeersproofs• ThefirstroundofreviewsmustbecompletedbeforethefollowingclassonTuesday• OnTuesday,thesubmissionswillberandomlydistributed(again)• ThesecondroundofreviewsmustbecompletedbeforethenextclassonFriday
• Finally,aftereachofyougetsyourdoublypeer-reviewedproof,yougetachancetoedityourproof(ifneeded),andsubmitittomethefollowingTuesday.
• I’llgradeitandreturnittoyouthefollowingFriday.
1/27/20
6
Moreonproofmodules…
HowshouldIreviewaproof?
• Wewillpracticehowtoreadandwritegoodproofsinthefirst2weeksofclasses.
• Then,whenreadingapeer’sproof,youareaskedtodothefollowing:• Markatleastonethingthatyouliked• Markatleastonethingthatneedsimprovement
• Whatdoesmarkmean?• Youwillhighlightatleastonesentenceintheproof• Youwillwriteacommentonthathighlightedsection• Youwillsignthatcommentwithyourrandomnumber
1/27/20
7
More…
• AllotherassignmentsubmissionswillbedoneusingGradescope.• You’llgetanemailthisweek.
• AssignmentsmustbeinPDFformat,usingLatex.• Youcanuseoverleaf.com
• Latesubmissionsarenotallowed,butyouget(4)freepassestousethroughoutthesemester.
• AllcommunicationwillbedoneusingPiazza.• Youshouldhavereceivedanemailthisweek.
Exams
• You’llhavetwoexamsduringthesemester,• 1st examonMarch10th
• 2nd examonApril24th
• Allexamsarein-classandopenbook
• Therewillbenofinalexam.• Instead,therewillbeafinalshortpaperandpresentation.
1/27/20
8
CS231coursewebpage
• Itcontainsallcourseinfo• Thescheduleforthesemester• Officehoursdiscussionsections
andhelproom• Thecoursesyllabus
• Makesureyoucheckitoften
• Let’stakeaquicklook
Now,let’sreviewsomedatastructuresRememberarraysandlinkedlists?J