The Beauty and Joy of Computing The Beauty and Joy of Computing Lectur Lecture #1 e #1 Welcome; Abstraction elcome; Abstraction UC Berkeley EECS UC Berkeley EECS Sr Lecturer SOE Sr Lectur er SOE Dan Gar Dan Garcia cia Watch the student testimonials about the course, what it means to them, and how it has changed their lives. Inspiring! inst.eecs.berkeley.edu/~cs10/ �
BJC in one slide § Big Ideas of Programming § Big Ideas of Computing ú Abstraction ú HowStuffWorks 3D Graphics ú Algorithms (2) Video Games ú Recursion (2) Computational Game Theory ú Functions-as-data, λ (2) ú Research Summaries ú Programming Paradigms AI ú Concurrency HCI ú Distributed Computing ú Apps that Changed the World § Beauty and Joy ú Social Implications of Computing ú “CS Unplugged” activities ú Saving the World with Computing ú All lab work in pairs ú How Twitter Works (guest lecture) ú Two 3-week projects in pairs ú Cloud Computing Of their own choice!! ú Limits of Computing ú One blog ú Future of Computing Of students’ own choice!! Garcia Gar cia UC Berkeley “The Beauty and Joy of Computing” : W UC Berkeley “The Beauty and Joy of Computing” : Welcome, Abstraction elcome, Abstraction (2) (2)
Piazza for {ask,answer}ing questions Gar Garcia cia UC Berkeley “The Beauty and Joy of Computing” UC Berkeley “The Beauty and Joy of Computing” : W : Welcome, Abstraction elcome, Abstraction (3) (3)
Abstraction § Detail removal ú “The act or process of leaving out of consideration one or more properties of a complex object so as to attend to others.” § Generalization ú “The process of formulating general concepts by abstracting common properties of instances” Henri Matisse “Naked Blue IV” Garcia Gar cia UC Berkeley “The Beauty and Joy of Computing” : W UC Berkeley “The Beauty and Joy of Computing” : Welcome, Abstraction elcome, Abstraction (4) (4)
Detail Removal Automatic Generation of Detail Maps Maneesh Agrawala (UCB EECS), among others Gar Garcia cia UC Berkeley “The Beauty and Joy of Computing” UC Berkeley “The Beauty and Joy of Computing” : W : Welcome, Abstraction elcome, Abstraction (5) (5)
Detail Removal (in BJC) § You’ll want to write a project to simulate a real-world situation, or play a game, or … § Abstraction is the idea that you focus on the essence, the cleanest way to map the messy real world to one you can build The London Underground 1928 Map & the 1933 map by Harry Beck. Garcia Gar cia UC Berkeley “The Beauty and Joy of Computing” : W UC Berkeley “The Beauty and Joy of Computing” : Welcome, Abstraction elcome, Abstraction (6) (6)
Generalization Example § You have a farm with many animal kinds. § Different food for each § You have directions that say ú To feed dog, put dog food in dog dish ú To feed chicken, put chicken food in chicken dish ú To feed rabbit, put rabbit food in rabbit dish ú Etc… § How could you do better? ú To feed <animal>, put <animal> food in <animal> dish Garcia Gar cia UC Berkeley “The Beauty and Joy of Computing” UC Berkeley “The Beauty and Joy of Computing” : W : Welcome, Abstraction elcome, Abstraction (7) (7)
Generalization (in BJC) § You are going to learn to write functions, like in math class: y = sin(x) § You should think about what inputs “Function machine” from Simply Scheme (Harvey) make sense to use so you don’t have to duplicate code Garcia Gar cia UC Berkeley “The Beauty and Joy of Computing” : W UC Berkeley “The Beauty and Joy of Computing” : Welcome, Abstraction elcome, Abstraction (8) (8)
Summary § Abstraction is one of the big ideas of computing and computational thinking § Think about driving. Someone who died in 1930 could still How many of you drive a car today because they’ve know how a car kept the same Abstraction! (right pedal faster, left pedal slow) works? How many can drive a car? Abstraction! Garcia Gar cia UC Berkeley “The Beauty and Joy of Computing” : W UC Berkeley “The Beauty and Joy of Computing” : Welcome, Abstraction elcome, Abstraction (9) (9)
Recommend
More recommend