Computer Science I: Fundamentals...

11
Computer Science I: Fundamentals (CS1210) Spring 2017 Professor: James Cremer TAs: Jeff Hajewski, Sikder Huq, Shanu Gandhi, Zach Meyer, Adrian Pereira Lecture 1, Jan. 18, 2017

Transcript of Computer Science I: Fundamentals...

Page 1: Computer Science I: Fundamentals (CS1210)homepage.divms.uiowa.edu/~cremer/courses/cs1210-s17/etc/...Core Computer Science areas are full of exciSng developments and acSvity • Data

ComputerScienceI:Fundamentals(CS1210)

Spring2017

Professor:JamesCremer

TAs:JeffHajewski,SikderHuq,ShanuGandhi,ZachMeyer,AdrianPereira

Lecture1,Jan.18,2017

Page 2: Computer Science I: Fundamentals (CS1210)homepage.divms.uiowa.edu/~cremer/courses/cs1210-s17/etc/...Core Computer Science areas are full of exciSng developments and acSvity • Data

WelcometoCS1!

•  ThisisanexciSngSmetobeacomputerscienSst!Computa(onalThinkingisbecomingpartofallaspectsoflife:– Healthcare,Biology,Pharmacy,BiomedicalEngineering

–  Economics,Finance–  Sociology,Psychology–  Physics,Astronomy– Music,Film– HumaniSes(e.g.DigitalHumaniSesIniSaSveatUI)

Page 3: Computer Science I: Fundamentals (CS1210)homepage.divms.uiowa.edu/~cremer/courses/cs1210-s17/etc/...Core Computer Science areas are full of exciSng developments and acSvity • Data

CoreComputerScienceareasarefullofexciSngdevelopmentsandacSvity•  Dataminingandmachinelearning(manycompanieswant

experSseinmachinelearningtoenable“mining”ofcustomerandotherdata)

•  Computergraphics,animaSon,virtualreality(e.g.OculusRi^,Microso^Hololens,GoogleGlass,…)

•  Human-computerinteracSon(HCI)•  NetworksanddistributedcompuSng•  Naturallanguageprocessing•  Computervision•  RoboScs•  ArSficialIntelligence•  Algorithms

Page 4: Computer Science I: Fundamentals (CS1210)homepage.divms.uiowa.edu/~cremer/courses/cs1210-s17/etc/...Core Computer Science areas are full of exciSng developments and acSvity • Data

SearchEngines

•  ExemplifyamazingcomputersciencecontribuSons

•  Advancesinalgorithms,networking,distributedcompuSng,machinelearningallcombinetosupport– millionsofsimultaneoussearchesof– billionsofwebpages,with–  responsesinmilliseconds

Page 5: Computer Science I: Fundamentals (CS1210)homepage.divms.uiowa.edu/~cremer/courses/cs1210-s17/etc/...Core Computer Science areas are full of exciSng developments and acSvity • Data

Justafewotherrecentdevelopments•  IBM’sWatsondefeatedthebesthumanJeopardyplayersin2010–substanSalprogressinnaturallanguageunderstanding

•  In1997,IBM’sDeepBluebecamefirstcomputertobeatreigningworldchesschampion.In2016,AlphaGosurprisedmanyexpertsbybecomingfirstcomputerprogramtodefeatatopprofessionalGoplayer(LeeSedol,ranked#2ininternaSonalStles)

•  Microso^Kinectsensor–add-onforXboxgamingconsole.Veryimpressivetechnologyfor$149.Distanceandcolorsensorsplusalgorithmsenablingdetailedtrackingof20+jointsof6humansatonce

•  Nextbigthing:self-drivingvehicles.MajoradvancesinAI(deeplearning),sensing(don’thitpeople,animals,stuff!),etc.

Page 6: Computer Science I: Fundamentals (CS1210)homepage.divms.uiowa.edu/~cremer/courses/cs1210-s17/etc/...Core Computer Science areas are full of exciSng developments and acSvity • Data

ThisCourse•  Thiscoursehasoneprimarygoal-toprovideacoreofcomputerscienceprogrammingconceptsandskills,andenoughpracSceusingthem,thatstudentswilldevelopconfidenceintheirabilitytothinkcomputaSonallyandtosolveproblemsviaprogramming.

•  Beyondbasicprogrammingconcepts,thecourseprovidesanintroducSontoobject-orientedprogramming,algorithmicdesignandanalysis,webprogramming,andgraphicaluserinterfaces.

•  CSismuchmorethanprogrammingbutthisisaskillsorientedprogrammingcourseratherthanabroadoverviewofCS.ItteachesprogrammingprinciplesnecessaryformoreadvancedworkintheComputerScience.CS1020andCS1110providebroaderintroducSonstotheoverallfieldofComputerScience.

Page 7: Computer Science I: Fundamentals (CS1210)homepage.divms.uiowa.edu/~cremer/courses/cs1210-s17/etc/...Core Computer Science areas are full of exciSng developments and acSvity • Data

Me•  24yearsatIowa.PhDfromCornellUniversity,1989.Livedmanyplacesbeforethat-13in17years,alloverUSandalsoinEurope.

•  Teaching:datastructures,computergraphics,virtualreality,algorithms.MostrecentlyhaveregularlytaughtiOS/iPhone/iPadAppDevelopmentclass(incljointclasswithVietnam),andProgrammingforInformaScs(alotlikethiscourse).

•  Research:previously,theHankVRresearchgroup.Now,theComputaSonalEpidemiologygroup.

•  Outsideofwork:whennothangingoutathome,I’msomewhereintheworldridinganEllipSGO

Page 8: Computer Science I: Fundamentals (CS1210)homepage.divms.uiowa.edu/~cremer/courses/cs1210-s17/etc/...Core Computer Science areas are full of exciSng developments and acSvity • Data
Page 9: Computer Science I: Fundamentals (CS1210)homepage.divms.uiowa.edu/~cremer/courses/cs1210-s17/etc/...Core Computer Science areas are full of exciSng developments and acSvity • Data

ICON/thesyllabus/coursewebsite•  ICON:usedforthreethrings– Submiqnghomeworks– PosSng/readingquesSonsaboutassignments/lectures(ICONDiscussions)

– PosSngallscores/grades•  Syllabusandallcourseannouncements,homeworkassignments,andlecturesnoteswillbepostedonexternalcoursewebsite:– hrp://homepage.cs.uiowa.edu/~cremer/courses/cs1210/

Therestoftoday’slecturediscussestheinforma9ononthecoursewebsite.

Page 10: Computer Science I: Fundamentals (CS1210)homepage.divms.uiowa.edu/~cremer/courses/cs1210-s17/etc/...Core Computer Science areas are full of exciSng developments and acSvity • Data

•  Manypeoplefindthiscoursedifficult.Ibelievethatifyouworkatitsteadily,notjustlast-minute,youcandowellwithoutsuffering.

•  Thecoursecanbeveryrewarding–from(forsomeofyou)noprogrammingskilltorealconfidenceandabilitytomakecomputerdocoolstuffforyou.

•  Cometoclass,doyourownwork,readandthink(veryvaluablebeforesiqngkeyboardprogramming),workhardonthehomeworks.Ifyoudothehomeworkswell,theexamswilltakecareofthemselves.

BeforenextSme:•  Read:Chapter1ofthetext.Itisshortandeasy.•  Do:InstallPythononyourmachine.EvaluatesomePythoncodeintheinterpreter

NextSme:beginningPython,someinteresSngproblems

Page 11: Computer Science I: Fundamentals (CS1210)homepage.divms.uiowa.edu/~cremer/courses/cs1210-s17/etc/...Core Computer Science areas are full of exciSng developments and acSvity • Data

Tothinkabout:examplesofcomputa9onalcomplexity

•  EulervsHamiltoniancircuitsandTSP.Graphsincomputerscience:differentnoSonthanthegraphicalplotstaughtinhighschool

0

2

4

6

2010 2011 2012 2013

VS.

•  Canyoufindapaththattraverseseveryedge(connecSon)exactlyonce?

•  Canyoufindapaththatvisitseverynode(vertex)exactlyonce?

•  Iftheedgesareassigned“weights”(represenSngdistance/costtotraverse),canyoufindpathofminimumcostthatvisitseverynodeexactlyonce?

Arethesesimilarlycomputa9onallyhardoreasy?