Home 'CS61A: Lecture 1'
Post
Cancel

'CS61A: Lecture 1'

The Instructor Team

  • John Denero (he/him) - denero@berkeley.edu
    • CS 61A Instructor
    • Researches language models and how people use them
    • Office hours 1-3pm Tuesdays in Warren 101B
  • Shm Almeda (they/them) - shm.almeda@berkeley.edu
    • Office hours 3pm -4pm Monday (location TBD)
  • Jedi Tsang (he/him) - Jedidiahtsang@berkeley.edu
    • Researches computing ethics
    • Office hours 1pm-3pm Thursday (location TBD, Either Evans or Soda)

About the Course

Lecture, Videos, and the Textbook

  • Videos are posted to cs61a.org and are essential viewing for before coming to lecture. All course content is covered in videos.
    • Around 1/2 hour.
  • The textbook is located at composingprograms.com. Similar content to videos

  • Lectures will review the most important concepts from Mon, Wedn, and Fri.

Problem-Solving Practice

  • Problem solving is effective to learn how to solve problems
  • Lab Monday and Tuesday labs have required attendance unless Mega Section.
  • Discussion: On Wed/Thurs/Fri: attendance is required (unless mega)
  • There are weekly homework assignments and 4 larger programming projects
  • One-on-one assignments during office hours.
  • Grading is on an absolute scale. Based on how the people did in the previous semester.

Discussion Sections

  • Mostly lectures that discuss the content taught during lectures.
  • For regular, assigned a group number shared with 6-7 students, a room, and a time. 2-5 groups per room.
  • Most discussions have a TA in the room, rest have a Zoom room with a TA
  • Given a worksheet filled with example problems that are supposed to be solved together with additional instructions.
  • These problems are not graded.

Asking Questions

  • Post any questions on Ed.
  • Email the professor at denero@berkeley.edu
  • Email staff members at cs61a@berkeley.edu

What is the Course About

  • Manage computational complexity
  • To master abstraction: Assign something a name and rely it to always perform the desired functions, without knowing how it is being completed.
  • Techniques for organizing complex programs: Change programs without breaking them.
  • Introduction to programming: Fast-paced learning
    • Full understanding for Python fundamentals
    • Large projects to manage complexity
    • Learn how computers interpret programming languages
  • Languages used: Python, Scheme, & SQL

Should you take CS 61A?

Syallabus

  • Syllabus: cs61a.org/articles/about/
  • No formal programming-related prerequisite.
  • cs61a.org/articles/advice

Course Policies

  • Syllabus: cs61a.org/articles/about/

Collaboration

  • Some projects can be completed with a partner
  • Discuss everything with each other, learn from fellow students
  • Academic misconduct
    • Do not look at someone else’s code! (Exceptions: lab, your project partner, or after you already solved the problem.)
    • Do not tell other people the answers
    • Do not ask ChatGPT and other tools to write code for you

Content

Type of expressions

  • An expression describes a computations and evaluates to a value.
    • CS uses the call expression f(x)
    • All expressions can use function call notation
1
2
3
4
5
1 + 1                                 # Addition
253*8                                 # Multiplication
2 ** 5                                # Exponentiation
1 * 2 ** 3 + 4 * ((5//6) + 7 * 8 * 9) # Pemdas

1
2
3
- Call expressions are just a simple function.
- The `operator` module contains additional operators for arithmetic expressions.
- Call expresisons can be nested as well ```python 1 + 2 * 3 + 4  mul(add(1,2), add(3,4)) ```
This post is licensed under CC BY 4.0 by the author.

Introduction to Computer Architecture

CS61A: Functions