Media Computation in Python Tony Allevato Virginia Tech - - PowerPoint PPT Presentation

media computation in python
SMART_READER_LITE
LIVE PREVIEW

Media Computation in Python Tony Allevato Virginia Tech - - PowerPoint PPT Presentation

Media Computation in Python Tony Allevato Virginia Tech Motivation What is media computation? Who are we trying to reach? Why do this instead of a traditional introductory CS approach? Paradigm Focus is procedural rather than


slide-1
SLIDE 1

Media Computation in Python

Tony Allevato Virginia Tech

slide-2
SLIDE 2

Motivation

What is media computation? Who are we trying to reach? Why do this instead of a “traditional” introductory CS approach?

slide-3
SLIDE 3

Paradigm

Focus is procedural rather than object-oriented

Usually getRed(pixel) instead of pixel.getRed()

However, object-oriented style is still available So whether you’re objects-early or objects-late, media computation can work for you

slide-4
SLIDE 4

Main Topics

Arithmetic expressions Variables Conditional statements Basic lists Functional decomposition Loops Collection-based

for value in list

Count-based

for i in range(...)

Simple and nested

slide-5
SLIDE 5

What’s Missing?

Dictionaries Condition-based loops String manipulation File input/output Some Python concepts have weaker coverage or “don’t fit”

slide-6
SLIDE 6

Environments

slide-7
SLIDE 7

The Dilemma

There is no native Python distribution that Can manipulate modern image/sound formats out

  • f the box...

...and is cross-platform... ...and has an IDE suitable for absolute beginners... ...and is easy to install and configure So, what are our options?

slide-8
SLIDE 8

JES (Jython Environment for Students)

Developed by Mark Guzdial and Barbara Ericson at Georgia Tech Runs on Jython (Python using the Java JVM) We get Java’s image/sound processing for free Java is cross-platform Custom student-oriented IDE written in Java Most people have Java installed already

slide-9
SLIDE 9

Pythy: Online IDE for Python

Developed by Tony Allevato and Stephen Edwards at Virginia Tech Web-based IDE, runs entirely in the browser No installation — just log in, find your course, and get started Previewing an early version for you today — keep an eye out at SIGCSE and ITiSCE for more

slide-10
SLIDE 10

Pythy Features

Translates Python code to Javascript to run entirely client- side (Skulpt) Automatically saves all code in Git repositories on the server — no risk of data loss Students can manage their own media files to use on assignments “Examples” support live-push to student browsers for in-class coding Automated grading using Python unit tests

slide-11
SLIDE 11

Examples

slide-12
SLIDE 12

Getting Started

Go to https://pythy.cs.vt.edu Create an account Choose JMU CS Academy as your organization Choose Summer I 2013 as your term Click Enroll for the June 25 section of Media Comp Untested in IE. Chrome, Safari, Firefox preferred.

slide-13
SLIDE 13

Examples

Image Processing Basic image filters Steganography Creating charts from drawing primitives Sound processing Guitar string synthesis