55
Contexts of Computing Education: Graphics, Robots, Data, Information Deepak Kumar Department of Computer Science Bryn Mawr College Bryn Mawr, PA

Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

  • Upload
    others

  • View
    13

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

Contexts of Computing Education:Graphics, Robots, Data, Information

Deepak KumarDepartment of Computer Science

Bryn Mawr CollegeBryn Mawr, PA

Page 2: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

Collaborations

Bryn Mawr College, MIT, Princeton, Howard, Purdue, Illinois, Texas A&M, UC-Berkeley, Stanford, UC-San Diego, Hawai’i

Bryn Mawr College,Georgia Institute of Technology,Microsoft Research

Bryn Mawr College,Southern Methodist University,Sidwell Friends SchoolArlington Independent School District

Thanks!2

Page 3: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

Enrollments in Computer Science

3

Page 4: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

Enrollments in Computer Science

4

Page 5: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

Enrollments in Computer Science??

5

Page 6: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

2013: Year of Code.org

6

Page 7: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

2014: Hour of Code

7

Page 8: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

Enrollments in Computer Science

8

Page 9: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

Source: Code.org9

Page 10: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

Key Issues

10

Diversity and broadening participation in computing curricula.

Page 11: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

Key Issues

From: cs.allegheny.edu

11

Much time and energy has been devoted to the design of introductory courses that serve as entry points into the programs.

Page 12: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

C

Objective C

Language Wars

12

Page 13: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

C

Objective C

Language Wars

13

Ada

Modula2

Pascal

PL/1

FORTRAN

PL/1

Cobol

ALGOL

Haskell

SML

Ruby

OCAML

Lisp

Prolog

Scala

Erlang

Page 14: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

C

Objective C

14

Page 15: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

15

Page 16: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

Personal Robots

MissionExplore making CS education more fun and effective through the context of a personal robot

Bryn Mawr College,Georgia Institute of Technology,Microsoft Research 16

Page 17: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

Personal Robots

Introductory computing courses serve as a gateway into the CS curriculum.

Should provide interesting and diverse range of examples and exercises.

Alignment of course content to student interests to increase engagement can have a positive impact on students choosing to enter computing as a major in college.

Most tasks should be attainable and provide a basis for supportive and positive feedback to students.

Bryn Mawr College,Georgia Institute of Technology,Microsoft Research 17

Page 18: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

Personal Robots

Bryn Mawr College,Georgia Institute of Technology,Microsoft Research

CS ≠ Programming

Computing: social activity

Computing: mediumfor creativity

Performances vs. Competitions

18

Page 19: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

Personal Robots

Bryn Mawr College,Georgia Institute of Technology,Microsoft Research

pic = takePicture()

show(pic) # top picture

for pixel in getPixels(pic):

r, g, b = getRGB(pixel)

if r > 250 and b < 100 and g > 130:

setColor(pixel, white)

else:

setColor(pixel, black)

show(pic) # bottom picture

19

Page 20: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

Personal Robots

Bryn Mawr College,Georgia Institute of Technology,Microsoft Research 20

Page 21: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

Personal Robots

Learned CS concepts through robots

Robots made learning experience more hands-on, tangible, and exciting

Most frustrating parts were dealing with robot hardware inconsistencies

Viewed CS as a type of logic and problem solving; requiring patience & thought

Discovered that CS and robots are applicable to the real world

Bryn Mawr College,Georgia Institute of Technology,Microsoft Research 21

Page 22: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

low level

MoreDichotomies

22

Page 23: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

low level

Dichotomies

23

Page 24: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

24

Page 25: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

processing.org

25

Page 26: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

Graphics

Bryn Mawr College,Southern Methodist University,Sidwell Friends SchoolArlington Independent School District

MissionExplore making CS education more fun and effective through the context of creative computing

26

Page 27: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

Graphics

Bryn Mawr College,Southern Methodist University,Sidwell Friends SchoolArlington Independent School District

Processing is a programming language based on Java.

Self PortraitZiting Shen

27

Page 28: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

Graphics

Bryn Mawr College,Southern Methodist University,Sidwell Friends SchoolArlington Independent School District

Bryn Mawr MinionYi Lin

Since 2001, processing has promoted software literacy within the visual arts and visual literacy within technology.

28

Page 29: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

Graphics

Bryn Mawr College,Southern Methodist University,Sidwell Friends SchoolArlington Independent School District

Sponge BobShiyu Wang

Processing:A software sketchbook to teach computer programming fundamentals within a visual context.

29

Page 30: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

Bryn Mawr College,Southern Methodist University,Sidwell Friends SchoolArlington Independent School District

30

Page 31: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

Creative Computing

Bryn Mawr College,Southern Methodist University,Sidwell Friends SchoolArlington Independent School District

ProcessingProcessing has evolved into a development tool for professionals artists.

31

Page 32: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

Data: Text

Bryn Mawr College,Southern Methodist University,Sidwell Friends SchoolArlington Independent School District

There are tens of thousands of students, artists, designers, researchers, and hobbyists who use Processing for learning, prototyping, and production.

32

Page 33: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

Data: Text

33

Page 34: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

Graphics

Bryn Mawr College,Southern Methodist University,Sidwell Friends SchoolArlington Independent School District

08535 0.2821468 0.7051405 Perrineville, NJ08536 0.2800188 0.70675325 Plainsboro, NJ08540 0.27857503 0.7064489 Princeton, NJ08541 0.27858955 0.7053126 Princeton, NJ08542 0.27899942 0.7066691 Princeton, NJ08543 0.27858955 0.7053126 Princeton, NJ08544 0.27908203 0.7066655 Princeton, NJ08550 0.27942693 0.7052568 Princeton Junction, NJ08551 0.27629662 0.7077725 Ringoes, NJ

Data…

34

Page 35: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

Scripting Languages

Systems Programming

Languages

Ousterhout’sDichotomy

35

Page 36: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

Scripting Languages

Systems Programming

Languages

glue languages

emphasize reuse

typeless

Interpreted

Slower

Higher level

Data Structures & Algorithms

Strongly-typed

Compiled

Equiv. to Assembly Lang.

“High-level”

Standardized

Ousterhout’sDichotomy

36

Page 37: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

Scripting Languages

Systems Programming

Languages

Ousterhout’sDichotomy

37

Page 38: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

Scripting Languages

Systems Programming

Languages

Ousterhout’sDichotomy

Appreciate

Understand

Use

Computing

38

Page 39: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

Scripting Languages

Systems Programming

Languages

Ousterhout’sDichotomy

Appreciate

Understand

Use

Computing

Design

Implement

Data Structures

Algorithms

39

Page 40: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

Scripting Languages

Systems Programming

Languages

Ousterhout’sDichotomy

Appreciate

Understand

Use

Computing

Design

Implement

Data Structures

Algorithms

40

Page 41: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

<Coding is Fun>

41

Page 42: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

Data

Control Structures

AbstractionProblem Solving

Program Design

The Conceptual Legacy of CS1

The Durable Bones

42

Page 43: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

Contexts

By placing early learning of computing in more engaging and creative contexts, it’s possible to make the discipline and its practice more appealing and intellectually fascinating.

43

Page 44: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

Contexts

APIs are influencing a transformation in computing education.

44

Page 45: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

Contexts

APIs are influencing a transformation in computing education.

APIs enable access to different contexts in computing.

45

Page 46: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

Contexts

APIs are influencing a transformation in computing education.

APIs enable access to different contexts in computing.

Success relies on the ability to offer effective APIs.

46

Page 47: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

Students should find our courses in resonance with the goals and aspirations that brought them to us in the first place.

Delete all indulgences to “create obstacles” to weed out students

Be prepared to handle the capacityDo not succumb to the latest greatest

technology fads.

Context is important!

47

Page 48: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

Make sure it is inviting to all students.

Learn computing in engaging contexts

Flexibility in designing a major in computing

(Threads at GeorgiaTech, Streams, …)

Do not obsess over speed and efficiency in early curricula.

Design of Computing Curricula…

48

Page 49: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

Computer Science: Curriculum (Re-Focus)

Introductory Courses

Core Courses

Electives

49

Page 50: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

Theory of Computation

Compiler Construction

Operating Systems

Advanced Discrete Mathematics

Artificial Intelligence

Computational Linguistics

Robotics

Computer GraphicsComputational

Geometry

Geographical Information Systems

Computational Biology

Genomics

Mobile Dev. For Social Change

Computing for Sustainability

Data ScienceNetwork Analysis

Trees of Knowledge

Science of Information

Emergent Computation

Elective Courses

50

Page 51: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

51

Bryn Mawr College, MIT, Princeton, Howard, Purdue, Illinois, Texas A&M, UC-Berkeley, Stanford, UC-San Diego, Hawai’i

Soihub.org

Center for Science of InformationAn NSF Science & Technology Center

Page 52: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

Science of InformationBringing Many Disciplines Together

52

Bryn Mawr College, MIT, Princeton, Howard, Purdue, Illinois, Texas A&M, UC-Berkeley, Stanford, UC-San Diego, Hawai’i

Page 53: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

DeliberatePractice

Program

10,000Hours!

Make it fun

Read Programs

Learn half dozen

programming languages!

Work in Teams

Encourage Playfulness

53

Page 54: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

54

Page 55: Contexts of Computing Education: Graphics, Robots, Data, …princetonacm.acm.org/downloads/kumar1412.pdf · 2014-12-16 · Contexts of Computing Education: Graphics, Robots, Data,

Thank you!

55