Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

CSE 332: Data Structures & Parallelism, Lecture notes of Data Structures and Algorithms

The lecture notes for the course CSE 332: Data Structures & Parallelism taught by Ruth Anderson at the University of Washington in Autumn 2020. The course covers fundamental data structures and algorithms for organizing and processing information, including queues, dictionaries, graphs, sorting, etc. It also covers parallelism and concurrency. The course materials include a textbook, weekly individual homework exercises, programming projects, and quizzes. an overview of the course, the instructor's background, course information, course materials, and course work.

Typology: Lecture notes

2019/2020

Uploaded on 05/11/2023

aeinstein
aeinstein 🇺🇸

4.6

(22)

259 documents

1 / 32

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
CSE 332: Data Structures &
Parallelism
Ruth Anderson
Autumn 2020
Lecture 1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20

Partial preview of the text

Download CSE 332: Data Structures & Parallelism and more Lecture notes Data Structures and Algorithms in PDF only on Docsity!

CSE 332: Data Structures &

ParallelismRuth AndersonAutumn 2020

Lecture 1

Welcome!

We have 10 weeks to learn

fundamental

data structures and algorithms fororganizing and processing information^ › “Classic” data structures / algorithms and

how to analyze rigorously their efficiencyand when to use them

› Queues, dictionaries, graphs, sorting, etc.› Parallelism and concurrency (!)

9/30/

CSE 332 Course Staff!!

Instructor:

Ruth Anderson

Teaching Assistants: •^

Richard Jiang

•^

Kevin Pham

•^

Winston Jodjana

•^

Diya Joy

•^

Aayushi Modi

•^

Sashu Shankar

•^

Hamsa Shankar

•^

Jeffery Tian

•^

Hans Zhang

9/30/

Me (Ruth Anderson)

-^

Grad Student at UW in Programming Languages,Compilers, Parallel Computing

-^

Taught Computer Science at the University ofVirginia for 5 years

-^

Grad Student at UW: PhD in EducationalTechnology, Pen Computing

-^

Current Research: Computing and the DevelopingWorld, Computer Science Education

-^

Recently Taught: data structures, architecture,compilers, programming languages, 142 & 143, dataprogramming in Python, Unix Tools,Designing Technology forResource-Constrained Environments 9/30/

Course Information

•^

Instructor

: Ruth Anderson, CSE 558

Office Hours: see course web page, and by

appointment, (rea@cs.washington.edu)

•^

Text

:^

Data Structures & Algorithm Analysis in

Java

, (Mark Allen Weiss), 3rd edition, 2012

nd

edition also o.k.)

•^

Course Web page

http://www.cs.washington.edu/332^ 9/30/

Communication

-^

Course email list:

cse332a_au20@uw

›^

You are already subscribed ›^

You must get and read announcements sent there

-^

Ed STEM Discussion board›

Your first stop for questions about course content &assignments

-^

Anonymous feedback link›

For good and bad: if you don’t tell me, I won’t know!

9/30/

Course Materials

•^

Lecture and section materials will be posted›

But they are visual aids, not always a complete description! ›^

If you have to miss, find out what you missed

•^

Textbook: Weiss 3

rd^

Edition in Java

›^

Good read, but only responsible for lecture/section/hw topics ›^

rd 3 edition improves on 2

nd

, but we’ll also support the 2

nd

•^

Parallelism / concurrency units in separate free resourcesdesigned for 332

9/30/

Course Work

-^

~20 Weekly individual homework exercises (25%)

-^

3 programming projects (with phases) (40%)›

Use Java 11 and IntelliJ, Gitlab ›^

Done in partners, o.k. if partner is in other quiz section

-^

No midterm or final exam!!! (30%)›

Instead, we will have 3 quizzes ›^

Released on Wednesday, due on Friday ›^

Open book, small-group collaboration allowed ›^

More details announced as we get closer to 1

st^

quiz

-^

Participation

(5%) – available asynchronously

9/30/

Reading

• Reading in

Data Structures and Algorithm

Analysis in Java

rd

Ed., 2012 by Weiss

• For this week:

› (Topic for Project #1) Weiss 3.1-3.7 – Lists,

Stacks, & Queues

› (Fri) Weiss 2.1-2.4 –Algorithm Analysis› (Useful) Weiss 1.1-1.6 –Mathematics and Java

(Not covered in lecture – READ THIS)

9/30/

Today’s Outline

• Introductions• Administrative Info• What is this course about?• Review: Queues and stacks9/30/

What 332 is about

-^

Deeply understand the basic structures used in allsoftware›

Understand the data structures and their trade-offs ›^

Rigorously analyze the algorithms that use them (math!) ›^

Learn how to pick “the right thing for the job”

-^

Experience the purposes and headaches ofmultithreading

-^

Practice design, analysis, and implementation›

The elegant interplay of “theory” and “engineering” at thecore of computer science

9/30/

Goals

• You will understand:

› what the tools are for storing and

processing common data types

› which tools are appropriate for which need

• So that you will be able to:

› make good design choices as a developer,

project manager, or system customer

› justify and communicate your design

decisions

9/30/

Data Structures?

“Clever” ways to organize information in

order to enable

efficient

computation

over that information

.

9/30/

Example Trade-Offs

9/30/