lecture 1: introduction - inst.eecs. · pdf filelecture 1: introduction. ... 2 lecturers 12...

153
Marvin Zhang 06/20/2016 Lecture 1: Introduction

Upload: truongtram

Post on 06-Mar-2018

216 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Marvin Zhang 06/20/2016

Lecture 1: Introduction

Page 2: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Welcome to Berkeley Computer Science!

Page 3: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Humans of CS 61A

Page 4: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Humans of CS 61A

2Lecturers

Page 5: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Humans of CS 61A

2Lecturers 12TAs

Page 6: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Humans of CS 61A

2Lecturers 12TAs

13Tutors

Page 7: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Humans of CS 61A

2Lecturers 12TAs

13Tutors

100+Labassistants!

Page 8: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Humans of CS 61A

2Lecturers 12TAs

13Tutors

100+Labassistants!

400+Students!!!

Page 9: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Computer Science in one slide

Page 10: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Computer Science in one slide

• What problems can computers solve?

Page 11: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Computer Science in one slide

• What problems can computers solve?• How do we get computers to solve these problems?

Page 12: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Computer Science in one slide

• What problems can computers solve?• How do we get computers to solve these problems?• What are general techniques for problem solving?

Page 13: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Computer Science in one slide

• What problems can computers solve?• How do we get computers to solve these problems?• What are general techniques for problem solving?

Systems

Page 14: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Computer Science in one slide

• What problems can computers solve?• How do we get computers to solve these problems?• What are general techniques for problem solving?

Systems

ArtificialIntelligence

Page 15: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Computer Science in one slide

• What problems can computers solve?• How do we get computers to solve these problems?• What are general techniques for problem solving?

Systems

ArtificialIntelligence

Security

Page 16: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Computer Science in one slide

• What problems can computers solve?• How do we get computers to solve these problems?• What are general techniques for problem solving?

Systems

ArtificialIntelligence

Security

Networking

Page 17: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Computer Science in one slide

• What problems can computers solve?• How do we get computers to solve these problems?• What are general techniques for problem solving?

Systems

ArtificialIntelligence

Security

Networking

Theory

Page 18: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Computer Science in one slide

• What problems can computers solve?• How do we get computers to solve these problems?• What are general techniques for problem solving?

Systems

ArtificialIntelligence

Security

Networking

Theory

ComputationalBiology

Page 19: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Computer Science in one slide

• What problems can computers solve?• How do we get computers to solve these problems?• What are general techniques for problem solving?

Systems

ArtificialIntelligence

Security

Networking

Theory

ComputationalBiology

...

Page 20: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Computer Science in one slide

• What problems can computers solve?• How do we get computers to solve these problems?• What are general techniques for problem solving?

Systems

ArtificialIntelligence

Security

Networking

Theory

ComputationalBiology

...

Page 21: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Computer Science in one slide

• What problems can computers solve?• How do we get computers to solve these problems?• What are general techniques for problem solving?

Systems

ArtificialIntelligence

Security

Networking

Theory

ComputationalBiology

...

NaturalLanguageProcessing

Page 22: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Computer Science in one slide

• What problems can computers solve?• How do we get computers to solve these problems?• What are general techniques for problem solving?

Systems

ArtificialIntelligence

Security

Networking

Theory

ComputationalBiology

...

NaturalLanguageProcessing

MachineLearning

Page 23: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Computer Science in one slide

• What problems can computers solve?• How do we get computers to solve these problems?• What are general techniques for problem solving?

Systems

ArtificialIntelligence

Security

Networking

Theory

ComputationalBiology

...

NaturalLanguageProcessing

MachineLearning

ComputerVision

Page 24: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Computer Science in one slide

• What problems can computers solve?• How do we get computers to solve these problems?• What are general techniques for problem solving?

Systems

ArtificialIntelligence

Security

Networking

Theory

ComputationalBiology

...

NaturalLanguageProcessing

MachineLearning

ComputerVision

Planning

Page 25: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Computer Science in one slide

• What problems can computers solve?• How do we get computers to solve these problems?• What are general techniques for problem solving?

Systems

ArtificialIntelligence

Security

Networking

Theory

ComputationalBiology

...

NaturalLanguageProcessing

MachineLearning

ComputerVision

Planning

Robotics

Page 26: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Computer Science in one slide

• What problems can computers solve?• How do we get computers to solve these problems?• What are general techniques for problem solving?

Systems

ArtificialIntelligence

Security

Networking

Theory

ComputationalBiology

...

NaturalLanguageProcessing

MachineLearning

ComputerVision

Planning

Robotics

...

Page 27: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Computer Science in one slide

• What problems can computers solve?• How do we get computers to solve these problems?• What are general techniques for problem solving?

Systems

ArtificialIntelligence

Security

Networking

Theory

ComputationalBiology

...

NaturalLanguageProcessing

MachineLearning

ComputerVision

Planning

Robotics

...

Page 28: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Computer Science in one slide

• What problems can computers solve?• How do we get computers to solve these problems?• What are general techniques for problem solving?

Systems

ArtificialIntelligence

Security

Networking

Theory

ComputationalBiology

...

NaturalLanguageProcessing

MachineLearning

ComputerVision

Planning

Robotics

...

Manipulation

Page 29: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Computer Science in one slide

• What problems can computers solve?• How do we get computers to solve these problems?• What are general techniques for problem solving?

Systems

ArtificialIntelligence

Security

Networking

Theory

ComputationalBiology

...

NaturalLanguageProcessing

MachineLearning

ComputerVision

Planning

Robotics

...

Manipulation

NavigationandLocomotion

Page 30: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Computer Science in one slide

• What problems can computers solve?• How do we get computers to solve these problems?• What are general techniques for problem solving?

Systems

ArtificialIntelligence

Security

Networking

Theory

ComputationalBiology

...

NaturalLanguageProcessing

MachineLearning

ComputerVision

Planning

Robotics

...

Manipulation

NavigationandLocomotion

Perception

Page 31: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Computer Science in one slide

• What problems can computers solve?• How do we get computers to solve these problems?• What are general techniques for problem solving?

Systems

ArtificialIntelligence

Security

Networking

Theory

ComputationalBiology

...

NaturalLanguageProcessing

MachineLearning

ComputerVision

Planning

Robotics

...

Manipulation

NavigationandLocomotion

Perception

Human-RobotInteraction

Page 32: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Computer Science in one slide

• What problems can computers solve?• How do we get computers to solve these problems?• What are general techniques for problem solving?

Systems

ArtificialIntelligence

Security

Networking

Theory

ComputationalBiology

...

NaturalLanguageProcessing

MachineLearning

ComputerVision

Planning

Robotics

...

Manipulation

NavigationandLocomotion

Perception

Human-RobotInteraction

...

Page 33: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Computer Science in one slide

• What problems can computers solve?• How do we get computers to solve these problems?• What are general techniques for problem solving?

Systems

ArtificialIntelligence

Security

Networking

Theory

ComputationalBiology

...

NaturalLanguageProcessing

MachineLearning

ComputerVision

Planning

Robotics

...

Manipulation

NavigationandLocomotion

Perception

Human-RobotInteraction

...

Page 34: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

CS 61A in one slide

Page 35: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

CS 61A in one slide

• High-level ideas in computer science:

Page 36: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

CS 61A in one slide

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

by hiding the details

Page 37: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

CS 61A in one slide

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

by hiding the details• Paradigms: utilize different

approaches to programming

Page 38: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

CS 61A in one slide

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

by hiding the details• Paradigms: utilize different

approaches to programming

Page 39: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

CS 61A in one slide

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

by hiding the details• Paradigms: utilize different

approaches to programming

Page 40: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

CS 61A in one slide

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

by hiding the details• Paradigms: utilize different

approaches to programming

• Master these ideas through implementation:

Page 41: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

CS 61A in one slide

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

by hiding the details• Paradigms: utilize different

approaches to programming

• Master these ideas through implementation:• Learn the Python programming language (& others)

Page 42: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

CS 61A in one slide

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

by hiding the details• Paradigms: utilize different

approaches to programming

• Master these ideas through implementation:• Learn the Python programming language (& others)• Complete large programming assignments

Page 43: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

CS 61A in one slide

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

by hiding the details• Paradigms: utilize different

approaches to programming

• Master these ideas through implementation:• Learn the Python programming language (& others)• Complete large programming assignments

• A challenging course that will demand a lot from you

Page 44: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Alternatives to CS 61A

Page 45: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Alternatives to CS 61A

CS10:TheBeautyandJoyofComputingcs10.org Offeredthissummer!

Page 46: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Alternatives to CS 61A

CS10:TheBeautyandJoyofComputingcs10.org

DataScience8:FoundationsofDataSciencedata8.org

Offeredthissummer!

Page 47: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Details on cs61a.org

Course Policies

Page 48: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Course overview

Page 49: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Course overview

• Lectures: Mon-Thurs, 11am-12:30pm, 2050 VLSB

Page 50: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Course overview

• Lectures: Mon-Thurs, 11am-12:30pm, 2050 VLSB• Labs: the most important part of this course

Page 51: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Course overview

• Lectures: Mon-Thurs, 11am-12:30pm, 2050 VLSB• Labs: the most important part of this course• Discussions: the most important part of this course

Page 52: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Course overview

• Lectures: Mon-Thurs, 11am-12:30pm, 2050 VLSB• Labs: the most important part of this course• Discussions: the most important part of this course• Office hours: the most important part of this course

Page 53: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Course overview

• Lectures: Mon-Thurs, 11am-12:30pm, 2050 VLSB• Labs: the most important part of this course• Discussions: the most important part of this course• Office hours: the most important part of this course• Online textbook: composingprograms.com

Page 54: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Course overview

• Lectures: Mon-Thurs, 11am-12:30pm, 2050 VLSB• Labs: the most important part of this course• Discussions: the most important part of this course• Office hours: the most important part of this course• Online textbook: composingprograms.com

• Regular homework assignments

Page 55: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Course overview

• Lectures: Mon-Thurs, 11am-12:30pm, 2050 VLSB• Labs: the most important part of this course• Discussions: the most important part of this course• Office hours: the most important part of this course• Online textbook: composingprograms.com

• Regular homework assignments• 4 big programming projects

Page 56: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Course overview

• Lectures: Mon-Thurs, 11am-12:30pm, 2050 VLSB• Labs: the most important part of this course• Discussions: the most important part of this course• Office hours: the most important part of this course• Online textbook: composingprograms.com

• Regular homework assignments• 4 big programming projects• Weekly quizzes, one midterm, and one final exam

Page 57: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Course overview

• Lectures: Mon-Thurs, 11am-12:30pm, 2050 VLSB• Labs: the most important part of this course• Discussions: the most important part of this course• Office hours: the most important part of this course• Online textbook: composingprograms.com

• Regular homework assignments• 4 big programming projects• Weekly quizzes, one midterm, and one final exam• Lots of special events!

Page 58: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Grading

Page 59: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Total 300 points

Grading

Page 60: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Grading

Assignments 150 points

Page 61: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Grading

Assignments 150 points

Exams 150 points

Page 62: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Grading

Exams 150 points

Homework30points

Page 63: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Grading

Exams 150 points

Homework30points

Lab20points

Page 64: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Grading

Exams 150 points

Homework30points

Lab20points

Projects100points

Page 65: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Grading

Homework30points

Lab20points

Projects100points

Weeklyquizzes40points

Page 66: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Grading

Homework30points

Lab20points

Projects100points

Weeklyquizzes40points

Midterm40points

Page 67: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Grading

Homework30points

Lab20points

Projects100points

Weeklyquizzes40points

Midterm40points

Final70points

Page 68: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

A few grading details

Page 69: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

A few grading details

• 10 homework assignments, 3 points each

Page 70: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

A few grading details

• 10 homework assignments, 3 points each• Can make up points from one homework with surveys

Page 71: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

A few grading details

• 10 homework assignments, 3 points each• Can make up points from one homework with surveys

• 12 (graded) lab assignments, 2 points each

Page 72: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

A few grading details

• 10 homework assignments, 3 points each• Can make up points from one homework with surveys

• 12 (graded) lab assignments, 2 points each• Two lowest lab scores will be dropped

Page 73: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

A few grading details

• 10 homework assignments, 3 points each• Can make up points from one homework with surveys

• 12 (graded) lab assignments, 2 points each• Two lowest lab scores will be dropped

• Written quizzes will be in lecture on Thursdays

Page 74: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

A few grading details

• 10 homework assignments, 3 points each• Can make up points from one homework with surveys

• 12 (graded) lab assignments, 2 points each• Two lowest lab scores will be dropped

• Written quizzes will be in lecture on Thursdays• We have sent out instructions for students who cannot attend

Thursday lectures

Page 75: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

A few grading details

• 10 homework assignments, 3 points each• Can make up points from one homework with surveys

• 12 (graded) lab assignments, 2 points each• Two lowest lab scores will be dropped

• Written quizzes will be in lecture on Thursdays• We have sent out instructions for students who cannot attend

Thursday lectures• One written or coding quiz score will be dropped

Page 76: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

A few grading details

• 10 homework assignments, 3 points each• Can make up points from one homework with surveys

• 12 (graded) lab assignments, 2 points each• Two lowest lab scores will be dropped

• Written quizzes will be in lecture on Thursdays• We have sent out instructions for students who cannot attend

Thursday lectures• One written or coding quiz score will be dropped

• This class is not curved!

Page 77: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

A few grading details

• 10 homework assignments, 3 points each• Can make up points from one homework with surveys

• 12 (graded) lab assignments, 2 points each• Two lowest lab scores will be dropped

• Written quizzes will be in lecture on Thursdays• We have sent out instructions for students who cannot attend

Thursday lectures• One written or coding quiz score will be dropped

• This class is not curved!• Collaboration, not competition

Page 78: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

The limits of collaboration

Page 79: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

The limits of collaboration

• Everyone should give and receive help, because everyone benefits and learns

Page 80: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

The limits of collaboration

• Everyone should give and receive help, because everyone benefits and learns

• There is only one rule:

Page 81: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

The limits of collaboration

• Everyone should give and receive help, because everyone benefits and learns

• There is only one rule:

• Your code is yours, and yours only.

Page 82: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

The limits of collaboration

• Everyone should give and receive help, because everyone benefits and learns

• There is only one rule:

• Your code is yours, and yours only.

• This means that:

Page 83: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

The limits of collaboration

• Everyone should give and receive help, because everyone benefits and learns

• There is only one rule:

• Your code is yours, and yours only.

• This means that:• You cannot copy or use code from anyone except your partner

Page 84: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

The limits of collaboration

• Everyone should give and receive help, because everyone benefits and learns

• There is only one rule:

• Your code is yours, and yours only.

• This means that:• You cannot copy or use code from anyone except your partner• You cannot share your code with anyone except your partner

Page 85: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

The limits of collaboration

• Everyone should give and receive help, because everyone benefits and learns

• There is only one rule:

• Your code is yours, and yours only.

• This means that:• You cannot copy or use code from anyone except your partner• You cannot share your code with anyone except your partner

• Share and discuss ideas, not code

Page 86: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

The limits of collaboration

• Everyone should give and receive help, because everyone benefits and learns

• There is only one rule:

• Your code is yours, and yours only.

• This means that:• You cannot copy or use code from anyone except your partner• You cannot share your code with anyone except your partner

• Share and discuss ideas, not code• Build good habits now!

Page 87: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Getting help

Page 88: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Getting help

• Discuss everything in the course, except exams, with your partner and your classmates

Page 89: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Getting help

• Discuss everything in the course, except exams, with your partner and your classmates• Teaching is the best way to learn

Page 90: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Getting help

• Discuss everything in the course, except exams, with your partner and your classmates• Teaching is the best way to learn

• Ask and answer questions on Piazza

Page 91: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Getting help

• Discuss everything in the course, except exams, with your partner and your classmates• Teaching is the best way to learn

• Ask and answer questions on Piazza

• Use the course staff! We’re here to help you learn

Page 92: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Getting help

• Discuss everything in the course, except exams, with your partner and your classmates• Teaching is the best way to learn

• Ask and answer questions on Piazza

• Use the course staff! We’re here to help you learn• Labs and office hours are the perfect time to talk to

the lecturers, TAs, tutors, and lab assistants

Page 93: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Getting help

• Discuss everything in the course, except exams, with your partner and your classmates• Teaching is the best way to learn

• Ask and answer questions on Piazza

• Use the course staff! We’re here to help you learn• Labs and office hours are the perfect time to talk to

the lecturers, TAs, tutors, and lab assistants• Lab assistants will also be available for checkoffs

during labs

Page 94: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

A few last thoughts

Page 95: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

A few last thoughts

• Find all the course details and news on cs61a.org

Page 96: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

A few last thoughts

• Find all the course details and news on cs61a.org

• The most important course policy is not:

Page 97: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

A few last thoughts

• Find all the course details and news on cs61a.org

• The most important course policy is not:• Grading

Page 98: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

A few last thoughts

• Find all the course details and news on cs61a.org

• The most important course policy is not:• Grading

• 75% of students in this course receive As and Bs

Page 99: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

A few last thoughts

• Find all the course details and news on cs61a.org

• The most important course policy is not:• Grading

• 75% of students in this course receive As and Bs• There is no curve! All of you can get an A+

Page 100: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

A few last thoughts

• Find all the course details and news on cs61a.org

• The most important course policy is not:• Grading

• 75% of students in this course receive As and Bs• There is no curve! All of you can get an A+

• Cheating

Page 101: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

A few last thoughts

• Find all the course details and news on cs61a.org

• The most important course policy is not:• Grading

• 75% of students in this course receive As and Bs• There is no curve! All of you can get an A+

• Cheating• There is a community of staff and students that want

you to succeed, and will help you succeed

Page 102: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

A few last thoughts

• Find all the course details and news on cs61a.org

• The most important course policy is not:• Grading

• 75% of students in this course receive As and Bs• There is no curve! All of you can get an A+

• Cheating• There is a community of staff and students that want

you to succeed, and will help you succeed

• The most important course policy is learning

Page 103: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

A few last thoughts

• Find all the course details and news on cs61a.org

• The most important course policy is not:• Grading

• 75% of students in this course receive As and Bs• There is no curve! All of you can get an A+

• Cheating• There is a community of staff and students that want

you to succeed, and will help you succeed

• The most important course policy is learning• Learn a lot, have fun, and welcome to 61A!

Page 104: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

And, conveniently, an introduction to Python

An Introduction to Programming

Page 105: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Course organization

Page 106: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

• Every week will center around a theme, and have a specific set of goals.

Course organization

Page 107: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

• Every week will center around a theme, and have a specific set of goals.

Course organization

Introduction

Page 108: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

• Every week will center around a theme, and have a specific set of goals.

Course organization

Introduction Functions

Page 109: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

• Every week will center around a theme, and have a specific set of goals.

Course organization

Introduction Functions Data

Page 110: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

• Every week will center around a theme, and have a specific set of goals.

Course organization

Introduction Functions Data Mutability

Page 111: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

• Every week will center around a theme, and have a specific set of goals.

Course organization

Introduction Functions Data Mutability

Objects

Page 112: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

• Every week will center around a theme, and have a specific set of goals.

Course organization

Introduction Functions Data Mutability

Objects Interpretation

Page 113: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

• Every week will center around a theme, and have a specific set of goals.

Course organization

Introduction Functions Data Mutability

Objects Interpretation Paradigms

Page 114: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

• Every week will center around a theme, and have a specific set of goals.

Course organization

Introduction Functions Data Mutability

Objects Interpretation Paradigms Applications

Page 115: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

• Every week will center around a theme, and have a specific set of goals.

• This week (Introduction), the goals are:

Course organization

Introduction Functions Data Mutability

Objects Interpretation Paradigms Applications

Page 116: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

• Every week will center around a theme, and have a specific set of goals.

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

Course organization

Introduction Functions Data Mutability

Objects Interpretation Paradigms Applications

Page 117: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

• Every week will center around a theme, and have a specific set of goals.

• This week (Introduction), the goals are:• To learn the fundamentals of programming• To become comfortable with Python

Course organization

Introduction Functions Data Mutability

Objects Interpretation Paradigms Applications

Page 118: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

What’s in a program?

Page 119: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

What’s in a program?

• Programs work by manipulating values

Page 120: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

What’s in a program?

• Programs work by manipulating values

• Expressions in programs evaluate to values

Page 121: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

What’s in a program?

• Programs work by manipulating values

• Expressions in programs evaluate to values• Primitive expressions evaluate directly to values with

minimal work needed

Page 122: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

What’s in a program?

• Programs work by manipulating values

• Expressions in programs evaluate to values• Primitive expressions evaluate directly to values with

minimal work needed

• Operators combine primitives expressions into more complex expressions

Page 123: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

What’s in a program?

• Programs work by manipulating values

• Expressions in programs evaluate to values• Primitive expressions evaluate directly to values with

minimal work needed

• Operators combine primitives expressions into more complex expressions

• The Python interpreter evaluates expressions and displays their values

Page 124: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

What’s in a program?

• Programs work by manipulating values

• Expressions in programs evaluate to values• Primitive expressions evaluate directly to values with

minimal work needed

• Operators combine primitives expressions into more complex expressions

• The Python interpreter evaluates expressions and displays their values

(demo)

Page 125: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Mathematical expressions

Page 126: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Mathematical expressions

Page 127: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Mathematical expressions

Page 128: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Mathematical expressions

Page 129: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Mathematical expressions

Page 130: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Mathematical expressions

Page 131: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Mathematical expressions

Page 132: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Mathematical expressions

Page 133: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Mathematical expressions

Page 134: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Mathematical expressions

Page 135: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Mathematical expressions

Page 136: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Mathematical expressions

Page 137: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Mathematical expressions

Page 138: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Mathematical expressions

Page 139: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Mathematical expressions (demo)

Page 140: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Call expressions

Page 141: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Call expressions

add ( 2 , 3 )

Page 142: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Call expressions

add ( 2 , 3 )operator

Page 143: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Call expressions

add ( 2 , 3 )operator operands

Page 144: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Call expressions

• In a call expression, the operator and operands themselves are expressions

add ( 2 , 3 )operator operands

Page 145: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Call expressions

• In a call expression, the operator and operands themselves are expressions

• To evaluate this call expression:

add ( 2 , 3 )operator operands

Page 146: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Call expressions

• In a call expression, the operator and operands themselves are expressions

• To evaluate this call expression:

1. Evaluate the operator to get a function

add ( 2 , 3 )operator operands

Page 147: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Call expressions

• In a call expression, the operator and operands themselves are expressions

• To evaluate this call expression:

1. Evaluate the operator to get a function

2. Evaluate the operands to get its values

add ( 2 , 3 )operator operands

Page 148: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Call expressions

• In a call expression, the operator and operands themselves are expressions

• To evaluate this call expression:

1. Evaluate the operator to get a function

2. Evaluate the operands to get its values

3. Apply the function to the values of the operands to get the final value

add ( 2 , 3 )operator operands

Page 149: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Nested call expressions

Page 150: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Nested call expressions

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

Page 151: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Nested call expressions

• What does this call expression evaluate to?

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

Page 152: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Nested call expressions

• What does this call expression evaluate to?

• What are the steps that the Python interpreter goes through to evaluate this expression?

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

Page 153: Lecture 1: Introduction - inst.eecs. · PDF fileLecture 1: Introduction. ... 2 Lecturers 12 TAs 13 Tutors 100+ Lab assistants! ... • What are general techniques for problem solving?

Shakespeare demo!

The Power of Python