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
- 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 |