1 of 23

The Journey Through Software Design

Spring 2019 Edition

Ben Hill

Amon Millner

2 of 23

The Team

Faculty

Ben Hill x 5

Amon Millner x 5

Multi-year NINJAs

Matt Brucker x 2

Vicky McDermott x 2

Ashley Swanson x 2

Newly Added NINJAs

Hyegi Bang


Diego Berny


Anna Griffin

Hwei-Shin Harriman


Emma Pan

Shyheim Russell


Julian Stone


3 of 23

Computing as an

Interdisciplinary Toolkit

The Framing

4 of 23

Computation

Biology

Physics

Art and Music

Cognitive Science

Robotics

Linguistics

Economics

Epidemiology

Political Science

Social Justice

Data Mining

5 of 23

Biology

Physics

Art and Music

Cognitive Science

Robotics

Linguistics

Economics

Epidemiology

Political Science

Social Justice

Data Mining

Why not just view the world like this???

6 of 23

Anecdotes from Recent Faculty Search

  • Computation in Astronomy
  • Computation in Healthcare
  • Computation in Social Justice

7 of 23

a few examples to inspire

Computing Artifacts Across Fields

8 of 23

Computer Graphics

9 of 23

Political Science

10 of 23

Bioinformatics

Has the potential to lead to better screening and understanding of complex syndromes and diseases.

11 of 23

Personalized Medicine

12 of 23

AI / Machine Learning

13 of 23

AI / Machine Learning

14 of 23

Robotics: Self-driving Cars

15 of 23

AI / Machine Learning

16 of 23

Wearable Sensing

17 of 23

Crypto Currencies

BitCoin mining hardware

18 of 23

Virtual Composers

ART and Music

19 of 23

(by skills we mean super powers)

Skills Developed in Software Design

* The SoftDes faculty assume no liability if this class does not actually give you superpowers

20 of 23

If you know how to use professional software engineering tools and processes, you can:

  • Combine multiple existing software packages to do amazing things
  • Build your own tool from scratch to solve problems (or help some people) that are important to you

21 of 23

If you know how to frame a problem computationally, you can:

  • Develop creative solutions to hard problems
  • See connections between your problem and other problems that initially seemed unrelated

If you know how to effectively communicate and understand computational ideas, you can:

  • Maximize the impact of code you write
  • Work effectively (speak the same language) as software developers that you might collaborate with or hire

22 of 23

a few final project videos from the past

what the NINJAs did

The SoftDes Skills Applied

Computation

Biology

Physics

Art and Music

Cognitive Science

Design

Linguistics

Productivity

Gaming / history

Political Science

Social Justice

Data Mining

23 of 23

The Class Structure