0% found this document useful (0 votes)
2 views

01-Welcome_1pp

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

01-Welcome_1pp

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 22

Welcome to CS 61A!

Instructor Team for CS 61A and Data C88C


John DeNero (he/him) — [email protected]

CS 61A instructor at least once per year since 2011


Research on language models and how people use them
Office hours 1pm-3pm Tuesdays in Warren 101B

Shm Almeda (they/them) — [email protected]

PhD student in Computer Science studying Human-Computer Interaction


Art/Tech
Office hours 3pm-4pm Monday (location TBD)

Jedi Tsang (he/him) — [email protected]

Co-instructor for Data C88C (with John) & will give some guest lectures in 61A
Poli Sci + Computer Science ‘23 & recently graduated M.S. in EECS
Office hours 1pm-3pm Thursday (location TBD)
2
Jedi’s Research: Computing Ethics Education

What is computing ethics?

• My personal definition: understanding how


the technology we create impacts society
(and crucially, how societal values
prioritizes the development of certain
technology).

My recent research:

• CS195 (Social Implications of Computer


Technology)

• Do students care? How do we get them to


care?

3
About the Course
Lecture, Videos, and the Textbook

Videos posted to cs61a.org are essential viewing before coming to lecture. All of the
course content will be covered in the videos.

The textbook, composingprograms.com, is written to be concise and useful. Its content is


very similar to the videos.

Lecture Mon, Wed, & Fri will review the most important content from the videos (but not all
of it), work through examples, and discuss problem-solving strategies.

5
Problem-Solving Practice

Solving problems is an effective way to learn how to solve problems.

Lab Monday/Tuesday: attendance is required (unless you're in mega section)

Discussion on Wed/Thurs/Fri: attendance is required (unless you're in mega section)

These prepare you for weekly homework assignments & 4 larger programming projects

Drop-in one-on-one assignment help (called "office hours" at Cal) starts next week.

This Week Only: Because next Monday 9/2 is a holiday, all CS 61A labs regularly scheduled
on Monday will be held this Friday 8/30 instead. You'll get an email with details.

6
What does a "discussion section" look like?

Expectation Reality

https://engineering.berkeley.edu/students/academic-support/ https://www.microsoft.com/en-us/research/blog/grassroots-data-science-education-uc-berkeley/

Goal: Provide a great environment to learn how to solve problems through practice & discussion

I've seen small groups of Cal students do amazing things!


Discussion (Starts This Week)

Unless you've elected the mega discussion...

• You should have a group number shared with the 6-7 students in your group, a room, and a
discussion time. There will be 2-5 groups per room, so make sure you find the right group.

• Most (but not all) discussions have a TA in the room; the rest have a Zoom room with a TA.

What happens during discussion section?

• You're given a worksheet full of example problems to solve together & some instructions.

• The point is not just to solve those problems, but to learn how to solve similar problems.
• Discussion problems aren't graded; you don't have to solve them all.

• Bring a laptop or tablet.

8
Asking Questions

?
Ed: You can reach all staff (private posts) and all students (public posts)

[email protected]: Don't be surprised if I ask you to post on Ed

[email protected]: Goes to several staff members

9
What is This Course About?

A course about managing complexity

Mastering abstraction

Techniques for organizing complex programs

An introduction to programming

Full understanding of Python fundamentals

Large projects to demonstrate how to manage complexity

How computers interpret programming languages

Different types of languages: Python, Scheme, & SQL

10
Should you take CS 61A?
According to the Syllabus: cs61a.org/articles/about/

There is no formal programming-related prerequisite for CS 61A, but...

• Taking the course without any prior programming experience is typically quite challenging.

• Most CS 61A students have had significant prior programming experience.

• Students who take the course without prior programming experience typically must spend
more time to complete assignments and tend to receive lower final grades in the course.

https://cs61a.org/articles/advice/

12
CS 10: The Beauty and Joy of Computing

Designed for students without prior experience

A programming environment created by Berkeley,


now used in courses around the world and online

An introduction to fundamentals (& Python)


that sets students up for success in CS 61A and
Data C88C

More info: http://cs10.org/

13
Data C88C (Formerly CS 88): Computational Structures in Data Science

Based on CS 61A, but covers only 3 out of 4 units worth of the content:

• Two programming projects (instead of four)

• Everything you need to know to continue on to CS 61B

• Omits the unit on how programs run other programs & a few advanced Python topics

Designed for students taking Data 8 (Foundations of Data Science), but is now independent

The course is full, but we'll try to expand if there is demand

14
Course Policies
Course Policies

Learning

Community

Details...

https://cs61a.org/articles/about/

16
Collaboration

Working together is highly encouraged


• Discuss everything with each other; learn from your fellow students!
• Some projects can be completed with a partner

What constitutes academic misconduct?

• Please don’t look at someone else's code!


Exceptions: lab, your project partner, or after you already solved the problem.
• Please don't tell other people the answers! You can point them to what is wrong and
describe how to fix it or show them a related example.
• Please don't ask ChatGPT or other similar tools to write code for you.
• Copying project solutions causes people to fail the course.

Build good habits now

17
Let's Stop Harassment & Discrimination

Disparaging remarks targeting a particular gender, race, or ethnicity are not acceptable.

From the Berkeley Principles of Community:

"We affirm the dignity of all individuals and strive to uphold a just community in which
discrimination and hate are not tolerated."

From the EECS department mission:

"Diversity, equity, and inclusion are core values in the Department of Electrical
Engineering and Computer Sciences. Our excellence can only be fully realized by faculty,
students, and staff who share our commitment to these values."
denero.org/feedback.html: If you want to stay anonymous but make me aware of something
happening in the course.
EECS Student Climate & Incident Reporting Form: Informs the EECS department of any issues.
You can also contact Susanne Kauer ([email protected]) directly.

18
Expressions
Types of expressions

An expression describes a computation and evaluates to a value

6 log2 1024
23 sin ⇡

2100 p
f (x) 3493161
100
X 1
7 mod 2 lim
i ✓ ◆ x!1 x
i=1
69
| 1869| 18

20
Call Expressions in Python

All expressions can use function call notation

(Demo)

21
Demo

You might also like