| Tangible Functional Programming |
 |
Google Tech Talks
November, 7 2007
ABSTRACT
We present a user-friendly approach to
unifying program creation and execution,
based on a notion of "tangible values" (TVs),
which are visual and interactive
manifestations of pure values, including
functions. Programming happens by gestural
composition of TVs. Our goal is to give
end-users the ability to create
parameterized, composable content without
imposing the usual abstract and linguistic
working style of programmers. We hope that
such a system will put the essence of
programming into the hands of many more
people, and in particular people with
artistic/visual creative style.
In realizing this vision, we develop
algebras for visual presentation and for
"deep" function application, where function
and argument may both be nested within a
structure of tuples, functions, etc.
Composition gestures are translated into
chains of combinators that act simultaneously
on statically typed values and their
visualizations.
Speaker: Conal Elliott
Most of my research is aimed at supporting
the creation of interactive synthetic media
content, including computer animation,
human-computer interaction, images, 2D and 3D
geometry, and programmable shaders. In all
cases, I aim to preserve or improve on the
flexibility and performance of mainstream
programming approaches, while greatly
simplifying the creation process.
Synthetic media programs are almost always
implemented in sequential, imperative (often
object-oriented) languages. My research
explores use of declarative languages,
resulting in much simpler and more reusable
and composable programs. These languages are
also more amenable to execution on parallel
architectures such as modern graphics
processors, because declarative languages
abstract away from order of execution,
removing the accidental sequentiality found
in imperative programs. Even on sequential
machines, declarative formulations have much
simpler mathematical semantics, which
facilitates automatic optimization. They also
tend to be spatially and temporally
continuous (resolution-independent), allowing
them to adapt naturally to machines with
different speeds and display resolutions.
After exploring explicit programming of
synthetic media content for several years,
I'm now also keenly interested in supporting
artists. The goal of my new new research
agenda is to give artists access to the
expressive power of computers and programming
languages, while retaining an artist's
working style. I mean "artist" in a broad
sense, in contrast to the verbal and
sequential style of an engineer. (I don't
mean to suggest that people fit neatly into
these two categories.) My ideal audience
includes graphic designers, musicians, and
children -- really, the playful and curious
in all of us.
This abstract has 2796
This abstract has 2820 Tags : google techtalks techtalk engedu talk talks googletechtalks education |
|
Affichage : 14827
Durée : 3383 s |
| Programming Bits and Atoms |
 |
Google Tech Talks
October 24, 2008
ABSTRACT
Computer science serves to isolate programs
(and programmers) from knowledge of the
underlying mechanisms used to manipulate
information, however it will not be possible
to maintain this fiction in the approaching
limit in which the number of
information-bearing degrees of freedom in a
computer becomes comparable to the number of
physical ones. I will explore the
implications of aligning these physical and
computational descriptions for improving the
performance, scalability, and ultimately the
relevance of information technologies for
some of the grandest global challenges.
Examples will be drawn from work on conformal
computing, interdevice internetworking, and
digital fabrication.
Speaker: Neil Gershenfeld
Prof. Neil Gershenfeld is the Director of
MIT's Center for Bits and Atoms. His unique
laboratory is breaking down boundaries
between the digital and physical worlds, from
creating molecular quantum computers to
virtuosic musical instruments. Technology
from his lab has been seen and used in
settings including New York's Museum of
Modern Art and rural Indian villages, the
White House and the World Economic Forum,
inner-city community centers and automobile
safety systems, Las Vegas shows and Sami
herds. He is the author of numerous technical
publications, patents, and books including
Fab, When Things Start To Think, The Nature
of Mathematical Modeling, and The Physics of
Information Technology, and has been featured
in media such as The New York Times, The
Economist, and the McNeil/Lehrer News Hour.
He is a Fellow of the American Physical
Society, and has been selected as a
CNN/Time/Fortune Principal Voice and by
Prospect/FP as one of the top 100 public
intellectuals. Dr. Gershenfeld has a BA in
Physics with High Honors and an honorary
Doctor of Science from Swarthmore College, a
Ph.D. from Cornell University, was a Junior
Fellow of the Harvard University Society of
Fellows, and a member of the research staff
at Bell Labs. Tags : google techtalks techtalk engedu talk talks googletechtalks education |
|
Affichage : 2901
Durée : 3667 s |
| Advanced Topics in Programming Languages: Java Puzzlers,... |
 |
Google Tech Talks
July 23, 2007
ABSTRACT
Java Puzzlers, Episode VI: The
Phantom-Reference Menace/Attack of the
Clone/Revenge of the Shift.
Josh Bloch and special guest star Bill Pugh
present yet another installment in the
continuing saga of Java Puzzlers, consisting
of eight more programming puzzles for your
entertainment and enlightenment. The game
show format keeps you on your toes while the
puzzles teach you about the subtleties of the
Java programming language and its core
libraries. Anyone with a working knowledge of
the language will be able to understand the
puzzles, but even the most seasoned veterans
will be challenged. The lessons you take from
this session are directly applicable to... Tags : google howto advanced topics programming |
|
Affichage : 38621
Durée : 4433 s |
| Geppeto: Consumer's Approach to Programming |
 |
Google Tech Talks
November 10, 2008
ABSTRACT
Contemporary society is experiencing a steady
stream of new electronic gadgets, software
products, and web applications. In this flood
of functionality, users have adapted to rely
less on manuals (if they are present at all)
and shift their learning to trial and error,
common paradigms, and experimentation. To
accommodate this style of use -- or perhaps
driving this behavior - developers have
successfully abstracted much of the
technological complexity and transformed it
into intuitive user interfaces often avoiding
the need for reading lengthy manuals and
formal training. Is it possible to adopt the
same trial-and-error experimentation habit
not only for using gadgets, but also for
application development? We claim that
intuitive aggregation and combination of
software gadgets makes this possible.
In this talk, we will show the use of
current technology in building a consumer
oriented development tool appropriate for
individuals not formally trained in
programming. We demonstrate that the
complexity of existing system and scripting
languages i.e.; syntax, semantics, control
and data flow, data structures, data types,
and programming components can be
successfully replaced with analogies
intuitively accessible to a much wider
consumer population based exclusively on
their use and understanding of user
interfaces in popular web applications. We
present a demo of Geppeto -- a consumer tool
for gadget-based application development.
Composing gadgets with Geppeto does not
require programming experience or reading of
convoluted manuals. The presented research is
sponsored by Google Inc. and the Croatian
Ministry of Science.
Speaker: Sinisa Srbljic
Professor Sinisa Srbljic, Ph.D., is currently
a professor at the School of Electrical
Engineering and Computing, University of
Zagreb, and the project leader of the Geppeto
project. His career also spans Silicon Valley
where he worked on large-scale distributed
systems at AT Labs. He was visiting the
University of Toronto, where he worked on the
NUMAchine multiprocessor project, and the
University of California, Irvine. His
research interests include Web computing,
gadget composition, and consumer programming.
In teaching, he is involved in the theory of
computing, programming language translation,
service-oriented computing, and network
middleware systems.
Speaker: Marin Silic
Marin Silic, B.Sc., is currently a computer
science Ph.D. candidate and research
assistant at the School of Electrical
Engineering and Computing, University of
Zagreb. He works on web architectures for
composing gadgets as a part of the Geppeto
project. As a Google intern in the
Spreadsheets group he developed a one-second
load application for Google Spreadsheets. Tags : google techtalks techtalk engedu talk talks googletechtalks education |
|
Affichage : 2404
Durée : 1770 s |
| Advanced Topics In Programming Languages: Closures For Java |
 |
Google Tech Talks
January 17, 2007
ABSTRACT
We propose to add Closures to the Java
Programming Language. Closures simplify the
use of APIs that rely on anonymous class
instances, such as the concurrency APIs and
callbacks. More importantly, closures support
control abstractions, which are APIs that act
as programmer-defined control constructs.
This talk describes the proposed language
extension and its design rationale, and shows
how it will affect existing and future APIs.
Credits: Speaker:Neal Gafter Tags : java closures google |
|
Affichage : 13450
Durée : 6905 s |
| A Preview of Alice 3.0, Introductory Programming in 3D |
 |
Google Tech Talks
December, 12 2007
ABSTRACT
The mission of the Alice project is to
increase and sustain the pipeline of computer
science graduates, essential to the growth of
technology in a global economy.
Alice is an innovative 3D programming
environment for building animations in the
form of stories, games, and web-ready videos.
Alice teaches programming. Alice version 2.0
is in common use. Alice 3.0 is in active
development with a projected launch date of
August 2009.
Alice 2.0 has been very successful and
enjoyed an adoption rate of 10% in US
colleges and is expanding rapidly into high
schools. We expect Alice 3.0 to surpass this
mark considerably.
Alice is a freely available teaching tool
designed to be a student's first exposure to
object-oriented programming. It allows
students to learn fundamental programming
concepts in the context of creating animated
movies and simple video games. In Alice, 3D
objects (e.g., people, animals, and vehicles)
populate a virtual world and students create
a program to animate these objects.
Alice 3.0 will also enable teachers and
students to work directly with underlying
Java code in a Java IDE. The ability to work
with code in either drag-and-drop or in Java
IDE mode will support an expansion of Alice
2.0's target populations (previously, high
school and pre-CS1) to include CS1 and AP-CS
courses. Alice 3.0 is scheduled for alpha and
beta testing in a limited number of
classrooms during the '08-'09 academic year.
http://www.alice.org/
Speaker: Wanda Dann, Alice Director (Carnegie
Mellon University)
Dr. Wanda Dann, an active member of the Alice
team for the last decade, has recently
assumed leadership of the team. She is
currently transitioning into a faculty
position at Carnegie Mellon University from
Associate Professor of Computer Science at
Ithaca College. Wanda's research interests
include visualization in programming and
programming languages and innovative
approaches to introductory programming.
With Dr. Steve Cooper and Dr. Randy Pausch,
she has published papers on the use of
program visualization in teaching and
learning introductory programming. Papers
have appeared in ACM's Special Interest Group
on Computer Science Education (SIGCSE)
inroads, the Computer Science Education
Journal, and other related publications. She
is co-author of Learning to Program with
Alice (2006, Prentice-Hall).
Dr. Dann's leadership as a computer science
educator has been recognized in her various
roles as SIGCSE Technical Symposium
publications editor, special projects chair,
program chair, and symposium chair. She is
now a member of the SIGCSE Board.
Speaker: Dennis Cosgrove, Research Scientist
(Carnegie Mellon University)
Dennis Cosgrove has worked on the Alice
system since its beginnings back in the early
1990s when it was a rapid prototyping tool
for constructing head mounted display based
virtual environments. He played a key roll in
designing and implementing versions of Alice
which have striven to lower the barriers of
entry to 3D graphics and, more recently, to
support a gentler introduction to
programming.
As the sole designer and implementer, Dennis
has enjoyed unchecked, czar-like control over
all aspects of the Alice system since the
inception of Alice 3 in February, 2006.
Dennis has co-authored academic papers
presented at the ACM I3D, UIST, and SIGCHI
conferences.
Dennis was selected as the first Computer
Science Department "Undergraduate Education
Award" winner at the University of Virginia
in 1992. He was also selected as a Carnegie
Mellon University School of Computer Science
"Outstanding Member of the Community Award,"
as well as an University wide "Andy Award" in
2001.
Speaker: Caitlin Kelleher, Assistant
Professor (Washington University in St.
Louis)
Caitlin Kelleher is an Assistant Professor of
Computer Science at Washington University in
St. Louis. She completed her doctorate at
Carnegie Mellon University working with
Professor Randy Pausch and spent her
undergraduate years at Virginia Tech.
Caitlin joined the Alice project in 1999 when
she began as a graduate student at Carnegie
Mellon. As part of her dissertation work... Tags : google techtalks techtalk engedu talk talks googletechtalks education |
|
Affichage : 22143
Durée : 3496 s |
|
|
|
|
|