λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

University of California, Berkeley/ElectricalEngineering & ComputerSciences

Intro

What is Computer science?

-      What problems can be solved using computation?

-      How to solve those problems?

-      What techniques lead to effective solutions?

Systems

Artificial Intelligence

Graphics

Security

Networking

Programming Languages

Theory

Scientific computing

 

What is CS61A about?

-      Managing Complexity

: Mastering Abstraction, Programming Paradigms

-      Introduction to Programming

: Full understanding of Python fundamentals

Combining multiple ideas in large projects

How computers Interpret programming languages

-      A challenging course that will demand a lot from you

CS10 : The Beauty and Joy of Computing -> designed for students without prior experience, An introduction to fundamentals that sets students up for success in CS 61A

Data8 : The foundation of Data science -> Fundamentals of computing, statistical inference & machine learning applied to real-world data sets, More statistics than computer science

 

Course Logistics

Course format

Lecture : MTuWTh 11-12:30 in 155 Dwinelle

Lab section : The most important part of this course

Discussion section : The most important part of this course

Staff office hours : The most important part of this course

Online textbook : https://composingprograms.com

 

Composing Programs

Welcome to Composing Programs, a free online introduction to programming and computer science. In the tradition of SICP, this text focuses on methods for abstraction, programming paradigms, and techniques for managing the complexity of large programs. Thes

composingprograms.com

-      Weekly homework assignments

-      Four programming projects

-      a midterm and a final

-      Lots of course support

 

The first week

-      Lab starts Wednesday

-      Discussion starts Tuesday

: Please try to attend the lab section that matches with your discussion number. See the welcome post of piazza/the policies page.

-      OH start Tuesday

Missing sections : Lecture attendance not tracked : Lecture videos will be released but shouldn’t be considered a replacement for lecture unless you cannot attend

Small Group Tutoring Sections

Conceptual OH

Guerrilla Section

 

Grading : labs 6.7% projects 36.7% homeworks 10.0% midterm 20.0% final 26.7%

Participation : Attending lab and discussion count for participation credits, These aren’t used for points; instead, they are used to calculate exam recovery, Exam recovery applies if you score below 50% on the midterm or final

Homeworks

: will be graded on “effort”

This approximately means, completing most of the problems and at least attempting to solve the rest, this means there’s no reasons to cheat!, ask for help if you are stuck and make a good effort on all of the homework, more details : cs61a.org/articles/about.html#homework

Labs : graded on correct completion, lowest two lab grades dropped

Slip Days : Everyone gets one slipday for the summer which can be applied to homeworks or projects, When used, extends the final deadlines for the assignment by 24hours, individual can not be shared

Exams

Midterm exams : Thursday, July 18th / 3 hr exam / alternates only for direct conflict with another course

Final exams : Thrusday, August 16th / 3 hr exam / alternates only for direct conflict with another course

Preparing for Exams

-      Exam questions are different than homework/lab/discussion questions

-      The only way to really prepare for exams is to do past exams

-      See https://cs61a.org/resources.html for past exams, including past exam problems by topic

( Try to practice exam problems throughout the summer ! )

Collaboration

-      Course is uncurved : This means hurting others does not help you, In fact helping other will help you

-      We highly encourage discussing / sharing ideas with each other

-      Limitation : DO NOT SHARE CODE, The only circumstance in which a student should be looking at another student’s code is w/ your partner

 

Types of Expressions

An expression describes a computation and evaluates to a value

Call Expressions in Python : All expressions can use function call notation

Anatomy of a call expression : Operator – Operand

: Operators and operand are also expressions

Evaluation of a call expression

1. Evaluate

 a. Evaluate the operator subexpression

 b. Evaluate each operand subexpression

2. Apply

Human : We like to inside inside-out

Nested Call Expression

1. Evaluate operator -> 2. Evaluate operands -> 3. Apply

Functions, Values, Objects, Interpretations and Data

python codes ex. max({w for w in words if w[::-1] in wors}, key = len)

python codes ex. len({w for w in words if w[0] == 'a'})

python codes ex. {w for w in words if w[::-1] in words and w < w[::-1] and len(w) > 6}

python codes ex. {w for w in words if w[0] == 'A' and w.lower() in words}

python codes ex. max(words, key = lambda x: sum([1 for w in x if w in 'aeiou']))

 

 

'University of California, Berkeley > ElectricalEngineering & ComputerSciences' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

Control  (0) 2019.06.27
DISC  (0) 2019.06.27
Functions  (0) 2019.06.26
Week 1  (0) 2019.06.25
The Structure and Interpretation of Computer Programs  (0) 2019.06.25