91.100 Media Computing

klipitiklopwarrenSoftware and s/w Development

Nov 7, 2013 (3 years and 9 months ago)

72 views

91.100 Media Computing


This course is
NOT
about


how to use MS Word, Photoshop, etc.


using computer applications and their instructions



In this course,


you
DO

computer programming


DO computer programming with immediate
feedback


Turtles


Pictures

Computer Science ?


What is computer science about?


What computers
really

understand


Media Computation: Why digitize media?


How can it possibly work?


It

s about communications and process


Like writing a cooking receipe

What is a Programming ?


Capability of manipulating a computer


Need to understand what
tools

there are


Need to have a clear goal (objective)


Need to specify steps to achieve the goal



Recognize Mental Differences


www.cs.uml.edu/~kim/illusion.pps




Figure 1.1

Figure 1.2

Problem Solving



Articulation



Simplification



Generalization


Course Objectives


Able to read, understand, modify, and assemble programs
that achieve useful communication tasks:


Text manipulation, Image manipulation



Learn what computer science is about, especially data
representations, algorithms, encodings, forms of
programming
.



Learn to articulate a process


One example


I have a Santa picture



One example


I have a Santa picture







And, I want its negative

Class website


www.cs.uml.edu/~kim/100.html



This is where you

ll find everything about the
class


Syllabus


Homeworks/Projects/Labs


Announcements (
You are responsible for these! Check daily!!)

Textbook


Python: Programming in Context


Bradley Miller & David Ranum, 2nd ed.




Why Python ?


Easy to learn


Flexible


Popular


used for Google web search engine


Not very efficient


http://www.python.org


It

s used by companies like Google, Industrial Light & Magic, Nextel,
and others


Other Programming Languages


Python




C





Java





Scheme

def hello():


print “Hello World!”

#include <stdio.h>

void main(){


printf”Hello World !
\
n”);

}

class HelloWorld {


static public void main(String args[]){


System.out.println(“Hello World !”);


}

}

(define helloworld


(lambda ()


(display “Hello World !”)


(newline)))

Course Evaluation


Attendance


Mandatory


Homework and programming


A couple of Hour Exams


Final


What is Computer Science about ?


Computer science is the study of recipes


Computer scientists study…



How the recipes are written (algorithms, software engineering)


The units used in the recipes (data structures, databases)


What can recipes be written for (systems, intelligent systems,
theory)


How well the recipes work (human
-
computer interfaces)

Key concept:

The
COMPUTER

does the recipe!


Make it as hard, tedious, complex as you want!


Crank through a million genomes? No problem!


Find one person in a 30,000 campus? Yawn!


Process a million dots on the screen or a bazillion
sound samples?


That

s media computation

Specialized Recipes


Some people specialize in crepes or barbeque


Computer scientists can also specialize on
special kinds of recipes


Recipes that create pictures, sounds, movies, animations (graphics,
computer music)


Still others look at
emergent properties

of
computer

recipes



What happens when lots of recipes talk to one another (networking,
non
-
linear systems)

A Recipe is a Statement of Process


A recipe defines how something is done


In a
programming language

that defines how the recipe is written


When you learn the recipe that implements a
Photoshop filter, you learn how Photoshop does
what it does.


And that is powerful.

Finally: Programming is about

Communicating Process


A program is the most concise
statement possible to communicate a
process


That

s why it

s important to scientists and others who want to
specify
how

to do something understandably in as few words as
possible