CS61A Lecture 1. Amir Kamil UC Berkeley January 23, 2013

Similar documents
CS 101 Computer Science I Fall Instructor Muller. Syllabus

Spring 2016 Stony Brook University Instructor: Dr. Paul Fodor

Course Content Concepts

GACE Computer Science Assessment Test at a Glance

EECS 571 PRINCIPLES OF REAL-TIME COMPUTING Fall 10. Instructor: Kang G. Shin, 4605 CSE, ;

Spring 2015 Natural Science I: Quarks to Cosmos CORE-UA 209. SYLLABUS and COURSE INFORMATION.

Computer Science 1015F ~ 2016 ~ Notes to Students

CS 1103 Computer Science I Honors. Fall Instructor Muller. Syllabus

UNIT ONE Tools of Algebra

Visual CP Representation of Knowledge

Taking Kids into Programming (Contests) with Scratch

ENEE 302h: Digital Electronics, Fall 2005 Prof. Bruce Jacob

CS177 Python Programming

Focus of the Unit: Much of this unit focuses on extending previous skills of multiplication and division to multi-digit whole numbers.

Managerial Decision Making

Computer Organization I (Tietokoneen toiminta)

A R "! I,,, !~ii ii! A ow ' r.-ii ' i ' JA' V5, 9. MiN, ;

P-4: Differentiate your plans to fit your students

We are strong in research and particularly noted in software engineering, information security and privacy, and humane gaming.

Dublin City Schools Career and College Ready Academies FAQ. General

Business Analytics and Information Tech COURSE NUMBER: 33:136:494 COURSE TITLE: Data Mining and Business Intelligence

Controlled vocabulary

Creating a Test in Eduphoria! Aware

RANKING AND UNRANKING LEFT SZILARD LANGUAGES. Erkki Mäkinen DEPARTMENT OF COMPUTER SCIENCE UNIVERSITY OF TAMPERE REPORT A ER E P S I M S

MATH 205: Mathematics for K 8 Teachers: Number and Operations Western Kentucky University Spring 2017

OFFICE OF STUDENT LIFE CALENDAR/PLANNER

Week 01. MS&E 273: Technology Venture Formation

Ab Calculus Clue Problem Set Answers

Academic Catalog Programs & Courses Manchester Community College

The Indices Investigations Teacher s Notes

Embedded Real-Time Systems

KLI: Infer KCs from repeated assessment events. Do you know what you know? Ken Koedinger HCI & Psychology CMU Director of LearnLab

INFO I303 Organizational Informatics

Python Machine Learning

Name: Class: Date: ID: A

CS 100: Principles of Computing

University of Groningen. Systemen, planning, netwerken Bosman, Aart

TOPICS LEARNING OUTCOMES ACTIVITES ASSESSMENT Numbers and the number system

Using Rhetoric Technique in Persuasive Speech

Evaluating Statements About Probability

WSU Five-Year Program Review Self-Study Cover Page

g to onsultant t Learners rkshop o W tional C ces.net I Appealin eren Nancy Mikhail esour Educa Diff Curriculum Resources CurriculumR

Activity 2 Multiplying Fractions Math 33. Is it important to have common denominators when we multiply fraction? Why or why not?

Creating Your Term Schedule

BUAD 425 Data Analysis for Decision Making Syllabus Fall 2015

Objectives. Chapter 2: The Representation of Knowledge. Expert Systems: Principles and Programming, Fourth Edition

Algebra 1 Summer Packet

*In Ancient Greek: *In English: micro = small macro = large economia = management of the household or family

Instructor: Mario D. Garrett, Ph.D. Phone: Office: Hepner Hall (HH) 100

MATH Study Skills Workshop

Page 1 of 11. Curriculum Map: Grade 4 Math Course: Math 4 Sub-topic: General. Grade(s): None specified

CS 3516: Computer Networks

Evolution of Collective Commitment during Teamwork

Introduction to Information System

Computer Science (CS)

Foothill College Fall 2014 Math My Way Math 230/235 MTWThF 10:00-11:50 (click on Math My Way tab) Math My Way Instructors:

*Lesson will begin on Friday; Stations will begin on the following Wednesday*

FINANCE 3320 Financial Management Syllabus May-Term 2016 *

Data Modeling and Databases II Entity-Relationship (ER) Model. Gustavo Alonso, Ce Zhang Systems Group Department of Computer Science ETH Zürich

Gifted/Challenge Program Descriptions Summer 2016

COSI Meet the Majors Fall 17. Prof. Mitch Cherniack Undergraduate Advising Head (UAH), COSI Fall '17: Instructor COSI 29a

Computer Science 141: Computing Hardware Course Information Fall 2012

Gr. 9 Geography. Canada: Creating a Sustainable Future DAY 1

Career Opportunities

Pearson Grade 8 Practice And Homework

How Does Physical Space Influence the Novices' and Experts' Algebraic Reasoning?

MEDIA LAW AND ETHICS: COMM 3404 Learn to Think-Think to Learn Monday 6:00-8:45 p.m. Smith Lab 2150 Off: , Cell:

CS Course Missive

CS4491/CS 7265 BIG DATA ANALYTICS INTRODUCTION TO THE COURSE. Mingon Kang, PhD Computer Science, Kennesaw State University

Using Proportions to Solve Percentage Problems I

INTERMEDIATE ALGEBRA Course Syllabus

BUS Computer Concepts and Applications for Business Fall 2012


STAT 220 Midterm Exam, Friday, Feb. 24

Syllabus Fall 2014 Earth Science 130: Introduction to Oceanography

Stochastic Calculus for Finance I (46-944) Spring 2008 Syllabus

Diagnostic Test. Middle School Mathematics

Computer Science and Information Technology 2 rd Assessment Cycle

K 1 2 K 1 2. Iron Mountain Public Schools Standards (modified METS) Checklist by Grade Level Page 1 of 11

Department of Anthropology ANTH 1027A/001: Introduction to Linguistics Dr. Olga Kharytonava Course Outline Fall 2017

Mock Trial Preparation In-Class Assignment to Prepare Direct and Cross Examination Roles 25 September 2015 DIRECT EXAMINATION

Dublin City Schools Mathematics Graded Course of Study GRADE 4

Development of an IT Curriculum. Dr. Jochen Koubek Humboldt-Universität zu Berlin Technische Universität Berlin 2008

Android App Development for Beginners

Tap vs. Bottled Water

Coding II: Server side web development, databases and analytics ACAD 276 (4 Units)

Proof Theory for Syntacticians

4th Grade Math Elapsed Time Problems

MINISTRY OF EDUCATION

Parsing of part-of-speech tagged Assamese Texts

SURVIVING ON MARS WITH GEOGEBRA

Critical Thinking in the Workplace. for City of Tallahassee Gabrielle K. Gabrielli, Ph.D.

Introductory Astronomy. Physics 134K. Fall 2016

Functional Skills Mathematics Level 2 sample assessment

ASTRONOMY 2801A: Stars, Galaxies & Cosmology : Fall term

Office Hours: Mon & Fri 10:00-12:00. Course Description

Class Meeting Time and Place: Section 3: MTWF10:00-10:50 TILT 221

Notes on The Sciences of the Artificial Adapted from a shorter document written for course (Deciding What to Design) 1

Foothill College Summer 2016

MATH 1A: Calculus I Sec 01 Winter 2017 Room E31 MTWThF 8:30-9:20AM

Transcription:

CS61A Lecture 1 Amir Kamil UC Berkeley January 23, 2013

Welcome to CS61A!

The Course Staff I ve been at Berkeley a long time, and took CS61A a while back. Read the course info to find out when! TAs essentially run the course Readers, lab assistants help you learn the material

What is Computer Science? Some mythical notion of hacking?

What is Computer Science? Computer science deals with the theoretical foundations of information and computation, together with practical techniques for the implementation and application of these foundations - Wikipedia

Computer Science is Everywhere Phones Cars Politics Games Movies Music Sports Anything connected to the Internet Systems Programming Languages Graphics Artificial Intelligence Databases Theory Security Parallel Computing Quantum Computing

What is CS61A? An introduction to the big ideas in programming Functions, data structures, recursion, interpretation, parallelism, We use Python as our programming vehicle in this course, but the ideas apply to any language General focus: how to manage complexity Primary tool is abstraction

What is Abstraction? Abstraction is exposing the what of something while hiding the how Many layers of abstraction in a typical system Application Libraries (Graphics, Physics) Operating System Hardware (CPU, RAM, etc.) Logic Gates This course will teach you how to build and use abstractions

Course Policies The purpose of this course is to help you learn The staff is here to make you successful All the details are on the website: http://inst.eecs.berkeley.edu/~cs61a/sp13/about.html Ask questions on Piazza https://piazza.com/class#spring2013/cs61a

Course Organization Readings cover the material; read before lecture Lectures summarize material, present in new way Labs introduce new topics or practical skills Discussions provide practice on the material Homeworks are deeper exercises that require more thought than labs Graded on effort, generally due Wed. at 11:59pm Projects are larger assignments designed to teach you how use and combine ideas from the course in interesting ways

Collaboration Discuss everything with each other EPA: Effort, participation, and altruism Homework may be completed with a partner Projects should be completed with a partner Find a project partner in your section! The limits of collaboration Never share code Copying projects is a serious offense, and we will find out if you do

FAQ Both lectures are the same; you may attend either, space permitting Lectures are webcast; link will be online soon Midterms are on 2/13 and 3/21 Final exam is 5/14 for both lectures Let us know ASAP if you have a conflict with any exam See the Course Info for enrollment issues If you are on the waitlist, still complete assignments!

Announcements Make sure you have an account form and register You will need one to submit homework and projects Get one in discussion or office hours if you don t have one Office hours start tomorrow See website schedule Study session Wed. 9:30-11:30am in the Woz Mega office hours with multiple staff members present Opportunities for collaboration and EPA Homework 0 due Fri. at 7pm Homework 1 due Wed. at 11:59pm

Data, Functions, and Interpreters Data: the things that programs fiddle with 2 Super Bowl XLVII Shakespeare s 37 plays Mike Krzyzewski Functions: rules for manipulating data Count the words in a line of text Add up numbers Pronounce someone s name Interpreter: an implementation of the procedure for evaluation

Primitive Values and Expressions Primitive values are the simplest type of data Integers: 2, 3, 2013, -837592010 Floating point (decimal) values: -4.5, 98.6 Strings: It was a dark and stormy night Booleans: True, False An expression is something that produces a value 2 + 3 sqrt(2401) abs(-128 + 42 * 3)

Call Expressions in Python All expressions can use function call notation 2 + 3 add(2, 3) sqrt(2401) sqrt(2401) abs(-128 + 42 * 3) abs(add(-128, mul(42, 3))) Infix operator notation is syntactic sugar for function calls Mathematical operators obey usual precedence rules

Anatomy of a Call Expression add ( 2, 3 ) Operator Operand 0 Operand 1 Operators and operands are expressions, so they evaluate to values Evaluation procedure for call expressions: 1. Evaluate the operator and operand subexpressions in order from left to right. 2. Apply the function that is the value of the operator subexpression to the arguments that are the values of the operand subexpressions

Evaluating Nested Expressions 208 mul ( add(2, mul(4, 6)), add(3, 5) ) mul 26 add ( 2, mul(4, 6) ) 8 add ( 3, 5 ) add 2 24 mul ( 4, 6 ) add 3 5 mul 4 6