1 of 20

CSE 163

Victory Lap + Next Steps�

Suh Young Choi�

🎶 Listening to: Queen

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

2 of 20

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

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 20

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 20

Competency 3

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

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

6

7 of 20

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

  • Why Python is (sometimes) slow and why that’s okay

7

8 of 20

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

8

9 of 20

What’s Next?

9

10 of 20

Data Programming�

10

data programma

Writing out what is given

11 of 20

Data Science�

11

data sciens

Knowing what is given

12 of 20

Future Classes

Web Programming: CSE 154

Machine Learning

  • CSE/STAT 416
  • STAT 435
  • INFO 371

Societal Implications of Data Science

  • SOC 225

Data Management

  • CSE 414
  • INFO 445

Data Visualization

  • CSE 412
  • INFO 474
  • HCDE 411

12

13 of 20

Online Resources

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

13

14 of 20

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!

14

You have already done a personal project this quarter!

15 of 20

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

  • Talk about what you know about processing data in Python, and you’ll be surprised by the number of professors that NEED your help

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

15

16 of 20

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

16

17 of 20

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 Autumn
  • Reach out to me or any of the TAs for more advice on preparing for interviews!

17

18 of 20

BIG Thanks

to the TAs 🎉

19 of 20

TA Panel

Ask Us Anything!

19

20 of 20

🔎 Scavenger Hunt!��What icons from the title slide can you find throughout Ed?