lecture 30: conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... ·...

100
Brian Hou August 11, 2016 Lecture 30: Conclusion

Upload: others

Post on 05-Jul-2020

1 views

Category:

Documents


0 download

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

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

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

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

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

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

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 7: Lecture 30: Conclusioninst.eecs.berkeley.edu › ~cs61a › su16 › assets › slides › 30... · 2017-06-04 · • Learn the Python programming language (& others) CS 61A in one

Scheme Recursive Art Contest

http://art.cs61a.org/

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

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

• 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

• 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

• 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

• 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

• 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

• 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

• 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

• 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

• 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

• 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

• 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

• 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

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

• 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

• 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

• 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

• 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

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

• 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

• 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

• 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

• 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

• 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

• 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

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

Q & A