functions - university of california, berkeleycs61a/fa19/assets/...• lots of other stuff: homework...

143
Functions

Upload: others

Post on 22-Sep-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Functions

Page 2: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

About the Course

Page 3: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

The 61A Community

!3

Page 4: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

The 61A Community

!3

57 teaching assistants (TAs), formally known at Berkeley as GSIs or UGSIs:

Page 5: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

The 61A Community

!3

57 teaching assistants (TAs), formally known at Berkeley as GSIs or UGSIs:

• Teach lab & discussion sections

Page 6: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

The 61A Community

!3

57 teaching assistants (TAs), formally known at Berkeley as GSIs or UGSIs:

• Teach lab & discussion sections• Hold drop-in office hours

Page 7: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

The 61A Community

!3

57 teaching assistants (TAs), formally known at Berkeley as GSIs or UGSIs:

• Teach lab & discussion sections• Hold drop-in office hours

• Lots of other stuff: develop assignments, grade exams, etc.

Page 8: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

The 61A Community

!3

57 teaching assistants (TAs), formally known at Berkeley as GSIs or UGSIs:

• Teach lab & discussion sections• Hold drop-in office hours

• Lots of other stuff: develop assignments, grade exams, etc.

50+ mentors:

Page 9: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

The 61A Community

!3

57 teaching assistants (TAs), formally known at Berkeley as GSIs or UGSIs:

• Teach lab & discussion sections• Hold drop-in office hours

• Lots of other stuff: develop assignments, grade exams, etc.

50+ mentors:

• Teach mentoring sections

Page 10: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

The 61A Community

!3

57 teaching assistants (TAs), formally known at Berkeley as GSIs or UGSIs:

• Teach lab & discussion sections• Hold drop-in office hours

• Lots of other stuff: develop assignments, grade exams, etc.

50+ mentors:

• Teach mentoring sections

• Hold drop-in office hours

Page 11: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

The 61A Community

!3

57 teaching assistants (TAs), formally known at Berkeley as GSIs or UGSIs:

• Teach lab & discussion sections• Hold drop-in office hours

• Lots of other stuff: develop assignments, grade exams, etc.

50+ mentors:

• Teach mentoring sections

• Hold drop-in office hours

• Lots of other stuff: homework parties, mastery sections, etc.

Page 12: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

The 61A Community

!3

57 teaching assistants (TAs), formally known at Berkeley as GSIs or UGSIs:

• Teach lab & discussion sections• Hold drop-in office hours

• Lots of other stuff: develop assignments, grade exams, etc.

50+ mentors:

• Teach mentoring sections

• Hold drop-in office hours

• Lots of other stuff: homework parties, mastery sections, etc.

200+ academic interns help answer individual questions during lab

Page 13: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

The 61A Community

!3

57 teaching assistants (TAs), formally known at Berkeley as GSIs or UGSIs:

• Teach lab & discussion sections• Hold drop-in office hours

• Lots of other stuff: develop assignments, grade exams, etc.

50+ mentors:

• Teach mentoring sections

• Hold drop-in office hours

• Lots of other stuff: homework parties, mastery sections, etc.

200+ academic interns help answer individual questions during lab

2,000 fellow students make CS 61A unique

Page 14: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Parts of the Course

!4

Page 15: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Parts of the Course

Lecture: Videos posted to cs61a.org before each live lecture

!4

Page 16: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Parts of the Course

Lecture: Videos posted to cs61a.org before each live lecture

Lab section: The most important part of this course (next week)

!4

Page 17: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Parts of the Course

Lecture: Videos posted to cs61a.org before each live lecture

Lab section: The most important part of this course (next week)

Discussion section: The most important part of this course (this week)

!4

Page 18: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Parts of the Course

Lecture: Videos posted to cs61a.org before each live lecture

Lab section: The most important part of this course (next week)

Discussion section: The most important part of this course (this week)

Staff office hours: The most important part of this course (next week)

!4

Page 19: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Parts of the Course

Lecture: Videos posted to cs61a.org before each live lecture

Lab section: The most important part of this course (next week)

Discussion section: The most important part of this course (this week)

Staff office hours: The most important part of this course (next week)

Online textbook: http://composingprograms.com

!4

Page 20: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Parts of the Course

Lecture: Videos posted to cs61a.org before each live lecture

Lab section: The most important part of this course (next week)

Discussion section: The most important part of this course (this week)

Staff office hours: The most important part of this course (next week)

Online textbook: http://composingprograms.com

Weekly homework assignments, three exams, & four programming projects

!4

Page 21: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Parts of the Course

Lecture: Videos posted to cs61a.org before each live lecture

Lab section: The most important part of this course (next week)

Discussion section: The most important part of this course (this week)

Staff office hours: The most important part of this course (next week)

Online textbook: http://composingprograms.com

Weekly homework assignments, three exams, & four programming projects

Lots of optional special events to help you complete all this work

!4

Page 22: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Parts of the Course

Lecture: Videos posted to cs61a.org before each live lecture

Lab section: The most important part of this course (next week)

Discussion section: The most important part of this course (this week)

Staff office hours: The most important part of this course (next week)

Online textbook: http://composingprograms.com

Weekly homework assignments, three exams, & four programming projects

Lots of optional special events to help you complete all this work

!4

Everything is posted to cs61a.org

Page 23: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Announcements

Page 24: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

An Introduction to Computer Science

Page 25: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

What is Computer Science?

!7

Page 26: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

What is Computer Science?

!7

The study of

Page 27: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

What is Computer Science?

!7

What problems can be solved using computation,The study of

Page 28: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

What is Computer Science?

!7

What problems can be solved using computation,How to solve those problems, andThe study of

Page 29: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

What is Computer Science?

!7

What problems can be solved using computation,How to solve those problems, andWhat techniques lead to effective solutions

The study of

Page 30: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

What is Computer Science?

Systems

!7

What problems can be solved using computation,How to solve those problems, andWhat techniques lead to effective solutions

The study of

Page 31: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

What is Computer Science?

Systems

Artificial Intelligence

!7

What problems can be solved using computation,How to solve those problems, andWhat techniques lead to effective solutions

The study of

Page 32: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

What is Computer Science?

Systems

Artificial Intelligence

Graphics

!7

What problems can be solved using computation,How to solve those problems, andWhat techniques lead to effective solutions

The study of

Page 33: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

What is Computer Science?

Systems

Artificial Intelligence

Graphics

Security

!7

What problems can be solved using computation,How to solve those problems, andWhat techniques lead to effective solutions

The study of

Page 34: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

What is Computer Science?

Systems

Artificial Intelligence

Graphics

Security

Networking

Programming Languages

Theory

Scientific Computing

...

!7

What problems can be solved using computation,How to solve those problems, andWhat techniques lead to effective solutions

The study of

Page 35: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

What is Computer Science?

Systems

Artificial Intelligence

Graphics

Security

Networking

Programming Languages

Theory

Scientific Computing

...

!7

What problems can be solved using computation,How to solve those problems, andWhat techniques lead to effective solutions

The study of

Page 36: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

What is Computer Science?

Systems

Artificial Intelligence

Graphics

Security

Networking

Programming Languages

Theory

Scientific Computing

...

!7

Decision Making

What problems can be solved using computation,How to solve those problems, andWhat techniques lead to effective solutions

The study of

Page 37: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

What is Computer Science?

Systems

Artificial Intelligence

Graphics

Security

Networking

Programming Languages

Theory

Scientific Computing

...

!7

Decision Making

Robotics

What problems can be solved using computation,How to solve those problems, andWhat techniques lead to effective solutions

The study of

Page 38: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

What is Computer Science?

Systems

Artificial Intelligence

Graphics

Security

Networking

Programming Languages

Theory

Scientific Computing

...

!7

Decision Making

Robotics

Natural Language Processing

What problems can be solved using computation,How to solve those problems, andWhat techniques lead to effective solutions

The study of

Page 39: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

What is Computer Science?

Systems

Artificial Intelligence

Graphics

Security

Networking

Programming Languages

Theory

Scientific Computing

...

!7

Decision Making

Robotics

Natural Language Processing

...

What problems can be solved using computation,How to solve those problems, andWhat techniques lead to effective solutions

The study of

Page 40: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

What is Computer Science?

Systems

Artificial Intelligence

Graphics

Security

Networking

Programming Languages

Theory

Scientific Computing

...

!7

Decision Making

Robotics

Natural Language Processing

...

What problems can be solved using computation,How to solve those problems, andWhat techniques lead to effective solutions

The study of

Page 41: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

What is Computer Science?

Systems

Artificial Intelligence

Graphics

Security

Networking

Programming Languages

Theory

Scientific Computing

...

!7

Decision Making

Robotics

Natural Language Processing

...

What problems can be solved using computation,How to solve those problems, andWhat techniques lead to effective solutions

The study of

Answering Questions

Page 42: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

What is Computer Science?

Systems

Artificial Intelligence

Graphics

Security

Networking

Programming Languages

Theory

Scientific Computing

...

!7

Decision Making

Robotics

Natural Language Processing

...

What problems can be solved using computation,How to solve those problems, andWhat techniques lead to effective solutions

The study of

Answering Questions

Translation

Page 43: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

What is Computer Science?

Systems

Artificial Intelligence

Graphics

Security

Networking

Programming Languages

Theory

Scientific Computing

...

!7

Decision Making

Robotics

Natural Language Processing

...

What problems can be solved using computation,How to solve those problems, andWhat techniques lead to effective solutions

The study of

Answering Questions

Translation

...

Page 44: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

What is This Course About?

!8

Page 45: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

What is This Course About?

A course about managing complexity

!8

Page 46: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

What is This Course About?

A course about managing complexity

Mastering abstraction

!8

Page 47: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

What is This Course About?

A course about managing complexity

Mastering abstraction

Programming paradigms

!8

Page 48: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

What is This Course About?

A course about managing complexity

Mastering abstraction

Programming paradigms

An introduction to programming

!8

Page 49: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

What is This Course About?

A course about managing complexity

Mastering abstraction

Programming paradigms

An introduction to programming

Full understanding of Python fundamentals

!8

Page 50: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

What is This Course About?

A course about managing complexity

Mastering abstraction

Programming paradigms

An introduction to programming

Full understanding of Python fundamentals

Combining multiple ideas in large projects

!8

Page 51: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

What is This Course About?

A course about managing complexity

Mastering abstraction

Programming paradigms

An introduction to programming

Full understanding of Python fundamentals

Combining multiple ideas in large projects

How computers interpret programming languages

!8

Page 52: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

What is This Course About?

A course about managing complexity

Mastering abstraction

Programming paradigms

An introduction to programming

Full understanding of Python fundamentals

Combining multiple ideas in large projects

How computers interpret programming languages

Different types of languages: Scheme & SQL

!8

Page 53: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

What is This Course About?

A course about managing complexity

Mastering abstraction

Programming paradigms

An introduction to programming

Full understanding of Python fundamentals

Combining multiple ideas in large projects

How computers interpret programming languages

Different types of languages: Scheme & SQL

A challenging course that will demand a lot of you

!8

Page 54: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Alternatives to CS 61A

Page 55: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

CS 10: The Beauty and Joy of Computing

!10

Page 56: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

CS 10: The Beauty and Joy of Computing

!10

Page 57: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

CS 10: The Beauty and Joy of Computing

!10

Page 58: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

CS 10: The Beauty and Joy of Computing

Designed for students without prior experience

!10

Page 59: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

CS 10: The Beauty and Joy of Computing

Designed for students without prior experience

A programming environment created by Berkeley, now used in courses around the world and online

!10

Page 60: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

CS 10: The Beauty and Joy of Computing

Designed for students without prior experience

A programming environment created by Berkeley, now used in courses around the world and online

!10

Page 61: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

CS 10: The Beauty and Joy of Computing

Designed for students without prior experience

A programming environment created by Berkeley, now used in courses around the world and online

!10

Page 62: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

CS 10: The Beauty and Joy of Computing

Designed for students without prior experience

A programming environment created by Berkeley, now used in courses around the world and online

An introduction to fundamentals (& Python) that sets students up for success in CS 61A

!10

Page 63: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

CS 10: The Beauty and Joy of Computing

Designed for students without prior experience

A programming environment created by Berkeley, now used in courses around the world and online

An introduction to fundamentals (& Python) that sets students up for success in CS 61A

Fall 2018: Dan Garcia

!10

Page 64: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

CS 10: The Beauty and Joy of Computing

Designed for students without prior experience

A programming environment created by Berkeley, now used in courses around the world and online

An introduction to fundamentals (& Python) that sets students up for success in CS 61A

Fall 2018: Dan Garcia

25 seats available

!10

Page 65: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

CS 10: The Beauty and Joy of Computing

Designed for students without prior experience

A programming environment created by Berkeley, now used in courses around the world and online

An introduction to fundamentals (& Python) that sets students up for success in CS 61A

Fall 2018: Dan Garcia

25 seats available

More info: http://cs10.org/fa18/

!10

Page 66: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Data Science 8: Foundations of Data Science

!11

Page 67: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Data Science 8: Foundations of Data Science

Fundamentals of computing, statistical inference, & machine learning applied to real-world data sets

!11

Page 68: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Data Science 8: Foundations of Data Science

Fundamentals of computing, statistical inference, & machine learning applied to real-world data sets

!11

Page 69: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Data Science 8: Foundations of Data Science

Fundamentals of computing, statistical inference, & machine learning applied to real-world data sets

More statistics than computer science

!11

Page 70: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Data Science 8: Foundations of Data Science

Fundamentals of computing, statistical inference, & machine learning applied to real-world data sets

More statistics than computer science

Great programming practice for CS 61A

!11

Page 71: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Data Science 8: Foundations of Data Science

Fundamentals of computing, statistical inference, & machine learning applied to real-world data sets

More statistics than computer science

Great programming practice for CS 61A

Listed as CS C8

!11

Page 72: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Data Science 8: Foundations of Data Science

Fundamentals of computing, statistical inference, & machine learning applied to real-world data sets

More statistics than computer science

Great programming practice for CS 61A

Listed as CS C8

This semester it's full

!11

Page 73: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Data Science 8: Foundations of Data Science

Fundamentals of computing, statistical inference, & machine learning applied to real-world data sets

More statistics than computer science

Great programming practice for CS 61A

Listed as CS C8

This semester it's full

More info: http://data8.org/fa18

!11

Page 74: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Course Policies

Page 75: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Course Policies

!13

Page 76: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Course Policies

!13

Learning

Page 77: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Course Policies

!13

Learning

Community

Page 78: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Course Policies

!13

Learning

Course Staff

Community

Page 79: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Course Policies

!13

Learning

Course Staff

Details...

http://cs61a.org/articles/about.html

Community

Page 80: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Collaboration

!14

Page 81: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Collaboration

!14

Asking questions is highly encouraged

Page 82: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Collaboration

•Discuss everything with each other; learn from your fellow students!

!14

Asking questions is highly encouraged

Page 83: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Collaboration

•Discuss everything with each other; learn from your fellow students!

•Some projects can be completed with a partner

!14

Asking questions is highly encouraged

Page 84: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Collaboration

•Discuss everything with each other; learn from your fellow students!

•Some projects can be completed with a partner

•Choose a partner from your discussion section

!14

Asking questions is highly encouraged

Page 85: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Collaboration

•Discuss everything with each other; learn from your fellow students!

•Some projects can be completed with a partner

•Choose a partner from your discussion section

!14

The limits of collaboration

Asking questions is highly encouraged

Page 86: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Collaboration

•Discuss everything with each other; learn from your fellow students!

•Some projects can be completed with a partner

•Choose a partner from your discussion section

!14

• One simple rule: Don’t share your code, except with your project partner

The limits of collaboration

Asking questions is highly encouraged

Page 87: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Collaboration

•Discuss everything with each other; learn from your fellow students!

•Some projects can be completed with a partner

•Choose a partner from your discussion section

!14

• One simple rule: Don’t share your code, except with your project partner

• Copying project solutions causes people to fail the course

The limits of collaboration

Asking questions is highly encouraged

Page 88: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Collaboration

•Discuss everything with each other; learn from your fellow students!

•Some projects can be completed with a partner

•Choose a partner from your discussion section

!14

• One simple rule: Don’t share your code, except with your project partner

• Copying project solutions causes people to fail the course

• We really do catch people who violate the rules, because...

The limits of collaboration

Asking questions is highly encouraged

Page 89: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Collaboration

•Discuss everything with each other; learn from your fellow students!

•Some projects can be completed with a partner

•Choose a partner from your discussion section

!14

• One simple rule: Don’t share your code, except with your project partner

• Copying project solutions causes people to fail the course

• We really do catch people who violate the rules, because...

•We also know how to search the web for solutions

The limits of collaboration

Asking questions is highly encouraged

Page 90: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Collaboration

•Discuss everything with each other; learn from your fellow students!

•Some projects can be completed with a partner

•Choose a partner from your discussion section

!14

• One simple rule: Don’t share your code, except with your project partner

• Copying project solutions causes people to fail the course

• We really do catch people who violate the rules, because...

•We also know how to search the web for solutions

•We use computers to check your work

The limits of collaboration

Asking questions is highly encouraged

Page 91: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Collaboration

•Discuss everything with each other; learn from your fellow students!

•Some projects can be completed with a partner

•Choose a partner from your discussion section

!14

• One simple rule: Don’t share your code, except with your project partner

• Copying project solutions causes people to fail the course

• We really do catch people who violate the rules, because...

•We also know how to search the web for solutions

•We use computers to check your work

The limits of collaboration

Asking questions is highly encouraged

Build good habits now

Page 92: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Expressions

Page 93: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Types of expressions

!16

Page 94: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Types of expressions

!16

An expression describes a computation and evaluates to a value

Page 95: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

18 + 69

Types of expressions

!16

An expression describes a computation and evaluates to a value

Page 96: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

18 + 696

23

Types of expressions

!16

An expression describes a computation and evaluates to a value

Page 97: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

18 + 696

23

p3493161

Types of expressions

!16

An expression describes a computation and evaluates to a value

Page 98: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

18 + 696

23

p3493161

sin⇡

Types of expressions

!16

An expression describes a computation and evaluates to a value

Page 99: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

18 + 696

23

p3493161

sin⇡

|� 1869|

Types of expressions

!16

An expression describes a computation and evaluates to a value

Page 100: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

18 + 696

23

p3493161

sin⇡

100X

i=1

i

|� 1869|

Types of expressions

!16

An expression describes a computation and evaluates to a value

Page 101: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

18 + 696

23

p3493161

sin⇡

100X

i=1

i

|� 1869|

✓69

18

Types of expressions

!16

An expression describes a computation and evaluates to a value

Page 102: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

18 + 696

23

p3493161

sin⇡

f(x)100X

i=1

i

|� 1869|

✓69

18

Types of expressions

!16

An expression describes a computation and evaluates to a value

Page 103: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

18 + 696

23

p3493161

sin⇡

f(x)100X

i=1

i

|� 1869|

✓69

18

2100

Types of expressions

!16

An expression describes a computation and evaluates to a value

Page 104: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

18 + 696

23

p3493161

sin⇡

f(x)100X

i=1

i

|� 1869|

✓69

18

2100

log2 1024

Types of expressions

!16

An expression describes a computation and evaluates to a value

Page 105: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

18 + 696

23

p3493161

sin⇡

f(x)100X

i=1

i

|� 1869|

✓69

18

2100

log2 1024

7 mod 2

Types of expressions

!16

An expression describes a computation and evaluates to a value

Page 106: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

18 + 696

23

p3493161

sin⇡

f(x)100X

i=1

i

|� 1869|

✓69

18

2100

log2 1024

7 mod 2 limx!1

1

x

Types of expressions

!16

An expression describes a computation and evaluates to a value

Page 107: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

18 + 696

23

p3493161

sin⇡

f(x)100X

i=1

i

|� 1869|

✓69

18

2100

log2 1024

7 mod 2 limx!1

1

x

Types of expressions

!16

An expression describes a computation and evaluates to a value

Page 108: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Call Expressions in Python

All expressions can use function call notation

(Demo)

!17

Page 109: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Anatomy of a Call Expression

!18

Page 110: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Anatomy of a Call Expression

!18

add ( 2 , 3 )

Page 111: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Anatomy of a Call Expression

!18

add ( 2 , 3 )

Page 112: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Anatomy of a Call Expression

!18

add ( 2 , 3 )

Operator

Page 113: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Anatomy of a Call Expression

!18

add ( 2 , 3 )

Operator Operand Operand

Page 114: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Anatomy of a Call Expression

!18

add ( 2 , 3 )

Operator Operand Operand

Operators and operands are also expressions

Page 115: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Anatomy of a Call Expression

!18

add ( 2 , 3 )

Operator Operand Operand

Operators and operands are also expressions

So they evaluate to values

Page 116: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Anatomy of a Call Expression

!18

Evaluation procedure for call expressions:

add ( 2 , 3 )

Operator Operand Operand

Operators and operands are also expressions

So they evaluate to values

Page 117: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Anatomy of a Call Expression

!18

Evaluation procedure for call expressions:

add ( 2 , 3 )

Operator Operand Operand

Operators and operands are also expressions

1. Evaluate the operator and then the operand subexpressions

So they evaluate to values

Page 118: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Anatomy of a Call Expression

!18

Evaluation procedure for call expressions:

add ( 2 , 3 )

Operator Operand Operand

Operators and operands are also expressions

1. Evaluate the operator and then the operand subexpressions

2. Apply the function that is the value of the operator

to the arguments that are the values of the operands

So they evaluate to values

Page 119: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

mul(add(4, mul(4, 6)), add(3, 5))

Evaluating Nested Expressions

!19

Page 120: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

mul(add(4, mul(4, 6)), add(3, 5))

Evaluating Nested Expressions

!19

Page 121: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

mul(add(4, mul(4, 6)), add(3, 5))

Evaluating Nested Expressions

!19

mul

Page 122: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

mul(add(4, mul(4, 6)), add(3, 5))

add(4, mul(4, 6))

Evaluating Nested Expressions

!19

mul

Page 123: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

mul(add(4, mul(4, 6)), add(3, 5))

add(4, mul(4, 6))

Evaluating Nested Expressions

!19

mul

add

Page 124: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

mul(add(4, mul(4, 6)), add(3, 5))

add(4, mul(4, 6))

Evaluating Nested Expressions

!19

mul

add 4

Page 125: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

mul(add(4, mul(4, 6)), add(3, 5))

add(4, mul(4, 6))

Evaluating Nested Expressions

!19

mul

add 4

mul(4, 6)

Page 126: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

mul(add(4, mul(4, 6)), add(3, 5))

add(4, mul(4, 6))

Evaluating Nested Expressions

!19

mul

add 4

mul(4, 6)

mul 4 6

Page 127: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

mul(add(4, mul(4, 6)), add(3, 5))

add(4, mul(4, 6))

Evaluating Nested Expressions

!19

mul

add 4

mul(4, 6)

mul 4 6

Page 128: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

mul(add(4, mul(4, 6)), add(3, 5))

add(4, mul(4, 6))

Evaluating Nested Expressions

!19

mul

add 4

mul(4, 6)

mul 4 6

24

Page 129: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

mul(add(4, mul(4, 6)), add(3, 5))

add(4, mul(4, 6))

Evaluating Nested Expressions

!19

mul

add 4

mul(4, 6)

mul 4 6

24

Page 130: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

mul(add(4, mul(4, 6)), add(3, 5))

add(4, mul(4, 6))

Evaluating Nested Expressions

!19

28mul

add 4

mul(4, 6)

mul 4 6

24

Page 131: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

mul(add(4, mul(4, 6)), add(3, 5))

add(4, mul(4, 6))

Evaluating Nested Expressions

!19

28mul

add 4

mul(4, 6)

mul 4 6

24

add(3, 5)

Page 132: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

mul(add(4, mul(4, 6)), add(3, 5))

add(4, mul(4, 6))

Evaluating Nested Expressions

!19

28mul

add 4

mul(4, 6)

mul 4 6

24

add(3, 5)

add 3 5

Page 133: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

mul(add(4, mul(4, 6)), add(3, 5))

add(4, mul(4, 6))

Evaluating Nested Expressions

!19

28mul

add 4

mul(4, 6)

mul 4 6

24

add(3, 5)

add 3 5

Page 134: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

mul(add(4, mul(4, 6)), add(3, 5))

add(4, mul(4, 6))

Evaluating Nested Expressions

!19

28mul

add 4

mul(4, 6)

mul 4 6

24

add(3, 5)

add 3 5

8

Page 135: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

mul(add(4, mul(4, 6)), add(3, 5))

add(4, mul(4, 6))

Evaluating Nested Expressions

!19

28mul

add 4

mul(4, 6)

mul 4 6

24

add(3, 5)

add 3 5

8

Page 136: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

224mul(add(4, mul(4, 6)), add(3, 5))

add(4, mul(4, 6))

Evaluating Nested Expressions

!19

28mul

add 4

mul(4, 6)

mul 4 6

24

add(3, 5)

add 3 5

8

Page 137: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

224mul(add(4, mul(4, 6)), add(3, 5))

add(4, mul(4, 6))28mul

add 4

mul(4, 6)

mul 4 6

24

add(3, 5)

add 3 5

8

Evaluating Nested Expressions

!20

Page 138: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

224mul(add(4, mul(4, 6)), add(3, 5))

add(4, mul(4, 6))28mul

add 4

mul(4, 6)

mul 4 6

24

add(3, 5)

add 3 5

8

Evaluating Nested Expressions

!20

Expression tree

Page 139: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

224mul(add(4, mul(4, 6)), add(3, 5))

add(4, mul(4, 6))28mul

add 4

mul(4, 6)

mul 4 6

24

add(3, 5)

add 3 5

8

Evaluating Nested Expressions

!20

Expression tree

Operand subexpression

Page 140: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

224mul(add(4, mul(4, 6)), add(3, 5))

add(4, mul(4, 6))28mul

add 4

mul(4, 6)

mul 4 6

24

add(3, 5)

add 3 5

8

Evaluating Nested Expressions

!20

Expression tree

Operand subexpression

Value of subexpression

Page 141: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

224mul(add(4, mul(4, 6)), add(3, 5))

add(4, mul(4, 6))28mul

add 4

mul(4, 6)

mul 4 6

24

add(3, 5)

add 3 5

8

Evaluating Nested Expressions

!20

Expression tree

Operand subexpression

1st argument to mulValue of subexpression

Page 142: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

224mul(add(4, mul(4, 6)), add(3, 5))

add(4, mul(4, 6))28mul

add 4

mul(4, 6)

mul 4 6

24

add(3, 5)

add 3 5

8

Evaluating Nested Expressions

!20

Expression tree

Operand subexpression

1st argument to mul

Value of the whole expression

Value of subexpression

Page 143: Functions - University of California, Berkeleycs61a/fa19/assets/...• Lots of other stuff: homework parties, mastery sections, etc. ... 200+ academic interns help answer individual

Functions, Values, Objects, Interpreters, and Data

(Demo)