lecture 30: conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... ·...
TRANSCRIPT
![Page 1: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/1.jpg)
Brian Hou August 11, 2016
Lecture 30: Conclusion
![Page 2: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/2.jpg)
Announcements
![Page 3: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/3.jpg)
Announcements
• Final Exam tomorrow (8/12) from 5-8pm in 155 Dwinelle
![Page 4: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/4.jpg)
Announcements
• Final Exam tomorrow (8/12) from 5-8pm in 155 Dwinelle• Last part of AutoStyle EC study is due today
![Page 5: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/5.jpg)
Announcements
• Final Exam tomorrow (8/12) from 5-8pm in 155 Dwinelle• Last part of AutoStyle EC study is due today• Homework 12 out later today, due Saturday 8/13
![Page 6: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/6.jpg)
Announcements
• Final Exam tomorrow (8/12) from 5-8pm in 155 Dwinelle• Last part of AutoStyle EC study is due today• Homework 12 out later today, due Saturday 8/13
• End-of-semester survey, one more extra credit point!
![Page 8: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/8.jpg)
Scheme Recursive Art Contest
![Page 9: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/9.jpg)
• Congratulations to everyone who participated in this semester's Scheme Recursive Art Contest!
Scheme Recursive Art Contest
![Page 10: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/10.jpg)
• Congratulations to everyone who participated in this semester's Scheme Recursive Art Contest!
• Thank you to everyone who helped us decide the winners!
Scheme Recursive Art Contest
![Page 11: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/11.jpg)
Featherweight (Third Place)
![Page 12: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/12.jpg)
Featherweight (Third Place)
![Page 13: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/13.jpg)
Featherweight (Third Place)
Mandelbrot Frrrrraction!! Peilin Lu
13.1% of votes
![Page 14: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/14.jpg)
Featherweight (Second Place)
![Page 15: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/15.jpg)
Featherweight (Second Place)
![Page 16: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/16.jpg)
Featherweight (Second Place)
Tail-recursive Gyarados Leo Adberg and Amir Shahatit
13.4% of votes
![Page 17: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/17.jpg)
Featherweight (First Place)
![Page 18: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/18.jpg)
Featherweight (First Place)
![Page 19: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/19.jpg)
Featherweight (First Place)
Staring Eye Renhua Liu
14.4% of votes
![Page 20: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/20.jpg)
Heavyweight (Third Place)
![Page 21: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/21.jpg)
Heavyweight (Third Place)
![Page 22: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/22.jpg)
Heavyweight (Third Place)
Vigil for The Person Who Got -5 Points in CS61A Xiaocheng Yang and Zeyana Musthafa
14.1% of votes
![Page 23: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/23.jpg)
Heavyweight (Second Place)
![Page 24: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/24.jpg)
Heavyweight (Second Place)
![Page 25: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/25.jpg)
Heavyweight (Second Place)
EE/CS Master Trainers Alex Bondarenko 28.4% of votes
![Page 26: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/26.jpg)
Heavyweight (First Place)
![Page 27: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/27.jpg)
Heavyweight (First Place)
![Page 28: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/28.jpg)
Heavyweight (First Place)
Origin of Life Yi Xu and Jianhui Li
30.0% of votes
![Page 29: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/29.jpg)
Congratulations!
![Page 30: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/30.jpg)
What is CS 61A?
![Page 31: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/31.jpg)
CS 61A in one slide
![Page 32: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/32.jpg)
CS 61A in one slide
• High-level ideas in computer science:
![Page 33: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/33.jpg)
CS 61A in one slide
• High-level ideas in computer science:• Abstraction: manage complexity
by hiding the details
![Page 34: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/34.jpg)
CS 61A in one slide
• High-level ideas in computer science:• Abstraction: manage complexity
by hiding the details• Paradigms: utilize different
approaches to programming
![Page 35: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/35.jpg)
CS 61A in one slide
• High-level ideas in computer science:• Abstraction: manage complexity
by hiding the details• Paradigms: utilize different
approaches to programming
![Page 36: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/36.jpg)
CS 61A in one slide
• High-level ideas in computer science:• Abstraction: manage complexity
by hiding the details• Paradigms: utilize different
approaches to programming
![Page 37: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/37.jpg)
CS 61A in one slide
• High-level ideas in computer science:• Abstraction: manage complexity
by hiding the details• Paradigms: utilize different
approaches to programming
• Master these ideas through implementation:
![Page 38: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/38.jpg)
CS 61A in one slide
• High-level ideas in computer science:• Abstraction: manage complexity
by hiding the details• Paradigms: utilize different
approaches to programming
• Master these ideas through implementation:• Learn the Python programming language (& others)
![Page 39: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/39.jpg)
CS 61A in one slide
• High-level ideas in computer science:• Abstraction: manage complexity
by hiding the details• Paradigms: utilize different
approaches to programming
• Master these ideas through implementation:• Learn the Python programming language (& others)• Complete large programming assignments
![Page 40: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/40.jpg)
CS 61A in one slide
• High-level ideas in computer science:• Abstraction: manage complexity
by hiding the details• Paradigms: utilize different
approaches to programming
• Master these ideas through implementation:• Learn the Python programming language (& others)• Complete large programming assignments
• A challenging course that will demand a lot from you
![Page 41: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/41.jpg)
Roadmap
Introduction
Functions
Data
Mutability
Objects
Interpretation
Paradigms
Applications
![Page 42: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/42.jpg)
Roadmap
Introduction
Functions
Data
Mutability
Objects
Interpretation
Paradigms
Applications
• This week (Introduction), the goals are:
![Page 43: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/43.jpg)
Roadmap
Introduction
Functions
Data
Mutability
Objects
Interpretation
Paradigms
Applications
• This week (Introduction), the goals are:• To learn the fundamentals of
programming
![Page 44: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/44.jpg)
Roadmap
Introduction
Functions
Data
Mutability
Objects
Interpretation
Paradigms
Applications
• This week (Introduction), the goals are:• To learn the fundamentals of
programming• To become comfortable with Python
![Page 45: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/45.jpg)
Roadmap
Introduction
Functions
Data
Mutability
Objects
Interpretation
Paradigms
Applications
![Page 46: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/46.jpg)
Roadmap
Introduction
Functions
Data
Mutability
Objects
Interpretation
Paradigms
Applications
• This week (Functions), the goals are:
![Page 47: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/47.jpg)
Roadmap
Introduction
Functions
Data
Mutability
Objects
Interpretation
Paradigms
Applications
• This week (Functions), the goals are:• To understand the idea of
functional abstraction
![Page 48: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/48.jpg)
Roadmap
Introduction
Functions
Data
Mutability
Objects
Interpretation
Paradigms
Applications
• This week (Functions), the goals are:• To understand the idea of
functional abstraction
• To study this idea through:
![Page 49: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/49.jpg)
Roadmap
Introduction
Functions
Data
Mutability
Objects
Interpretation
Paradigms
Applications
• This week (Functions), the goals are:• To understand the idea of
functional abstraction
• To study this idea through:• higher-order functions
![Page 50: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/50.jpg)
Roadmap
Introduction
Functions
Data
Mutability
Objects
Interpretation
Paradigms
Applications
• This week (Functions), the goals are:• To understand the idea of
functional abstraction
• To study this idea through:• higher-order functions• recursion
![Page 51: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/51.jpg)
Roadmap
Introduction
Functions
Data
Mutability
Objects
Interpretation
Paradigms
Applications
• This week (Functions), the goals are:• To understand the idea of
functional abstraction
• To study this idea through:• higher-order functions• recursion• orders of growth
![Page 52: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/52.jpg)
Roadmap
Introduction
Functions
Data
Mutability
Objects
Interpretation
Paradigms
Applications
![Page 53: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/53.jpg)
Roadmap
Introduction
Functions
Data
Mutability
Objects
Interpretation
Paradigms
Applications
• This week (Data), the goals are:
![Page 54: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/54.jpg)
Roadmap
Introduction
Functions
Data
Mutability
Objects
Interpretation
Paradigms
Applications
• This week (Data), the goals are:• To continue our journey through
abstraction with data abstraction
![Page 55: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/55.jpg)
Roadmap
Introduction
Functions
Data
Mutability
Objects
Interpretation
Paradigms
Applications
• This week (Data), the goals are:• To continue our journey through
abstraction with data abstraction• To study useful data types we can
construct with data abstraction
![Page 56: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/56.jpg)
Roadmap
Introduction
Functions
Data
Mutability
Objects
Interpretation
Paradigms
Applications
![Page 57: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/57.jpg)
Roadmap
Introduction
Functions
Data
Mutability
Objects
Interpretation
Paradigms
Applications
• This short week (Mutability), the goals are:
![Page 58: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/58.jpg)
Roadmap
Introduction
Functions
Data
Mutability
Objects
Interpretation
Paradigms
Applications
• This short week (Mutability), the goals are:• To explore the power of values
that can mutate, or change
![Page 59: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/59.jpg)
Roadmap
Introduction
Functions
Data
Mutability
Objects
Interpretation
Paradigms
Applications
![Page 60: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/60.jpg)
Roadmap
Introduction
Functions
Data
Mutability
Objects
Interpretation
Paradigms
Applications
• This week (Objects), the goals are:
![Page 61: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/61.jpg)
Roadmap
Introduction
Functions
Data
Mutability
Objects
Interpretation
Paradigms
Applications
• This week (Objects), the goals are:• To learn the paradigm of
object-oriented programming
![Page 62: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/62.jpg)
Roadmap
Introduction
Functions
Data
Mutability
Objects
Interpretation
Paradigms
Applications
• This week (Objects), the goals are:• To learn the paradigm of
object-oriented programming
• To study applications of, and problems that be solved using, OOP
![Page 63: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/63.jpg)
Roadmap
Introduction
Functions
Data
Mutability
Objects
Interpretation
Paradigms
Applications
![Page 64: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/64.jpg)
Roadmap
Introduction
Functions
Data
Mutability
Objects
Interpretation
Paradigms
Applications
• This week (Interpretation), the goals are:
![Page 65: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/65.jpg)
Roadmap
Introduction
Functions
Data
Mutability
Objects
Interpretation
Paradigms
Applications
• This week (Interpretation), the goals are:• To learn a new language, Scheme,
in two days!
![Page 66: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/66.jpg)
Roadmap
Introduction
Functions
Data
Mutability
Objects
Interpretation
Paradigms
Applications
• This week (Interpretation), the goals are:• To learn a new language, Scheme,
in two days!• To understand how interpreters
work, using Scheme as an example
![Page 67: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/67.jpg)
Roadmap
Introduction
Functions
Data
Mutability
Objects
Interpretation
Paradigms
Applications
![Page 68: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/68.jpg)
Roadmap
Introduction
Functions
Data
Mutability
Objects
Interpretation
Paradigms
Applications
• This week (Paradigms), the goals are:
![Page 69: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/69.jpg)
Roadmap
Introduction
Functions
Data
Mutability
Objects
Interpretation
Paradigms
Applications
• This week (Paradigms), the goals are:• To study examples of paradigms
that are very different from what we have seen so far
![Page 70: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/70.jpg)
Roadmap
Introduction
Functions
Data
Mutability
Objects
Interpretation
Paradigms
Applications
• This week (Paradigms), the goals are:• To study examples of paradigms
that are very different from what we have seen so far
• To expand our definition of what counts as programming
![Page 71: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/71.jpg)
Roadmap
Introduction
Functions
Data
Mutability
Objects
Interpretation
Paradigms
Applications
![Page 72: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/72.jpg)
Roadmap
Introduction
Functions
Data
Mutability
Objects
Interpretation
Paradigms
Applications
• This week (Applications), the goals are:
![Page 73: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/73.jpg)
Roadmap
Introduction
Functions
Data
Mutability
Objects
Interpretation
Paradigms
Applications
• This week (Applications), the goals are:• To go beyond CS 61A and see examples
of what comes next
![Page 74: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/74.jpg)
Roadmap
Introduction
Functions
Data
Mutability
Objects
Interpretation
Paradigms
Applications
• This week (Applications), the goals are:• To go beyond CS 61A and see examples
of what comes next • To wrap up CS 61A!
![Page 75: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/75.jpg)
Life After CS 61A
![Page 76: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/76.jpg)
Classes at Berkeley
![Page 77: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/77.jpg)
• What you learn is much more important than your grade!
Classes at Berkeley
![Page 78: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/78.jpg)
• What you learn is much more important than your grade!
• CS 61B (Data Structures and Algorithms)
Classes at Berkeley
![Page 79: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/79.jpg)
• What you learn is much more important than your grade!
• CS 61B (Data Structures and Algorithms)
• Taught by Professor Paul Hilfinger in Fall 2016
Classes at Berkeley
![Page 80: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/80.jpg)
• What you learn is much more important than your grade!
• CS 61B (Data Structures and Algorithms)
• Taught by Professor Paul Hilfinger in Fall 2016
• Data Science 8 (Foundations of Data Science)
Classes at Berkeley
![Page 81: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/81.jpg)
• What you learn is much more important than your grade!
• CS 61B (Data Structures and Algorithms)
• Taught by Professor Paul Hilfinger in Fall 2016
• Data Science 8 (Foundations of Data Science)
• Taught by Professor Ani Adhikari in Fall 2016
Classes at Berkeley
![Page 82: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/82.jpg)
• What you learn is much more important than your grade!
• CS 61B (Data Structures and Algorithms)
• Taught by Professor Paul Hilfinger in Fall 2016
• Data Science 8 (Foundations of Data Science)
• Taught by Professor Ani Adhikari in Fall 2016
• Other EECS lower division courses:
Classes at Berkeley
![Page 83: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/83.jpg)
• What you learn is much more important than your grade!
• CS 61B (Data Structures and Algorithms)
• Taught by Professor Paul Hilfinger in Fall 2016
• Data Science 8 (Foundations of Data Science)
• Taught by Professor Ani Adhikari in Fall 2016
• Other EECS lower division courses:
• CS 70 (Discrete Mathematics and Probability Theory)
Classes at Berkeley
![Page 84: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/84.jpg)
• What you learn is much more important than your grade!
• CS 61B (Data Structures and Algorithms)
• Taught by Professor Paul Hilfinger in Fall 2016
• Data Science 8 (Foundations of Data Science)
• Taught by Professor Ani Adhikari in Fall 2016
• Other EECS lower division courses:
• CS 70 (Discrete Mathematics and Probability Theory)
• CS 61C (Machine Structures)
Classes at Berkeley
![Page 85: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/85.jpg)
• What you learn is much more important than your grade!
• CS 61B (Data Structures and Algorithms)
• Taught by Professor Paul Hilfinger in Fall 2016
• Data Science 8 (Foundations of Data Science)
• Taught by Professor Ani Adhikari in Fall 2016
• Other EECS lower division courses:
• CS 70 (Discrete Mathematics and Probability Theory)
• CS 61C (Machine Structures)
• EE 16A/16B (Designing Information Devices and Systems)
Classes at Berkeley
![Page 86: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/86.jpg)
• What you learn is much more important than your grade!
• CS 61B (Data Structures and Algorithms)
• Taught by Professor Paul Hilfinger in Fall 2016
• Data Science 8 (Foundations of Data Science)
• Taught by Professor Ani Adhikari in Fall 2016
• Other EECS lower division courses:
• CS 70 (Discrete Mathematics and Probability Theory)
• CS 61C (Machine Structures)
• EE 16A/16B (Designing Information Devices and Systems)
• EECS upper division courses
Classes at Berkeley
![Page 87: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/87.jpg)
Life Outside the Classroom
![Page 88: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/88.jpg)
• Program for fun! Build things that you think are cool
Life Outside the Classroom
![Page 89: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/89.jpg)
• Program for fun! Build things that you think are cool
• Hackathons are a great place for this to happen
Life Outside the Classroom
![Page 90: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/90.jpg)
• Program for fun! Build things that you think are cool
• Hackathons are a great place for this to happen
• Try an internship or join a research project
Life Outside the Classroom
![Page 91: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/91.jpg)
• Program for fun! Build things that you think are cool
• Hackathons are a great place for this to happen
• Try an internship or join a research project
• Don't forget to do things that aren't CS-related!
Life Outside the Classroom
![Page 92: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/92.jpg)
Lab Assisting
![Page 93: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/93.jpg)
• The best way to give back to the CS community
Lab Assisting
![Page 94: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/94.jpg)
• The best way to give back to the CS community
• Anyone who passes the course can be a lab assistant
Lab Assisting
![Page 95: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/95.jpg)
• The best way to give back to the CS community
• Anyone who passes the course can be a lab assistant
• Develop greater mastery of course concepts
Lab Assisting
![Page 96: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/96.jpg)
• The best way to give back to the CS community
• Anyone who passes the course can be a lab assistant
• Develop greater mastery of course concepts
• Learn to describe technical concepts (great preparation for technical interviews!)
Lab Assisting
![Page 97: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/97.jpg)
• The best way to give back to the CS community
• Anyone who passes the course can be a lab assistant
• Develop greater mastery of course concepts
• Learn to describe technical concepts (great preparation for technical interviews!)
• The first step to joining the course staff as a tutor or teaching assistant
Lab Assisting
![Page 98: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/98.jpg)
• The best way to give back to the CS community
• Anyone who passes the course can be a lab assistant
• Develop greater mastery of course concepts
• Learn to describe technical concepts (great preparation for technical interviews!)
• The first step to joining the course staff as a tutor or teaching assistant
Lab Assisting
https://piazza.com/class/ipkfex1ne3p56y?cid=1682
![Page 99: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/99.jpg)
Thank you!
![Page 100: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one](https://reader034.vdocuments.site/reader034/viewer/2022042406/5f20a8ac045fe44cf97885dd/html5/thumbnails/100.jpg)
Q & A