Public Service Announcement Movies made with the Alice Programming Language Summary Lecture The Problem Create a public service announcement (PSA) animated movie to inform or.

Download Report

Transcript Public Service Announcement Movies made with the Alice Programming Language Summary Lecture The Problem Create a public service announcement (PSA) animated movie to inform or.

Public Service Announcement
Movies made with the Alice
Programming Language
Summary Lecture
The Problem
Create a public service announcement
(PSA) animated movie to inform or to
educate society on an important issue.
This movie corresponds to the execution of
a computer program written in Alice, an
object-oriented programming language.
2
The Context
The development of your PSA followed a
systematic approach for the creation of
solutions to engineering problems:
The Engineering Design Process,
an iterative, structured workflow
made of 10 steps.
3
The Engineering Design Process
1. Identify the problem
2. Research and gather data
3. Establish design criteria/goals/constraints
4. Identify potential solutions
5. Analyze potential solutions
6. Develop and test models
7. Select the best alternative
8. Communicate and specify for implementation
9. Implement and/or commercialize
10. Perform post-implementation assessment
4
Projects are Living Things
You have learned that an engineering
project doesn’t end when it is deployed.
The objective analysis if how well things
work and how they can be improved is an
important tool for the evolution of the
project and for the implementation of
future projects.
5
Taming Complexity
You have learned that Computer Scientists
and Software Engineers use the concept
of abstraction to develop solutions to
complex problems.
Abstraction is useful to hide details behind a
clean and concise interface, which allows
easy interaction with intricate systems.
6
Modeling the World with Objects
You have learned that the object-oriented
paradigm applies the abstraction concept
to creation of models of real-world entities.
The models retain only the characteristics
that are essential to you and ignore all less
relevant details.
7
Alice Objects
You have learned that objects in Alice have
three categories of components:
– Properties: units of memory which describe
the state of the object.
– Methods: actions that can be performed by
an object.
– Functions: computations that an object
performs and which always generate some
type of result.
8
Properties and Variables
You have learned that objects, methods, and
functions can “remember” information.
Properties and variables in Alice are units of
memory storage that retain a value
assigned to them. This value can be
recalled and modified at different points in
the program.
9
Methods
You have learned that methods can be
constructed so that their behavior depends
on data given to them at the time of
invocation.
Methods can have parameters, which allow
information to come into them and alter
their behavior.
10
Functions
You have learned that the functions that appear
in computer programming embody the
mathematical concept of function.
Functions are computations performed on
information passed in as parameters, which
result in a single value. This is equivalent to
saying that this type of computation
implements a mapping from domain to
codomain.
11
Composition
You have learned that an object may consist
of several other objects.
The aggregation of all these parts into a
cohesive whole is an application of the
abstraction concept: although what you
see is one, “behind the curtains” it is
actually many.
12
Nested Computations
You have learned that you can apply this
notion of composition also with methods
and functions.
A more complex method (or function) may
contain invocations to one or more other
methods (or functions). This is another
application of the abstraction concept.
13
Computer Programs
You have learned that Alice programs have
elements that cause commands to be
executed in sequence (do in order) and
concurrently (do together).
The do in order construct is useful when you
want to create a strictly linear progression of
commands. The do together, on the other
hand, is useful to have commands appear to
execute in parallel.
14
Selection
You have learned that, as most
programming languages, Alice gives your
programs a mechanism to choose
between the execution of two blocks of
commands: the if/else construct.
That choice is based on the evaluation of a
Boolean expression, that is, an expression
that results in true or false.
15
Repetition
You have learned that Alice, as most
programming languages, has constructs that
cause the repetition of blocks of commands.
The loop construct causes the block to iterate a
pre-determined number of times. The while
construct causes the block to keep iterating
only as long as a given Boolean expression
evaluates to true.
16
Top-Down Design
You have learned that it is natural to construct a
computer program starting out with a
sequence of larger ideas which are
successively expanded into fine-grained
details.
This organization, which appeared in the way
you structured your PSA into a sequence of
scenes, each one made of a sequence of
shots, applies the principle of abstraction.
17
Exploration and Discovery
You have learned that by exploring and
experimenting with a computer system or
programming environment, you can
accomplish a lot even without reading much
documentation.
Remember this for the future and you will
become a self-reliant, independent learner
who can become proficient in new
programming languages more easily.
18
The Solution
Your work evolved along five phases:
1.
2.
3.
4.
5.
Proposal
Design
Implementation
Presentation
Report
Each phase served to keep your work on schedule
and also aligned to the EDP. Within a highly
creative context, you have started to develop your
skills in technical written and oral communication,
software engineering, and computer programming.
19
Teamwork
You have experienced working with a team in
the context of an engineering project. It takes
will power and effort to adapt to different
personalities, schedules, and work ethic.
The larger and the more complex the problem,
the more stressful the experience. Reflect on
how well your team worked together and on
what you can change about yourself to make
future team experiences more efficient and
rewarding.
20
Communication
You have learned that an engineer needs to
know how to communicate ideas both
orally and in writing.
Remember that this communication must be
accurate, complete, clear and succinct.
Strive to become a better communicator
and your work as an engineer will have
stronger impact.
21
Societal Impact
For many years, the Ad Council (http://www.adcouncil.org/) has
produced PSAs that are aired on TV or used in radio
broadcasts. These messages have raised awareness to
issues in public health, civic duty and participation, education,
and environmental matters. The impact of their PSAs on
society is undeniable.
The PSA that your team has constructed took the shape of a
computer animation. Right now, your PSA can be posted
online in web pages or in media distribution sites such as
YouTube and produce benefit to society. It can also be used
as an animated storyboard used as the basis for the
professional production of a PSA, or possibly even shown asis by community access TV channels.
22