1 of 22

CSE 163

Victory Lap + Next Steps�

Suh Young Choi�

🎶 Listening to: Pacific Rim soundtrack

💬 Before Class: What was the coolest thing you did or learned this quarter?

2 of 22

2

You did it!!

3 of 22

Overview

What is this class?

Competencies

  1. More advanced programming concepts than in CSE 122 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.

  • Foundations of data literacy and technical communication for critical and conscientious data science.

3

4 of 22

Competency 1

More advanced programming concepts than in CSE 142 or CSE 160 including how to write bigger programs with multiple classes and modules.

  • Testing code
  • Data structures: Lists, sets, dictionaries, tuples
  • Classes and Objects
  • Modules and Packages
  • Anonymous functions (lambdas) and functional programming

4

5 of 22

Competency 2

How to work with different types of data: tabular, text, images, geo-spatial, etc.

  • Tabular
  • Unstructured Text
  • Geo-spatial
  • Images
  • Joining data from multiple sources

5

6 of 22

Competency 3

Ecosystem of data science tools including Jupyter Notebook and various data science libraries including pandas, matplotlib, and scikit-learn�

  • Jupyter Notebooks
  • Pandas
  • Seaborn / Matplotlib
  • Scikit-learn
  • Geopandas
  • Numpy
  • Imageio

6

7 of 22

Competency 4

Basic concepts related to code complexity, efficiency of different types of data structures, and memory management.

  • Algorithmic efficiency
  • Python language quirks
  • Computer memory, objects, and references
  • Terminal

7

8 of 22

Competency 5

Foundations of data literacy and technical communication for critical and conscientious data science.

8

  • Reading assignments
  • Peer reviews in creative components and presentations
  • Writeups and reflection posts
  • Ethics discussion and case studies
  • Humanistic computing
  • Final project/portfolio
  • Final reflection (coming soon!)

9 of 22

Data Programming’s Interface with Data Science

While our course is focused as a course in programming, we have a close relationship with the analysis done in data science. We explored how to support data science in many of our discussions of programming and and its impact.

  • Principles of data visualization
  • Data literacy and communication
  • Machine learning
    • Neural networks
    • Convolutions
  • Positive/Negative impacts of data science and society
  • Privacy
  • Algorithmic Fairness
  • Statistics, hypotheses, and research

9

10 of 22

What’s Next?

10

11 of 22

Data Programming�

11

data programma

Writing out what is given

12 of 22

Data Science�

12

data sciens

Knowing what is given

13 of 22

Future Classes

Machine Learning

  • CSE/STAT 416
  • STAT 435
  • INFO 371

Societal Implications of Data Science

  • SOC 225
  • STAT 303

Data Management

  • CSE 414
  • INFO 430

Data Visualization

  • CSE 412
  • INFO 474
  • HCDE 411

13

14 of 22

Online Resources

The internet is teeming with tutorials and online classes that teach topics in data science and data processing!

14

15 of 22

Projects

It’s not really possible to list out all the things you can do with what you’ve learned in this class. I usually do a project to learn a new tool.

  • Learn a new library!
    • Data Visualization: Bokeh or Altair
    • Natural Language Processing: NLTK or spaCy
    • Machine Learning: Tensorflow, Keras, PyTorch
    • Images: Open-CV
  • Learn a new Language! Python is the most prominent language for data science, but it doesn’t hurt to know more!
    • R - Numerical Processing
    • Scala - Compatible with Java, nice syntax
    • Julia - New and up-and-coming language
    • Javascript - Language of the web
  • Contribute to open-source libraries!

15

You have already done a personal project this quarter!

16 of 22

Research

You are all in the very unique experience of having some real marketable skills for doing undergrad research!

  • You have learned the language and the tools used by many researchers across the university

  • Research opportunities may be found on Interfolio or Handshake, or by cold-emailing (even if it’s scary!)

  • You can also pursue projects of your own, in whatever area is interesting to you!

16

17 of 22

Jobs

The field for jobs in computing is rapidly expanding

  • A quickly growing subset of these jobs are ones that focus on processing large amounts of data
  • Data Scientist is a relatively new term to describe these people

How to get a job in tech?

  • Polish up your resume (perhaps with a cool project you’ve done recently?)
  • Career fairs around campus
  • Start looking early!
  • Cast a broad net and don’t be scared of getting turned down

17

18 of 22

Become a CSE 163 TA!

  • Teaching is one of the best ways to learn!
  • You don’t have to be an expert in Python to be a TA
  • Applications will open later this Spring
  • Reach out to me or any of the TAs for more advice on preparing for the application and/or interviews!

18

19 of 22

BIG Thanks�to the TAs 🎉

19

Arona Cho

Asmi Sathaye

Eman Sherif

Patrick Yu

Laura Pong

Alexis Destefano

Anaya Pandit

Thrisha Ramesh

20 of 22

TA Panel

Ask Us Anything!

20

21 of 22

Reminders: Final Reflection

  • Thursday, March 19 at 8:30am in Gowen 301 (this room!)
  • Prompts and rubric can be found on the course website

  • What to bring:
    • Writing utensil(s)
    • Husky ID
    • Water, if needed
  • What not to bring:
    • Notes / Reference sheets
    • Electronic devices (keep them in your backpack)

21

22 of 22

🔎 Scavenger Hunt!��What icons from the title slide can you find in the website lessons?