144
Welcome to CS 61A

Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

  • Upload
    others

  • View
    14

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

Welcome to CS 61A

Page 2: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

Announcements

Page 3: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

About the Course

Page 4: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

The 61A Community

4

Page 5: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

The 61A Community

4

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

Page 6: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

The 61A Community

4

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

• Teach lab & discussion sections

Page 7: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

The 61A Community

4

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

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

Page 8: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

The 61A Community

4

39 teaching assistants (TAs), 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 9: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

The 61A Community

4

39 teaching assistants (TAs), 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.

Tutors:

Page 10: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

The 61A Community

4

39 teaching assistants (TAs), 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.

Tutors:

• Hold drop-in office hours

Page 11: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

The 61A Community

4

39 teaching assistants (TAs), 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.

Tutors:

• Hold drop-in office hours

• Teach 5-person mentoring sections

Page 12: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

The 61A Community

4

39 teaching assistants (TAs), 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.

Tutors:

• Hold drop-in office hours

• Teach 5-person mentoring sections

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

Page 13: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

The 61A Community

4

39 teaching assistants (TAs), 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.

Tutors:

• Hold drop-in office hours

• Teach 5-person mentoring sections

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

Academic interns help answer individual questions during lab

Page 14: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

The 61A Community

4

39 teaching assistants (TAs), 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.

Tutors:

• Hold drop-in office hours

• Teach 5-person mentoring sections

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

Academic interns help answer individual questions during lab

1,450 fellow students make CS 61A unique

Page 15: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

Parts of the Course

5

Page 16: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

Parts of the Course

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

5

Page 17: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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)

5

Page 18: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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)

5

Page 19: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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)

5

Page 20: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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 (read it before class)

5

Page 21: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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 (read it before class)

Weekly homework assignments, three exams, & four programming projects

5

Page 22: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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 (read it before class)

Weekly homework assignments, three exams, & four programming projects

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

5

Page 23: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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 (read it before class)

Weekly homework assignments, three exams, & four programming projects

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

5

Everything is posted to cs61a.org

Page 24: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

An Introduction to Computer Science

Page 25: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

What is Computer Science?

7

Page 26: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

What is Computer Science?

7

The study of

Page 27: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

What is Computer Science?

7

What problems can be solved using computation,The study of

Page 28: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

What is Computer Science?

7

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

Page 29: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

What is This Course About?

8

Page 45: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

What is This Course About?

A course about managing complexity

8

Page 46: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

What is This Course About?

A course about managing complexity

Mastering abstraction

8

Page 47: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

What is This Course About?

A course about managing complexity

Mastering abstraction

Programming paradigms

8

Page 48: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

What is This Course About?

A course about managing complexity

Mastering abstraction

Programming paradigms

An introduction to programming

8

Page 49: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

Alternatives to CS 61A

Page 55: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

CS 10: The Beauty and Joy of Computing

10

Page 56: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

CS 10: The Beauty and Joy of Computing

10

Page 57: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

CS 10: The Beauty and Joy of Computing

10

Page 58: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

CS 10: The Beauty and Joy of Computing

Designed for students without prior experience

10

Page 59: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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

Spring 2020: Dan Garcia

10

Page 64: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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

Spring 2020: Dan Garcia

11 open seats (as of Wed 1/22)

10

Page 65: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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

Spring 2020: Dan Garcia

11 open seats (as of Wed 1/22)

Monday & Wednesday 3-4 in 120 Latimer

10

Page 66: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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

Spring 2020: Dan Garcia

11 open seats (as of Wed 1/22)

Monday & Wednesday 3-4 in 120 Latimer

More info: http://cs10.org/

10

Page 67: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

CS 88: Computational Structures in Data Science

11

Page 68: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

CS 88: Computational Structures in Data Science

Alternative to CS 61A with very similar content

11

Page 69: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

CS 88: Computational Structures in Data Science

Alternative to CS 61A with very similar content

•Data 8 overlaps with ~25% of CS 61A

11

Page 70: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

CS 88: Computational Structures in Data Science

Alternative to CS 61A with very similar content

•Data 8 overlaps with ~25% of CS 61A

•CS 88 overlaps with 50% of CS 61A or more

11

Page 71: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

CS 88: Computational Structures in Data Science

Alternative to CS 61A with very similar content

•Data 8 overlaps with ~25% of CS 61A

•CS 88 overlaps with 50% of CS 61A or more

Both together cover ~75% of CS 61A, enough to skip CS 61A and go directly to CS 61B

11

Page 72: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

CS 88: Computational Structures in Data Science

Alternative to CS 61A with very similar content

•Data 8 overlaps with ~25% of CS 61A

•CS 88 overlaps with 50% of CS 61A or more

Both together cover ~75% of CS 61A, enough to skip CS 61A and go directly to CS 61B

Some students take CS 61A after CS 88 for avery thorough introduction to programming

11

Page 73: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

CS 88: Computational Structures in Data Science

Alternative to CS 61A with very similar content

•Data 8 overlaps with ~25% of CS 61A

•CS 88 overlaps with 50% of CS 61A or more

Both together cover ~75% of CS 61A, enough to skip CS 61A and go directly to CS 61B

Some students take CS 61A after CS 88 for avery thorough introduction to programming

Spring 2020: 3 units and a revised syllabus80 open seats (as of Wed 1/22)

11

Page 74: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

CS 88: Computational Structures in Data Science

Alternative to CS 61A with very similar content

•Data 8 overlaps with ~25% of CS 61A

•CS 88 overlaps with 50% of CS 61A or more

Both together cover ~75% of CS 61A, enough to skip CS 61A and go directly to CS 61B

Some students take CS 61A after CS 88 for avery thorough introduction to programming

Spring 2020: 3 units and a revised syllabus80 open seats (as of Wed 1/22)

Monday & Friday 1-2 in 10 Evans

11

Page 75: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

CS 88: Computational Structures in Data Science

Alternative to CS 61A with very similar content

•Data 8 overlaps with ~25% of CS 61A

•CS 88 overlaps with 50% of CS 61A or more

Both together cover ~75% of CS 61A, enough to skip CS 61A and go directly to CS 61B

Some students take CS 61A after CS 88 for avery thorough introduction to programming

Spring 2020: 3 units and a revised syllabus80 open seats (as of Wed 1/22)

Monday & Friday 1-2 in 10 Evans

More info: https://cs88-website.github.io/

11

Page 76: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

Course Policies

Page 77: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

Course Policies

13

Page 78: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

Course Policies

13

Learning

Page 79: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

Course Policies

13

Learning

Community

Page 80: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

Course Policies

13

Learning

Course Staff

Community

Page 81: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

Course Policies

13

Learning

Course Staff

Details...

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

Community

Page 82: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

Collaboration

14

Page 83: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

Collaboration

14

Asking questions is highly encouraged

Page 84: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

Collaboration

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

14

Asking questions is highly encouraged

Page 85: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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 86: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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 87: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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 88: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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

• Please don’t look at someone else's code!Exceptions: lab, your project partner, or after you already solved the problem

The limits of collaboration

Asking questions is highly encouraged

Page 89: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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

• Please don’t look at someone else's code!Exceptions: lab, your project partner, or after you already solved the problem

• Please don't tell other people the answers! You can point them to what is wrong and describe how to fix it, but don't tell them what to type, and don't type for them

The limits of collaboration

Asking questions is highly encouraged

Page 90: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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

• Please don’t look at someone else's code!Exceptions: lab, your project partner, or after you already solved the problem

• Please don't tell other people the answers! You can point them to what is wrong and describe how to fix it, but don't tell them what to type, and don't type for them

• Copying project solutions causes people to fail the course

The limits of collaboration

Asking questions is highly encouraged

Page 91: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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

• Please don’t look at someone else's code!Exceptions: lab, your project partner, or after you already solved the problem

• Please don't tell other people the answers! You can point them to what is wrong and describe how to fix it, but don't tell them what to type, and don't type for them

• Copying project solutions causes people to fail the course

• We really do catch people who violate the rules, and we're getting even better at it.

The limits of collaboration

Asking questions is highly encouraged

Page 92: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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

• Please don’t look at someone else's code!Exceptions: lab, your project partner, or after you already solved the problem

• Please don't tell other people the answers! You can point them to what is wrong and describe how to fix it, but don't tell them what to type, and don't type for them

• Copying project solutions causes people to fail the course

• We really do catch people who violate the rules, and we're getting even better at it.

The limits of collaboration

Asking questions is highly encouraged

Build good habits now

Page 93: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

Expressions

Page 94: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

Types of expressions

16

Page 95: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

Types of expressions

16

An expression describes a computation and evaluates to a value

Page 96: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

18 + 69

Types of expressions

16

An expression describes a computation and evaluates to a value

Page 97: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

18 + 696

23

Types of expressions

16

An expression describes a computation and evaluates to a value

Page 98: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

18 + 696

23

p3493161

Types of expressions

16

An expression describes a computation and evaluates to a value

Page 99: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

18 + 696

23

p3493161

sin⇡

Types of expressions

16

An expression describes a computation and evaluates to a value

Page 100: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

18 + 696

23

p3493161

sin⇡

|� 1869|

Types of expressions

16

An expression describes a computation and evaluates to a value

Page 101: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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 102: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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 103: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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 104: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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 105: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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 106: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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 107: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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 109: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

Call Expressions in Python

All expressions can use function call notation

(Demo)

17

Page 110: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

Anatomy of a Call Expression

18

Page 111: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

Anatomy of a Call Expression

18

add ( 2 , 3 )

Page 112: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

Anatomy of a Call Expression

18

add ( 2 , 3 )

Page 113: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

Anatomy of a Call Expression

18

add ( 2 , 3 )

Operator

Page 114: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

Anatomy of a Call Expression

18

add ( 2 , 3 )

Operator Operand Operand

Page 115: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

Anatomy of a Call Expression

18

add ( 2 , 3 )

Operator Operand Operand

Operators and operands are also expressions

Page 116: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

Anatomy of a Call Expression

18

add ( 2 , 3 )

Operator Operand Operand

Operators and operands are also expressions

So they evaluate to values

Page 117: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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 118: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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 119: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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 120: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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

Evaluating Nested Expressions

19

Page 121: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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

Evaluating Nested Expressions

19

Page 122: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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

Evaluating Nested Expressions

19

mul

Page 123: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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

add(4, mul(4, 6))

Evaluating Nested Expressions

19

mul

Page 124: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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

add(4, mul(4, 6))

Evaluating Nested Expressions

19

mul

add

Page 125: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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

add(4, mul(4, 6))

Evaluating Nested Expressions

19

mul

add 4

Page 126: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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 127: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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 129: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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 131: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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 132: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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 133: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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 135: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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 137: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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 138: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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 139: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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 140: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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 141: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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 142: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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 143: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

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 144: Welcome to CS 61A - University of California, Berkeleycs61a/sp20/assets/... · The 61A Community 4 39 teaching assistants (TAs), known at Berkeley as GSIs or UGSIs: • Teach lab

Functions, Values, Objects, Interpreters, and Data

(Demo)