9
MM-in-CSED 5/4/02 1 Teaching Multimedia Software Development (among other topics) UCSB Center for Research in Electronic Art Technology MM-in-CSED 5/4/02 2 Outline Questions Problems More Questions My Experience at UCSB/MAT Examples of recent student work Some advice and a few conclusions MM-in-CSED 5/4/02 3 What are the Issues? Are we using MM to teach CS or teaching MM software development? RFP for MM-in-CSED: integrating MM assignments in CS education, “modern software like Squeak makes multimedia approachable and understandable” MM-in-CSED 5/4/02 4 What’s the Focus? Teaching programming and procedural thinking -- low-level languages Teaching OO analysis/design -- knowledge- domain-modeling Teaching IDE and CASE tool usage Teaching real-world job (“vocational”) skills Preparing students for a comprehensive CS curriculum Teaching non-CS-majors to build domjain- specific SW tools MM-in-CSED 5/4/02 5 Teaching Software Design In the traditional CS curriculum, methodology, CASE, IDE tools, and A/D are taught after programming(!) In ST curricula, A/D is taught first. What does the CS freshman need? What does the MM artist/technician need? What do other knowledge workers (science/humanities/arts) need? MM-in-CSED 5/4/02 6 Teaching Real-World Tools ST as a niche language… UofW experience with ADA (1990s) The ubiquity of C, C++, Java (C*) The ubiquity of file/project-based IDEs The matter of principle (buck or go)

Questions Teaching Multimedia Software Development (among other …coweb.cc.gatech.edu/mmWorkshop/uploads/6/MM_CSE… ·  · 2005-01-01Teaching Multimedia Software Development (among

  • Upload
    habao

  • View
    220

  • Download
    1

Embed Size (px)

Citation preview

MM-in-CSED 5/4/02 1

Teaching MultimediaSoftware Development

(among other topics)

UCSB Center for Research inElectronic Art Technology

MM-in-CSED 5/4/02 2

OutlineQuestions

Problems

More Questions

My Experience at UCSB/MAT

Examples of recent student work

Some advice and a few conclusions

MM-in-CSED 5/4/02 3

What are the Issues?

Are we using MM to teach CS orteaching MM software development?

RFP for MM-in-CSED: integratingMM assignments in CS education,“modern software like Squeak makesmultimedia approachable andunderstandable”

MM-in-CSED 5/4/02 4

What’s the Focus?Teaching programming and proceduralthinking -- low-level languages

Teaching OO analysis/design -- knowledge-domain-modeling

Teaching IDE and CASE tool usage

Teaching real-world job (“vocational”) skills

Preparing students for a comprehensive CScurriculum

Teaching non-CS-majors to build domjain-specific SW tools

MM-in-CSED 5/4/02 5

Teaching Software Design

In the traditional CS curriculum,

methodology, CASE, IDE tools, and A/D are

taught after programming(!)

In ST curricula, A/D is taught first.

What does the CS freshman need?

What does the MM artist/technician need?

What do other knowledge workers

(science/humanities/arts) need?

MM-in-CSED 5/4/02 6

Teaching Real-World Tools

ST as a niche language…

UofW experience with ADA (1990s)

The ubiquity of C, C++, Java (C*)

The ubiquity of file/project-based

IDEs

The matter of principle (buck or go)

MM-in-CSED 5/4/02 7

The Role of Smalltalk/Squeak

Perfect OOA/D teaching platform

Simple concepts and syntax

Low-overhead IDE (?)

Platform-independent

Libraries/APIs for many application

domains, including MM

Not “mainstream,” however...Music: Gates Still Open (2000-02)

MM-in-CSED 5/4/02 8

Smalltalk as a First Language

My experience with teaching ST to

many groups

Non-programmers have an easier time

than programmers

Programmers get frustrated by the A/D

focus and the IDE

This is good news!

MM-in-CSED 5/4/02 9

Multiple Planes and Paradigm Shifts

The two technologies that have themost profound impact on musicalpractice in the last 100 years were bothinvented before 1920: recording andbroadcasting

“The impact of digital technology onmusic has been as shallow as it isbroad” (F. R. Moore)

MM-in-CSED 5/4/02 10

Generations of Computer Technology

MainframesMini-computersEngineering workstationsPCsThe Internet

The Next Big Things:Distributed SystemsImmersive user interfacesMultimedia integration

MM-in-CSED 5/4/02 11

Dimensions of Moore’s Law(With thanks to L. Rabiner)

RAM density(doubles every 18 months)

Disk access time

Disk throughput

LAN speed

WAN speed

MM-in-CSED 5/4/02 12

CS Education and “vocalitionalism”

Preparing CS majors to build the next-generation systems”• WA Distributed• Media rich, immersive UIs• Thin/wireless clients• Parallel or thread-based simulations• Non-sequential: ES, GA, NN, CSP, IFS, …• DSCP (distributed, sensing, computation,

and presentation)• Model-based “biology in the computer”

MM-in-CSED 5/4/02 13

Good News

We know what to do (see below)

E.g., GaTech CS2340

• Course on design for novices

• Build interactive maps

• Team-focus

MM-in-CSED 5/4/02 14

CS Language Options

Scheme/CommonLISP

ML/Haskell

ES Shells

Uniformly high-level Java• OOA/D focus

• Use of reflection

• Still quite painful

Various Smalltalks

MM-in-CSED 5/4/02 15

CS @ UCSBJava, Scheme, C on UNIX/LinuxSeveral integrated labs• PSL, SCC, Clusters

Wireless infrastructureMedia classroomsVE centers

Integration with application domains: MAT,CREATE, dStudio, eStudio, BioInformatics,CompChem, MaterialsIT, CNSI, CITS

Dual appointments

MM-in-CSED 5/4/02 16

The UCSB MAT Program

Two-year interdisciplinary Master’s degreeprogram in Media Arts and Technology (MAT)

Partner depts: Music, Art, CS, EE

Five core courses, electives, thesis project;optional internship, independent study, RA-ship

Emphasis on group projects

Three areas of specialization:• Multimedia engineering• Electronic music and sound design• Visual and spatial arts

MM-in-CSED 5/4/02 17

MAT Students

Generally have BA/BS in•Music composition or performance

•Visual arts

•Computer science

•Electrical engineering

•Recent exceptions include architecture,design, mechanical engr., film studies, etc.

•“Crossovers” possible (several already)

MM-in-CSED 5/4/02 18

MAT Courses

Five Core Courses•History/literature of electronic music

•Digital media art and culture

•Multimedia networking

•Digital media signal processing

•Survey of media technology andengineering

Elective courses taken from the fourpartner departments and related fields

MM-in-CSED 5/4/02 19

New MAT Electives

Digital audio programming sequence(six quarters)Maya sequence (three quarters)Camera tracking and user input(project-oriented)Sound/music programming inSuperColliderNew seminar series in each of thepartner departments

MM-in-CSED 5/4/02 20

What to teach in MAT?

CS/EE students• Already know C*• Let them eat Squeak! (and SC, and others)

Arts students• Some (though not many) know no

programming language at all• Some know at least a scripting language

(MEL, Lingo, etc.)• Some know C*• Teach them Java (+2D, 3D, Sound, etc.)

MM-in-CSED 5/4/02 21

Example: MAT 240a-f

Digital audio programming: the series

Six quarters on various topics: using

commercial APIs, frequency-domain

processing, spatial audio and surround

sound, synthesis techniques, multi-rate

control and processing, etc.

Use Linux, Windows, and Mac platforms

Mainly in C* (with ObjC, SC, ST, etc.)

MM-in-CSED 5/4/02 22

Example: MAT 220

Sound/music system programming

Focus on complex sound design,interactive performance, andcompositional algorithms

Students are mostly undergrad- orgrad-level composers

Use SuperCollider (a dialect of ST) onMacs

MM-in-CSED 5/4/02 23

Example: MAT 41

Beginning (minimal) programming

skills for non-programmers in MAT

(Not part of a comprehensive CS

curriculum)

Intro to Java

MM-in-CSED 5/4/02 24

Example: MAT 596

Independent R&D

Several ST/SC projects (Siren, OSC,

grammars, performance rules, CSP,

NN, etc.)

Lots of distributed projects (CORBA,

OSC, CO, etc.)

MM-in-CSED 5/4/02 25

So, why this way?

The “mainstream” issue

The learning curve issue

≥ Two languages needed

Squeak vs. other ST platforms

C* APIs: 2D, 3D graphics, spatial

sound, CORBA

MM-in-CSED 5/4/02 26

An Answer!

Teach ST as a “first” language

(assuming most frosh know C*)

Integrate MM applications from

day one (see below)

Stress methods, CASE, A/D, tools

Segue as needed to C*

MM-in-CSED 5/4/02 27

Examples: MAT Student Projects

Multimedia data/signal processing

Robotics

Multimedia databases

Hardware input devices

Virtual environments

Advanced GUIs

Work in Smalltalk, MATLab, Java,C++, SuperCollider, Lingo, MEL

MM-in-CSED 5/4/02 28

RKRobot (Gary Thomas)

MM-in-CSED 5/4/02 29

Woon-grams

MM-in-CSED 5/4/02 30

Matrix Controller (Dan Overholt)

MM-in-CSED 5/4/02 31

Steganography (Gilroy Menezes)

MM-in-CSED 5/4/02 32

ObsessiveRemixer (C.Ramakrishnan)

Sound example

(Autumn Leaves)

MM-in-CSED 5/4/02 33

Smart TextShredder (Brian O’Reilly)

I was also a hunter of birds In this, the share of reaction to familymembers who want to live outside of a life of toil is great I believethis has been touched upon in a novel as a "first rebellion" by anauthor from Turkey As long as there was no provocation, animositywould never develop and an exemplary brotherly coexistenceprevailed....

MM-in-CSED 5/4/02 34

LLCH Models (Brent Yokota)

MM-in-CSED 5/4/02 35

CREATE Auralizer (240C)

Sources, geometry, processing, output

Current: Stereo, 4 KLOC, selectable cues

MM-in-CSED 5/4/02 36

Creatophone Installations in LLCH

MM-in-CSED 5/4/02 37

The ATON VE (group)

MM-in-CSED 5/4/02 38

DRIVEUser

MM-in-CSED 5/4/02 39

DSCP Example: Sensing/Speaking Space

Multimedia Installation with cameratracking of visitors controlling video andsound synthesis and spatialization

InteractionSpace

VideoAnalysis

SoundSpatialization

VideoSynthesis

SoundSynthesis

Camera

Screen Loudspeakers

MM-in-CSED 5/4/02 40

Sensing/Speaking Space at SFMoMA

MM-in-CSED 5/4/02 41

Squeak Tools and Applications

MM-in-CSED 5/4/02 42

Siren Composer’sDB & Tools

MM-in-CSED 5/4/02 43

Siren Speech Segmenter

Music: Gates StillOpen (2000-02)

MM-in-CSED 5/4/02 44

Analysis for Music/Sound DBs

MM-in-CSED 5/4/02 45

DPE in

VWNC

MM-in-CSED 5/4/02 46

PulsarGenerator GUI in SC

MM-in-CSED 5/4/02 47

CS Curriculum

Currently: ≥ two languages are still

needed

Teach ST first

• OOA/D, CASE, methods, CM, tools focus

Use C* as appropriate

• R-T, OS, networking courses (I.e., low-

level C)

MM-in-CSED 5/4/02 48

(Current) MM Curriculum

One language: Java or ST

Teach Java first• APIs, portability, apps, level of

documentation

• Real-world-proximity

Use ST for A/D, CASE, etc.

• Beyond Q1

MM-in-CSED 5/4/02 49

CS for Knowledge Majors

Teach modeling, simulation, media

integration, application composition

Provide low-overhead development

and distribution tools

Duh! -- Squeak

MM-in-CSED 5/4/02 50

The Squeak Pitch ThingyLanguage syntax (blocks as objects)4th-generation class libraries“Rapid turn around” compilersWorkspace-based system with multipledesktops/projectsIDE tools, SCCS, CM, etc.Many compatible implementationsSqueakOSObject/costume framework“Stuff is easy”“Parallel thinking”

MM-in-CSED 5/4/02 51

ConclusionsIt’s just not a perfect world

ST has strengths and weaknesses

C* have strengths and weaknesses

Teaching CS involves a lot of differenttopics at several levels

We also need to teach some subset of theseskills to non-CS majors

We can design innovative and effectivecurricula for several target audiences

MM-in-CSED 5/4/02 52