Lecture 30: Conclusion Brian Hou August 11, 2016 Announcements - - PowerPoint PPT Presentation

lecture 30 conclusion
SMART_READER_LITE
LIVE PREVIEW

Lecture 30: Conclusion Brian Hou August 11, 2016 Announcements - - PowerPoint PPT Presentation

Lecture 30: Conclusion Brian Hou August 11, 2016 Announcements Announcements Final Exam tomorrow (8/12) from 5-8pm in 155 Dwinelle Announcements Final Exam tomorrow (8/12) from 5-8pm in 155 Dwinelle Last part of AutoStyle EC study


slide-1
SLIDE 1

Brian Hou August 11, 2016

Lecture 30: Conclusion

slide-2
SLIDE 2

Announcements

slide-3
SLIDE 3

Announcements

  • Final Exam tomorrow (8/12) from 5-8pm in 155 Dwinelle
slide-4
SLIDE 4

Announcements

  • Final Exam tomorrow (8/12) from 5-8pm in 155 Dwinelle
  • Last part of AutoStyle EC study is due today
slide-5
SLIDE 5

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
slide-6
SLIDE 6

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!
slide-7
SLIDE 7

Scheme Recursive Art Contest

http://art.cs61a.org/

slide-8
SLIDE 8

Scheme Recursive Art Contest

slide-9
SLIDE 9
  • Congratulations to everyone who participated in this

semester's Scheme Recursive Art Contest!

Scheme Recursive Art Contest

slide-10
SLIDE 10
  • 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

slide-11
SLIDE 11

Featherweight (Third Place)

slide-12
SLIDE 12

Featherweight (Third Place)

slide-13
SLIDE 13

Featherweight (Third Place)

Mandelbrot Frrrrraction!! Peilin Lu 13.1% of votes

slide-14
SLIDE 14

Featherweight (Second Place)

slide-15
SLIDE 15

Featherweight (Second Place)

slide-16
SLIDE 16

Featherweight (Second Place)

Tail-recursive Gyarados Leo Adberg and Amir Shahatit 13.4% of votes

slide-17
SLIDE 17

Featherweight (First Place)

slide-18
SLIDE 18

Featherweight (First Place)

slide-19
SLIDE 19

Featherweight (First Place)

Staring Eye Renhua Liu 14.4% of votes

slide-20
SLIDE 20

Heavyweight (Third Place)

slide-21
SLIDE 21

Heavyweight (Third Place)

slide-22
SLIDE 22

Heavyweight (Third Place)

Vigil for The Person Who Got -5 Points in CS61A Xiaocheng Yang and Zeyana Musthafa 14.1% of votes

slide-23
SLIDE 23

Heavyweight (Second Place)

slide-24
SLIDE 24

Heavyweight (Second Place)

slide-25
SLIDE 25

Heavyweight (Second Place)

EE/CS Master Trainers Alex Bondarenko 28.4% of votes

slide-26
SLIDE 26

Heavyweight (First Place)

slide-27
SLIDE 27

Heavyweight (First Place)

slide-28
SLIDE 28

Heavyweight (First Place)

Origin of Life Yi Xu and Jianhui Li 30.0% of votes

slide-29
SLIDE 29

Congratulations!

slide-30
SLIDE 30

What is CS 61A?

slide-31
SLIDE 31

CS 61A in one slide

slide-32
SLIDE 32

CS 61A in one slide

  • High-level ideas in computer science:
slide-33
SLIDE 33

CS 61A in one slide

  • High-level ideas in computer science:
  • Abstraction: manage complexity


by hiding the details

slide-34
SLIDE 34

CS 61A in one slide

  • High-level ideas in computer science:
  • Abstraction: manage complexity


by hiding the details

  • Paradigms: utilize different


approaches to programming

slide-35
SLIDE 35

CS 61A in one slide

  • High-level ideas in computer science:
  • Abstraction: manage complexity


by hiding the details

  • Paradigms: utilize different


approaches to programming

slide-36
SLIDE 36

CS 61A in one slide

  • High-level ideas in computer science:
  • Abstraction: manage complexity


by hiding the details

  • Paradigms: utilize different


approaches to programming

slide-37
SLIDE 37

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:
slide-38
SLIDE 38

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)
slide-39
SLIDE 39

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
slide-40
SLIDE 40

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
slide-41
SLIDE 41

Roadmap Introduction Functions Data Mutability Objects Interpretation Paradigms Applications

slide-42
SLIDE 42

Roadmap Introduction Functions Data Mutability Objects Interpretation Paradigms Applications

  • This week (Introduction), the goals are:
slide-43
SLIDE 43

Roadmap Introduction Functions Data Mutability Objects Interpretation Paradigms Applications

  • This week (Introduction), the goals are:
  • To learn the fundamentals of

programming

slide-44
SLIDE 44

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
slide-45
SLIDE 45

Roadmap Introduction Functions Data Mutability Objects Interpretation Paradigms Applications

slide-46
SLIDE 46

Roadmap Introduction Functions Data Mutability Objects Interpretation Paradigms Applications

  • This week (Functions), the goals are:
slide-47
SLIDE 47

Roadmap Introduction Functions Data Mutability Objects Interpretation Paradigms Applications

  • This week (Functions), the goals are:
  • To understand the idea of

functional abstraction

slide-48
SLIDE 48

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:
slide-49
SLIDE 49

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
slide-50
SLIDE 50

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
slide-51
SLIDE 51

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
  • rders of growth
slide-52
SLIDE 52

Roadmap Introduction Functions Data Mutability Objects Interpretation Paradigms Applications

slide-53
SLIDE 53

Roadmap Introduction Functions Data Mutability Objects Interpretation Paradigms Applications

  • This week (Data), the goals are:
slide-54
SLIDE 54

Roadmap Introduction Functions Data Mutability Objects Interpretation Paradigms Applications

  • This week (Data), the goals are:
  • To continue our journey through

abstraction with data abstraction

slide-55
SLIDE 55

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

slide-56
SLIDE 56

Roadmap Introduction Functions Data Mutability Objects Interpretation Paradigms Applications

slide-57
SLIDE 57

Roadmap Introduction Functions Data Mutability Objects Interpretation Paradigms Applications

  • This short week (Mutability), the

goals are:

slide-58
SLIDE 58

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

slide-59
SLIDE 59

Roadmap Introduction Functions Data Mutability Objects Interpretation Paradigms Applications

slide-60
SLIDE 60

Roadmap Introduction Functions Data Mutability Objects Interpretation Paradigms Applications

  • This week (Objects), the goals are:
slide-61
SLIDE 61

Roadmap Introduction Functions Data Mutability Objects Interpretation Paradigms Applications

  • This week (Objects), the goals are:
  • To learn the paradigm of

  • bject-oriented programming
slide-62
SLIDE 62

Roadmap Introduction Functions Data Mutability Objects Interpretation Paradigms Applications

  • This week (Objects), the goals are:
  • To learn the paradigm of

  • bject-oriented programming
  • To study applications of, and

problems that be solved using, OOP

slide-63
SLIDE 63

Roadmap Introduction Functions Data Mutability Objects Interpretation Paradigms Applications

slide-64
SLIDE 64

Roadmap Introduction Functions Data Mutability Objects Interpretation Paradigms Applications

  • This week (Interpretation), the

goals are:

slide-65
SLIDE 65

Roadmap Introduction Functions Data Mutability Objects Interpretation Paradigms Applications

  • This week (Interpretation), the

goals are:

  • To learn a new language, Scheme,

in two days!

slide-66
SLIDE 66

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

slide-67
SLIDE 67

Roadmap Introduction Functions Data Mutability Objects Interpretation Paradigms Applications

slide-68
SLIDE 68

Roadmap Introduction Functions Data Mutability Objects Interpretation Paradigms Applications

  • This week (Paradigms), the goals are:
slide-69
SLIDE 69

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

slide-70
SLIDE 70

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

slide-71
SLIDE 71

Roadmap Introduction Functions Data Mutability Objects Interpretation Paradigms Applications

slide-72
SLIDE 72

Roadmap Introduction Functions Data Mutability Objects Interpretation Paradigms Applications

  • This week (Applications), the goals are:
slide-73
SLIDE 73

Roadmap Introduction Functions Data Mutability Objects Interpretation Paradigms Applications

  • This week (Applications), the goals are:
  • To go beyond CS 61A and see examples
  • f what comes next
slide-74
SLIDE 74

Roadmap Introduction Functions Data Mutability Objects Interpretation Paradigms Applications

  • This week (Applications), the goals are:
  • To go beyond CS 61A and see examples
  • f what comes next
  • To wrap up CS 61A!
slide-75
SLIDE 75

Life After CS 61A

slide-76
SLIDE 76

Classes at Berkeley

slide-77
SLIDE 77
  • What you learn is much more important than your grade!

Classes at Berkeley

slide-78
SLIDE 78
  • What you learn is much more important than your grade!
  • CS 61B (Data Structures and Algorithms)

Classes at Berkeley

slide-79
SLIDE 79
  • 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

slide-80
SLIDE 80
  • 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

slide-81
SLIDE 81
  • 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

slide-82
SLIDE 82
  • 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

slide-83
SLIDE 83
  • 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

slide-84
SLIDE 84
  • 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

slide-85
SLIDE 85
  • 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

slide-86
SLIDE 86
  • 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

slide-87
SLIDE 87

Life Outside the Classroom

slide-88
SLIDE 88
  • Program for fun! Build things that you think are cool

Life Outside the Classroom

slide-89
SLIDE 89
  • Program for fun! Build things that you think are cool
  • Hackathons are a great place for this to happen

Life Outside the Classroom

slide-90
SLIDE 90
  • 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

slide-91
SLIDE 91
  • 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

slide-92
SLIDE 92

Lab Assisting

slide-93
SLIDE 93
  • The best way to give back to the CS community

Lab Assisting

slide-94
SLIDE 94
  • The best way to give back to the CS community
  • Anyone who passes the course can be a lab assistant

Lab Assisting

slide-95
SLIDE 95
  • 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

slide-96
SLIDE 96
  • 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

slide-97
SLIDE 97
  • 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

slide-98
SLIDE 98
  • 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

slide-99
SLIDE 99

Thank you!

slide-100
SLIDE 100

Q & A