1 of 20

CSE 163

Syllabus

Hunter Schafer

2 of 20

Agenda

  • Overview
    • What is this class? Who is taking this class?
  • Who are we?
  • Syllabus
    • What class sessions will look like in the online world
  • Introduction to course tools
    • Course website
    • Ed
    • Zoom

2

3 of 20

Overview

What is this class?

Competencies

  1. More advanced programming concepts than in CSE 142 or CSE 160 including how to write bigger programs with multiple classes and modules.�
  2. How to work with different types of data: tabular, text, images, geo-spatial, etc.�
  3. Ecosystem of data science tools including Jupyter Notebook and various data science libraries including scikit-image, scikit-learn, and pandas data frames.�
  4. Basic concepts related to code complexity, efficiency of different types of data structures, and memory management.

3

4 of 20

Overview

Who is taking this class?

This class is designed to have students from

  • 142: Know control structures, file I/O, arrays in Java
    • Will spend first weeks learning 142 in Python fast!
    • Practice is KEY!�
  • 160: Know control structures, file I/O, data structures in Python
    • First week will be review while everyone learns Python�
  • 143 or Beyond: Seen more advanced programming in Java
    • Class material should be complementary to what you would have learned in 143
    • Competency 1 is aimed at the 143 level of programming

4

5 of 20

5

6 of 20

Who am I?

  • Hunter Schafer, Lecturer
  • Office Hours
    • Time:
      • Tuesdays: 10:30 - 12:00 (PDT)
      • Wednesdays: 11:30 - 13:30 (PDT)
    • Location: CSE 530 Zoom
  • Contact
    • Personal Matters: hschafer@cs.washington.edu
    • Course Content + Logistics: Ed

6

7 of 20

Who are the TAs?

7

AA (12:30)

Ryan Siu

ras371@cs

James Carpenter

jec34@cs

AE (11:30)

Wen Qiu

wenq97@cs

Andrew Frazier

frazia@cs

AB (1:30)

Paul Pham

pkdpham@cs

Flora Tang

tianyt4@cs

AF (10:30)

Ken Aragon

aragon2@cs

AC (2:30)

Rit Shah

rhshah@cs

Aleks Jovcic

ajovcic@cs

AG (12:30)

Mitchell Estberg

estbergm@cs

AD (3:30)

Ece Öz

heceoz@cs

Trinh Nguyen

nguyetri@cs

Alex Knowlton

ak247@cs

Madrona Maling

mkmaling@cs

8 of 20

Syllabus

8

9 of 20

Bicycles?

9

10 of 20

10

Prepare:

Read lesson

Attend:

Class Session

Mon

Nothing 😢

Tue

Prepare:

Read lesson

Attend:

Class Session

Wed

Attend:

Quiz Section

Thur

Prepare:

Read lesson

Attend:

Class Session

Fri

Lesson Due�Next HW Released

Project Checkpoints�(occasional, later)

Current HW Due

  • We don’t record attendance in lecture/section, but attending these sessions is expected
  • There are recordings of the class sessions, but the content comes from the lesson

Lesson Due

Lesson Due

11 of 20

11

Class Sessions

Recap material from readings.��Most of time spent in small groups working on the practice problems from the lesson. Emphasis on learn by doing.��On the road to mastery!

Lessons

First introduction to material.���No where near mastery yet!

Sections

Practice material covered in 3/4 in a context where a TA can help you.�� Most of the time is spent with you working in groups! ��The emphasis is still on you learning by doing.

Homeworks + Project

With the scaffolding from 1 and 2, you are probably now capable to tackle the homework!. These will be complex and challenging, but you’ll continue to learn by doing.

1

3

2

4

12 of 20

Pacing

  • Even though the class is asynchronous, your peers and the TAs are not so we are releasing the lessons and HWs as we move throughout the quarter
  • Due to the online quarter, we don’t have exams
    • We are spreading out the first week or so to 2 weeks to ease the transition into the class

12

13 of 20

Assessment

Your learning from this course will be assessed by:

  • Weekly Homework Assignments
    • Weight: 70%
    • Number: Approx 6 assignments
  • Final Project
    • Weight: 10%
    • Number: Just one project, but multiple check-ins
  • Lessons
    • Weight: 20%
    • Number: Due before every lecture (except today!)
      • Lessons 2 and 3 are worth 0 points!

13

14 of 20

Homework Logistics

  • Late Days
    • 8 Free Late Days for the whole quarter.
    • Can use up to 2 Late Days on any assignment.
      • Let us know as early as possible if extenuating circumstances arise!
    • Each Late Day used after the 8 Free Late Days results in a -5% on that assignment

14

  • Collaboration
    • You are encouraged to discuss assignments and concepts at a high level
      • If you have code in front of you in your discussion, probably NOT high level
    • All code and answers submitted must be your own
    • Project can be done in groups of 3

  • Getting Help
    • Ed Discussion
    • Office Hours

15 of 20

Project

  • Culmination of all the things you learned in this class.�
  • Open ended project where you find and use real-world datasets to answer an interesting question. Encouraged to work with a partner!�
  • Broken into various checkpoints throughout quarter:
    • Find some possible ideas for datasets and questions
    • Pick a research question and your datasets + �find a partner(s)
    • Outline methodology and define work plan
    • Gather results and write final report
  • Final Project presentations will be a recording you make on Zoom!
  • Projects have their own set of late days, like HW late days

15

16 of 20

Get to Know Each Other

We will use Zoom’s “breakout” feature to make small rooms of 4 or so students.

Take turns introducing yourself to your breakout room

  • Turn on mic/webcam to hear/see your group or just type in chat if you don’t feel comfortable doing that

You’ll have 2 minutes to say:

  1. Your name
  2. Where in the world you are calling from
  3. Something you’re excited to learn in this quarter!

16

17 of 20

Technology�Resources

  • Course website: https://cs.uw.edu/163
    • Everything you need is linked from here!
    • Check the calendar for all links for that day
  • Ed: https://us.edstem.org/courses/374/discussion/
    • For discussion board, lessons, and HW assignments
  • Zoom in Canvas: https://canvas.uw.edu/courses/1371959

More to come, but we will introduce them as necessary

17

18 of 20

Questions?

18

19 of 20

Hello World!

  • Write a file called hello.py that prints “Hello World!”

19

print('Hello World!')

Attempt 1

def main():

print('Hello World!')

if __name__ == '__main__':

main()

Attempt 2

20 of 20

Before Next Time

  • Try the Ed Tutorial
  • Complete the Lesson 2 on Ed
    • Save problems for class session!
    • Due @ 19:00 on Wednesday
    • Worth 0 points this week

Next Time

  • More practice with Ed
  • Python Crash Course
    • How to write a program
    • Loops
    • Conditionals
    • Functions, parameters, returns

20