cs 2112 / engrd 2112 object-oriented design and data
Post on 27-Dec-2021
7 Views
Preview:
TRANSCRIPT
CS2112/ENGRD2112 Object-OrientedDesignandData
Structures—Honors
Fall2016
DexterKozenCornellUniversity
Lecture1:Introduction
2
Coursestaff•Instructor:DexterKozen•GradTAs:HubertLin,StephenMcDowell,MaheerIqbal
•Undergradstaff:
3
ZanderBolgarJakeChenAgiCsakiJaneDu
JacobGlueckHarryGoldstein
MattHabelSumnerHearthAlexRendaLucasSilverJesseYuan
Whatit’saboutAnintroductiontocomputerscienceandsoftwareengineering•Programminglanguagefeatures
–dataabstraction,subtyping,genericprogramming–concurrencyandthreads–NotacourseaboutJava!
•Object-orienteddesign—organizinglargeprograms–specifications–designpatterns–frameworksandevent-drivenprogramming
•Datastructuresandalgorithms–recursivealgorithmsanddatastructures–algorithmanalysisanddesigningforefficiency–asymptoticcomplexity,induction–arrays,lists,stacks,queues,trees,graphs,hashtables
4
•Yoursourceforinformation: http://courses.cs.cornell.edu/cs2112–Lecturenotes:youareexpectedtoread
•mostlynotslides!•maynotincludeeverythingcoveredinlecture•mayincludeextramaterialnotcoveredinlecture•oftenupdatedafterthelecture
–Assignments•maybeupdatedafterinitialrelease
–Pointerstoresources5
Website
Communicatingwithstaff•Best:usePiazzatopostquestions
–http://piazza.com/class#fall2016/cs2112–Answeringotherquestions(well)isgoodkarma–Watchoutforviolatingacademicintegrity!
•CourseannouncementspostedtoPiazza(oremailedtoallstudentsifurgent)
•Myofficehours:Gates436,timesTBA•Consultants–hoursonline,locationTBA–“Frontline”foransweringquestions– consultinghoursstarttoday
6
CMS•AssignmentswillbesubmittedtoCMS•Grades,solutionswillbepostedonCMS https://cms-b.csuglab.cornell.edu
•RegraderequestsshouldbepostedtoCMSsoonafterreceivinggrade(remindusifnecessary…)
7
Meetings•Lectures:TTh10:10-11,GatesG01•Discussionsections(attend1perweek)–T12:20-1:10(GatesG01)–W1:25-2:15(Hollister110)
•Labs(attend1perweek)–Monday7:30-8:20(Phillips219)–Wednesday7:30-8:20(Hollister110)
•4hoursperweek—attendancerequired
8
Roomcaps•Ifthelecture,lab,orrecitationisfull…–don’tpanic,youcanstilltakethecourse–letusknow,includingyourconstraints–wewillworkoutasolution
9
Assignments•7assignments
–mostlyprogrammingbutsomewrittenproblems–totalto40%oftotalscore
•First3assignmentsdonesolo•Finalproject(last4assignments)withapartner•Assignmentlatepenalties:
–1daylate:–10%–2dayslate:–20%–3dayslate:–30%–weekendscountas1day
10
Examsandmore•Oneeveningprelim:Sept29,7:30pm,GatesG01–20%oftotalscore
•Finalexam:sometimeduringDec7–15,locationandtimeTBA–35%oftotalscore
•5%ofscore:–participation(in-class,Piazza,courseevals)–possiblein-classquizzes
11
Labs•Programmingexercises,solveproblems,learnabouttools
•Bringalaptopifyouhaveone(orshareifyoudon’t—youwillworkinpairsanyway)
•Firstlab:WednesdayinHollister110(setupEclipseanddosomeprogramming)—attendifyoucanevenifyouarenormallyintheMondaylab
12
Textbook•DataStructuresandAbstractionswithJava,4thed.,FrankM.CarranoandTimothyHenry,PearsonEducation,2014.–AvailableatCampusStore–Onreserveinlibrary–Recommended,notrequired–Alsothe2110textbook–Notheavilyused—cansharewithafriendortwo
–Earliereditionsareprobablyok13
Academicintegrity•Youmustnevermisrepresentsomeoneelse’sworkasyourownorletothersmisrepresentyourworkastheirs–Copyingcodeoranswersisneverokay–Lettingotherscopyyouisalsoaviolation–Youmustbeabletoexplainyouranswersfully–Discussionswithothersaredefinitelyfineiftheycouldhavehappenedinalightlessroom
•Wewillusehighlyeffectivetoolsfordetectingplagiarism
•Reportanydiscussionsaboutassignmentsandanyuseofexternalcode
•Ourgoal:spendtimeoncoursecontent14
SocialintegrityEveryoneistobetreatedwithrespect,regardlessofbackground,experience,religion,ethnicity,citizenship,gender,orsexualorientation
Ifyouaremadetofeelunwelcomeordisrespected,pleasecontactDexter
Ifyoubecomeawareofanyoneelsebeingmadetofeelunwelcomeordisrespected,pleaseencouragethemtocontactDexter
15
CS2112orENGRD2112?
Doesn’tmatter
16
CS/ENGRD2110orCS/ENGRD2112?
•2112isan‘honors’versionof2110.–aimedatCSmajors:smaller–harderandmoreinterestingassignmentsincludingafinalprojectspanning4assignments
–morematerial•e.g.,morealgorithmsandtheiranalysis(theory)•e.g.,moreaboutdesignanddesignpatterns(practice)
–morecredits(4vs3)17
2110vs.2112•Warning:youwillbechallengedhere
18
CS 2110
CS 2112
1919
Sam Loyd’s 8 Puzzle
Goal: Given an initial configuration of tiles, find a sequence of moves that will lead to the sorted configuration.
A particular configuration is called a state of the puzzle.
2020
State Transition Diagram of 8-Puzzle
State Transition Diagram: picture of adjacent states. A state Y is adjacent to state X if Y can be reached from X in one move.
2121
State Transition Diagram for a 2x2 Puzzle
Graphs•Statetransitiondiagraminpreviousslideisananexampleofagraph:amathematicalabstraction–nodes(orvertices):thepuzzlestates–edges(orarcs):thetransitions,possiblylabeled
•Graphsareallaroundus:airlineroutes,roadmaps,orgcharts,pipelines,…
22
n1
n2
e1
Graphalgorithms•Largetoolboxofefficientalgorithmsforgraphshelpussolveproblems:–searchingforbestnodes/shortestpaths–findingmaximumflowthroughgraph–minimumspanningtrees–...
•Andknownhardnessresults(e.g.,findingHamiltoniancycles)tellyouwhatyoucan’tsolve.
23
v1
v2
e1
Softwaredesignchoices•Whatoperationsshouldpuzzleobjectshave?•Howdowerepresentstates?Theinitialstate?Transitions?
•Howdowepresentinformationtotheuserandsupportinteraction?
•Howdowebreakthecodingupintopartsthatcanbecodedindependently?
•Howtostructurecodesoitcanbemaintained,upgraded?
24
WhyyouneedCS2112•Datastructuresandalgorithmstosolveproblemsefficientlyandeffectively
•Designtechniquestoproducecodethatworksquicklyandkeepsworking
•Computerscience:–algorithms,datastructures,programminglanguages,designprinciples,knowledgeofwhatispossibleandfeasible
•Goodprogrammershavemorefun!–10xmoreproductive–betterabletoadapt,grow,seeopportunities,changetheworld
25
Nextsteps•GetyourPiazzaaccountsetupASAP•Keepaneyeonthe2112website•Downloadthefirstprogrammingassignment,releasedtoday,dueinaweek
•MakesureyouhaveEclipsedownloadedandworking—seeconsultantsforhelp
•CometolabonWednesdayforhelpgettingstarted
•Havefun!26
top related