2003.03.05 - SLIDE 1IS246 - SPRING 2003 Lecture 12: Theory and History of Computation IS246 Multimedia Information (FILM 240, Section 4) Prof. Marc Davis.

Slides:



Advertisements
Similar presentations
Window Movie Maker Presented by Mr. Bran.
Advertisements

Pseudo-Relevance Feedback For Multimedia Retrieval By Rong Yan, Alexander G. and Rong Jin Mwangi S. Kariuki
Design Project (Last updated: Nov. 22/2010) Change since August 31: added the notes to the presentation in the next slide.
Instructor: Sazid Zaman Khan Lecturer, Department of Computer Science and Engineering, IIUC.
SLIDE 1IS246 - SPRING 2003 Lecture 18: Final Project Overview IS246 Multimedia Information (FILM 240, Section 4) Prof. Marc Davis UC Berkeley.
Algorithms and Problem Solving. Learn about problem solving skills Explore the algorithmic approach for problem solving Learn about algorithm development.
Computers: Tools for an Information Age
SLIDE 1IS 202 – FALL 2002 Prof. Ray Larson & Prof. Marc Davis UC Berkeley SIMS Tuesday and Thursday 10:30 am - 12:00 am Fall 2002
SLIDE 1IS246 - SPRING 2003 Lecture 13: Computational Media Theory IS246 Multimedia Information (FILM 240, Section 4) Prof. Marc Davis UC Berkeley.
SLIDE 1IS246 - FALL 2004 Lecture 12: Computation IS246 Multimedia Information Prof. Marc Davis UC Berkeley SIMS Monday and Wednesday 2:00.
SLIDE 1IS146 - Spring 2005 Computation: Programmability Prof. Marc Davis & Prof. Peter Lyman UC Berkeley SIMS Tuesday and Thursday 2:00 pm.
SLIDE 1IS246 - SPRING 2003 Lecture 08: Video Production IS246 Multimedia Information (FILM 240, Section 4) Prof. Marc Davis UC Berkeley SIMS.
SLIDE 1IS146 – SPRING 2005 How a Telephone and Telephone Network Work Prof. Marc Davis, Prof. Peter Lyman, and danah boyd UC Berkeley SIMS Tuesday.
SLIDE 1IS246 - SPRING 2003 Lecture 10: Assignment Overview and Ideation IS246 Multimedia Information (FILM 240, Section 4) Prof. Marc Davis.
SLIDE 1IS246 - SPRING 2003 Lecture 11: Storyboard Working Session and Crit IS246 Multimedia Information (FILM 240, Section 4) Prof. Marc Davis.
SLIDE 1IS246 - SPRING 2003 Lecture 09: Audio and Video Production IS246 Multimedia Information (FILM 240, Section 4) Prof. Marc Davis UC Berkeley.
SLIDE 1IS246 - SPRING 2003 Lecture 06: Film Theory Applied IS246 Multimedia Information (FILM 240, Section 4) Prof. Marc Davis UC Berkeley.
SLIDE 1IS146 - Spring 2005 Computation: Programming Concepts Prof. Marc Davis & Prof. Peter Lyman UC Berkeley SIMS Tuesday and Thursday 2:00.
Chapter 2: Algorithm Discovery and Design
Chapter 2: Algorithm Discovery and Design
Window Movie Maker PRESENTED BY MARTIN SEBERA What is Windows Movie Maker?  Windows Movie Maker is a fun and easy to use video editing program that.
A year 1 computer userA year 2 computer userA year 3 computer user Algorithms and programming I can create a series of instructions. I can plan a journey.
DCT 1123 PROBLEM SOLVING & ALGORITHMS INTRODUCTION TO PROGRAMMING.
Computer Architecture Computational Models Ola Flygt V ä xj ö University
Chapter 7 Structuring System Process Requirements
Chapter 1 What is Programming? Lecture Slides to Accompany An Introduction to Computer Science Using Java (2nd Edition) by S.N. Kamin, D. Mickunas, E.
©Brooks/Cole, 2003 Foundations of Computer Science from Data Manipulation to Theory of Computation Behrouz A. Forouzan, Brooks/Cole — Thomson Learning,
MULTIMEDIA DEFINITION OF MULTIMEDIA
The Beauty and Joy of Computing Lecture #3 : Creativity & Abstraction UC Berkeley EECS Lecturer Gerald Friedland.
ENM 503 Lesson 1 – Methods and Models The why’s, how’s, and what’s of mathematical modeling A model is a representation in mathematical terms of some real.
Black Box Testing Techniques Chapter 7. Black Box Testing Techniques Prepared by: Kris C. Calpotura, CoE, MSME, MIT  Introduction Introduction  Equivalence.
CPIT 201 Introduction to Computing
Chapter 1 Introduction.
PRESENTED BY: BABELYN T. MALAZZAB. THE ROLE OF EDUCATIONAL TECHNOLOGY IN TEACHING.
Computer Engineering Rabie A. Ramadan Lecture 1. 2 Welcome Back.
Practical PC, 7 th Edition Chapter 4: File Basics.
I. Getting Started with the Interface Microsoft ® Windows ® Movie Maker.
Friday, October 15 Objective: Students will be able to present information they have found on an engineering career. Bell Ringer: Quick Write: What is.
Computer Science 101 Theory of Computing. Computer Science is... The study of algorithms, with respect to –their formal properties –their linguistic realizations.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
1-1 An Introduction to Functional Programming Sept
Introduction to OOP CPS235: Introduction.
8.1 8 Algorithms Foundations of Computer Science  Cengage Learning.
Oman College of Management and Technology Course – MM Topic 7 Production and Distribution of Multimedia Titles CS/MIS Department.
Large Digital Systems. Outline  Large Digital Systems  Top-Down Approach  Controller and Data Processor  Flowcharts.
1 CEN 4020 Software Engineering PPT4: Requirement analysis.
CS 101 INTRODUCTION TO COMPUTING * image from The Central Eglinton Community Centre website.
© 2005 by Prentice Hall Chapter 7 Structuring System Process Requirements Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
Chapter 1 The Phases of Software Development. Software Development Phases ● Specification of the task ● Design of a solution ● Implementation of solution.
Lecture #1: Introduction to Algorithms and Problem Solving Dr. Hmood Al-Dossari King Saud University Department of Computer Science 6 February 2012.
Donghyun (David) Kim Department of Mathematics and Computer Science North Carolina Central University 1 Chapter 5 Reducibility Some slides are in courtesy.
Text2PTO: Modernizing Patent Application Filing A Proposal for Submitting Text Applications to the USPTO.
CHAPTER 1 INTRODUCTION.  Data Processor: ◦ The basic definition of a computer is as a data processor. ◦ A black box that: 1.Accepts input data, 2.Processes.
PROGRAMMING (1) LECTURE # 1 Programming and Languages: Telling the Computer What to Do.
Chapter I: Introduction to Computer Science. Computer: is a machine that accepts input data, processes the data and creates output data. This is a specific-purpose.
© 2012 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S.
Advanced Computer Systems
Algorithms and Problem Solving
COMPUTER ARCHITECTURE AND THE CYNAIDE COATED APPLE.
CSCI-235 Micro-Computer Applications
Introduction to Computing
Learn… Create… Program
Theory of Computation Turing Machines.
Learn… Create… Program
Learn… Create… Program
Learn… Create… Program
Basic Concepts of Algorithm
Dr. Clincy Professor of CS
Presentation transcript:

SLIDE 1IS246 - SPRING 2003 Lecture 12: Theory and History of Computation IS246 Multimedia Information (FILM 240, Section 4) Prof. Marc Davis UC Berkeley SIMS Monday and Wednesday 2:00 pm – 3:30 pm Spring

SLIDE 2IS246 - SPRING 2003 Today’s Agenda Review of Last Time –Movie Ideas Feedback Theory and History of Computation –Turing and von Neumann –Ideas of Computation –Discussion Questions Action Items for Next Time

SLIDE 3IS246 - SPRING 2003 Today’s Agenda Review of Last Time –Movie Ideas Feedback Theory and History of Computation –Turing and von Neumann –Ideas of Computation –Discussion Questions Action Items for Next Time

SLIDE 4IS246 - SPRING 2003 Movie Ideas Feedback Time constraints –Make sure your movie will be between 2:30 and 3:00 minutes long –Add shot durations to your annotated storyboards POV –Who is making your message movie? –To whom is it intended? –What do you want your audience to do with it? –How do your cinematographic choices (especially shot POV) reflect these decisions?

SLIDE 5IS246 - SPRING 2003 Today’s Agenda Review of Last Time –Movie Ideas Feedback Theory and History of Computation –Turing and von Neumann –Ideas of Computation –Discussion Questions Action Items for Next Time

SLIDE 6IS246 - SPRING 2003 Computation in Intellectual History Computation as instrumentality –PCs, PDAs, embedded processors, etc. Computation as ideas –Modeling process –Languages for modeling process –Primitives, combination, abstraction –Parameterization –Black boxing functionality –Optimization

SLIDE 7IS246 - SPRING 2003 Universal Turing Machine An abstract representation of a computing device –It has a read/write/erase head that scans a (possibly infinite) one-dimensional (bi-directional) tape divided into squares, each of which can be inscribed with a symbol (e.g., 0 or 1) –Computation begins with the machine in a given "state” scanning a given square –It can erase what it finds on the square and print a symbol (e.g., 0 or 1), move to an adjacent square, and go into a new state –A table of instructions specifies, for each state, what the machine should write, which direction it should move in, and which state it should go into –The machine’s behavior is determined by three parameters The state the machine is in The square it is scanning A table of instructions –The table can list only finitely many states, each of which becomes implicitly defined by the role it plays in the table of instructions

SLIDE 8IS246 - SPRING 2003 von Neumann Machine Stored program –Program is no longer external to machine itself –A “conditional control transfer” permitted the program sequence to be interrupted and reinitiated at any point –Computer can modify both its data and programs von Neumann machines allowed the construction of practical digital computers

SLIDE 9IS246 - SPRING 2003 Today’s Agenda Review of Last Time –Movie Ideas Feedback Theory and History of Computation –Turing and von Neumann –Ideas of Computation –Discussion Questions Action Items for Next Time

SLIDE 10IS246 - SPRING 2003 Programming As Representation There is a structure of formal symbols that can be manipulated according to a precisely defined and well-understood system of rules There is a mapping through which the relevant properties of the domain can be represented by symbol structures This mapping is systematic in that a community of programmers can agree as to what a given structure represents

SLIDE 11IS246 - SPRING 2003 Programming As Representation There are operations that manipulate the symbols in such a way as to produce veridical results—to derive new structures that represent the domain in such a way that the programmers would find them accurate representations Programs can be written that combine these operations to produce desired results

SLIDE 12IS246 - SPRING 2003 Levels of Representation Physical machine –Wires, chips, disks, or pipes, valves, sinks, or tinker toys Logical machine –And-gates, or Or-gates, inverters, etc. Abstract machine –Machine instructions for manipulating stored symbols High-level language –Java, C++, Lisp, etc. (operator, data structures, etc.) Representation language –Represents primitives and operations about a domain

SLIDE 13IS246 - SPRING 2003 Algorithms and Programming Algorithm –A step-by-step description of a procedure to achieve a desired result Programming –Primitives –Means of combination –Means of abstraction

SLIDE 14IS246 - SPRING 2003 From Algorithms to Programs Algorithm –A step-by-step description of a procedure to achieve a desired result –How can we walk a square? Walk forward Turn Walk forward Turn Walk forward Turn Walk forward

SLIDE 15IS246 - SPRING 2003 LOGO Square Example TO SQUARE FORWARD 5 RIGHT 90 FORWARD 5 RIGHT 90 FORWARD 5 RIGHT 90 FORWARD 5 END

SLIDE 16IS246 - SPRING 2003 LOGO Square Example TO SQUARE :SIZE FORWARD :SIZE RIGHT 90 FORWARD :SIZE RIGHT 90 FORWARD :SIZE RIGHT 90 FORWARD :SIZE END

SLIDE 17IS246 - SPRING 2003 LOGO Square Example TO WINDOW :SIZE SQUARE :SIZE END

SLIDE 18IS246 - SPRING 2003 Computation for Designing Artifacts Four computational ideas/techniques from Carlo Sequin –Procedural generation –Parameterization –Optimization –Evolutionary power

SLIDE 19IS246 - SPRING 2003 Procedural Generation Rather than creating artifacts directly, the user may design a generating program that will then generate the desired artifact The empowering aspect of this approach is that the generating procedure will not just create the one artifact originally desired, but, with minor variations to the program, it can produce many different artifacts that may all fit a specified set of constraints or usage

SLIDE 20IS246 - SPRING 2003 Parameterization For classes of frequently needed artifacts, the procedural generation mentioned above can be captured in a robust and more general program that contains a modest number of parameters that can be easily adjusted by non-programming users A judicious selection and coupling of such parameters can enhance the likelihood that any arbitrary combinations of parameters still produce a meaningful output, although it may be far from desirable or optimal with respect to some specific application However, the ease of modifying the parameter values and previewing the expected outcome, would allow even novice users to achieve better than average results obtained by un-aided users

SLIDE 21IS246 - SPRING 2003 Optimization Given that the tedium of creating individual artifacts can be greatly reduced by procedural generation, users can explore a far larger space of possibilities than they could if they had to craft each artifact individually This allows them to home in on a more optimal solution than they could by building a few prototypes If the constraints and goal functions are well understood, then the generating program may contain its own evaluation loop that allows it to explore many options on its own and gradually converge towards a local optimum

SLIDE 22IS246 - SPRING 2003 Evolutionary Power The ease of exploration afforded by the use of procedural generation permits an informed user to more clearly see and locate the boundaries of the paradigm captured in a generating program By making these boundaries more visible, it also becomes more obvious to ask what lies beyond Often such questions can be answered with a modest re-programming effort that enlarges the scope of the generator

SLIDE 23IS246 - SPRING 2003 Today’s Agenda Review of Last Time –Movie Ideas Feedback Theory and History of Computation –Turing and von Neumann –Ideas of Computation –Discussion Questions Action Items for Next Time

SLIDE 24IS246 - SPRING 2003 Discussion Questions On Winograd and Flores (Ana Ramirez) –Winograd and Flores discuss the importance of abstraction and separation of concerns in computing. Increased levels of abstraction and separation of concerns result in an increase in programmer productivity and sometimes a decrease in performance. Moore's law has placed an importance on the programmer’s productivity, since computers double in speed every 18 months, most performance problems disappear once the newest processor comes out. We are quickly approaching a point where Moore's law will no longer hold. Will we find a new technology that continues this rapid increase in speed in processor technology or will the emphasis be moved from programmers' productivity back to program performance? How will the role of abstraction and separation of concerns change?

SLIDE 25IS246 - SPRING 2003 Discussion Questions On Winograd and Flores (Ana Ramirez) –The abstraction boundaries must be crossed occasionally in order to increase performance. One such case is in systems that must operate in real-time. How does this show up in multimedia systems?

SLIDE 26IS246 - SPRING 2003 Discussion Questions On History of Computation (Catherine Lai) –Look at the pervasive presence of computing in modern science and technology, has the history of computing established a significant presence in the history of science and technology? –Is technology the creator of demand or a response to it? –What role do governments play in fostering and directing technological innovation and development? –What does the term “computer” mean to you? Have we prematurely united its multiple historical resources into one thing? What about for computing? Is there a dual nature or tripartite structure to it?

SLIDE 27IS246 - SPRING 2003 Discussion Questions How can we think about motion pictures and computation in terms of each other as “representational” systems? How could we describe an editing process computationally? How would we need to describe video to be able to operate on it computationally?

SLIDE 28IS246 - SPRING 2003 Today’s Agenda Review of Last Time –Movie Ideas Feedback Theory and History of Computation –Turing and von Neumann –Ideas of Computation –Discussion Questions Action Items for Next Time

SLIDE 29IS246 - SPRING 2003 Readings for Next Week Monday 03/10 “Computational Media Theory” –Required Lev Manovich. The Language of New Media. The MIT Press, Cambridge, Massachusetts, 2001; pp Gilles Bloch, G.R. From Concepts to Film Sequences, Yale University Department of Computer Science, 1987; pp Chitra Dorai and Svetha Venkatesh. Computational Media Aesthetics: Finding Meaning Beautiful. IEEE Multimedia, 8 (4); pp –Optional Marc Davis and David Levitt. Time-Based Media Processing System (US Patent 6,243,087), Interval Research Corporation, USA, 2001; pp

SLIDE 30IS246 - SPRING 2003 Readings for Next Week Wednesday 03/12 “Automated Media Analysis: Audio” –Required Jonathan Foote. An Overview of Audio Information Retrieval. Multimedia Systems, vol. 7, 1999; pp Kenichi Minami, Akihito Akutsu, Hiroshi Hamada, and Yoshinobu Tomomura. Video Handling with Music and Speech Detection. IEEE MultiMedia, vol. 5, 1998; pp –Optional (On IS246 Course Web Site) Christian Spevak and Emmanuel Favreau. Sound Spotter - A Prototype System for Content-Based Audio Retrieval. In: Proceedings of the 5th International Conference on Digital Audio Effects (DAFx-02). Hamburg, George Tzanetakis, Perry Cook. Automatic Musical Genre Classification of Audio Signals. In Proc. International Symposium for Audio Information Retrieval (ISMIR 2001) Bloomington, USA, October 2001.