cs231 –fundamentals of algorithms - wellesley collegecs231/lectures/lec1.pdf · 1/27/20 1 cs231...

8
1/27/20 1 CS231 – Fundamentals of Algorithms Instructor: Christine Bassem cbassem (at) wellesley (dot) edu Partial content of these slides have been obtained from the official lecture slides that accompany the textbook. A complete set of slides can be found at: http://www.cs.princeton.edu/~wayne/kleinberg-tardos/ What’s an algorithm?

Upload: others

Post on 18-Oct-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CS231 –Fundamentals of Algorithms - Wellesley Collegecs231/lectures/lec1.pdf · 1/27/20 1 CS231 –Fundamentals of Algorithms Instructor: Christine Bassem cbassem(at) wellesley(dot)

1/27/20

1

CS231– FundamentalsofAlgorithmsInstructor:ChristineBassemcbassem (at)wellesley (dot)edu

Partialcontentoftheseslideshavebeenobtainedfromtheofficiallectureslidesthataccompanythetextbook.Acompletesetofslidescanbefoundat:http://www.cs.princeton.edu/~wayne/kleinberg-tardos/

What’sanalgorithm?

Page 2: CS231 –Fundamentals of Algorithms - Wellesley Collegecs231/lectures/lec1.pdf · 1/27/20 1 CS231 –Fundamentals of Algorithms Instructor: Christine Bassem cbassem(at) wellesley(dot)

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!

Page 3: CS231 –Fundamentals of Algorithms - Wellesley Collegecs231/lectures/lec1.pdf · 1/27/20 1 CS231 –Fundamentals of Algorithms Instructor: Christine Bassem cbassem(at) wellesley(dot)

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.

Page 4: CS231 –Fundamentals of Algorithms - Wellesley Collegecs231/lectures/lec1.pdf · 1/27/20 1 CS231 –Fundamentals of Algorithms Instructor: Christine Bassem cbassem(at) wellesley(dot)

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

Page 5: CS231 –Fundamentals of Algorithms - Wellesley Collegecs231/lectures/lec1.pdf · 1/27/20 1 CS231 –Fundamentals of Algorithms Instructor: Christine Bassem cbassem(at) wellesley(dot)

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.

Page 6: CS231 –Fundamentals of Algorithms - Wellesley Collegecs231/lectures/lec1.pdf · 1/27/20 1 CS231 –Fundamentals of Algorithms Instructor: Christine Bassem cbassem(at) wellesley(dot)

1/27/20

6

Moreonproofmodules…

HowshouldIreviewaproof?

• Wewillpracticehowtoreadandwritegoodproofsinthefirst2weeksofclasses.

• Then,whenreadingapeer’sproof,youareaskedtodothefollowing:• Markatleastonethingthatyouliked• Markatleastonethingthatneedsimprovement

• Whatdoesmarkmean?• Youwillhighlightatleastonesentenceintheproof• Youwillwriteacommentonthathighlightedsection• Youwillsignthatcommentwithyourrandomnumber

Page 7: CS231 –Fundamentals of Algorithms - Wellesley Collegecs231/lectures/lec1.pdf · 1/27/20 1 CS231 –Fundamentals of Algorithms Instructor: Christine Bassem cbassem(at) wellesley(dot)

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.

Page 8: CS231 –Fundamentals of Algorithms - Wellesley Collegecs231/lectures/lec1.pdf · 1/27/20 1 CS231 –Fundamentals of Algorithms Instructor: Christine Bassem cbassem(at) wellesley(dot)

1/27/20

8

CS231coursewebpage

• Itcontainsallcourseinfo• Thescheduleforthesemester• Officehoursdiscussionsections

andhelproom• Thecoursesyllabus

• Makesureyoucheckitoften

• Let’stakeaquicklook

Now,let’sreviewsomedatastructuresRememberarraysandlinkedlists?J