Title: CS 178:
1Course Introduction
- CS 178
- Programming with Multimedia Objects
- Aditya P. Mathur
- Professor of Computer Sciences
- Purdue University, West Lafayette
- August 23, 2004
Last update August 23, 2004
2Learning Objectives
- What is computing and how it is used in various
disciplines, e.g. Bio, Chemistry, Math, Physics.
- How to develop and test simple programs in Java
using graphical user interfaces, images, and
sounds.
- How to work in small groups.
3Ideal Clients
- Those who want to acquire programming skills for
use in their own field of interest.
- Those with none to very little experience with
programming.
- Non-CS majors who want to use computing to solve
problems in their own disciplines.
4Course Organization
- Lectures MW. Recitation F. Labs W, Th, F.
- Quizzes During lectures. 30 quizzes, best 25
considered. Total 5 points.
- Midterm exams Sept 22 and Oct 25, 7-830pm. EE
270. Total 30 points.
- Final exam date to be announced. Total 25
points.
- Laboratory assignments 15 assignments, best 10
considered. Total 20 points.
5Exams
- Open book You will be allowed to consult your
textbook but not any of your notes. Sharing of
textbooks during the exam is not allowed.
- Duration 90 minutes. Final 2 hours.
6Course Organization Projects
- 5 projects, best 4 considered. Total 20 points.
- Team work Form groups of 4 each for project
work. Contact the instructor for any help you
might need in joining a group.
- All members of a group get the same grade in each
project assuming that they have made about equal
contributions.
7Groups Responsibilities
- Collaborate with each other and solve the problem
assigned on each project.
- Ensure that each member of the group knows what
is her/his responsibility on each project.
- It is a good idea to select a group leader who
will delegate tasks in a democratic way to
members of the team.
- Members of a group get equal grade ONLY IF they
do equal work.
8Groups Option 1-Applications of Computing
- Each group is requested to make one presentation
on an exciting application of computing in any of
the following disciplines earth and atmospheric
sciences, physics, chemistry, math, statistics,
and biology (exclude CS).
- Keep the presentation to 3-5 minutes. Consult
with the instructor before you make the final
decision to present something. All presentations
will be at the beginning of a lecture on M or W.
- A group that makes such a presentation is exempt
from the in-class Quiz during the day on which
they make the presentation.
9Groups Option 2-Classes and Objects
- Design and present a play that explains the
concept of Java classes and objects.
- Keep the play to 3-5 minutes. Consult with the
instructor before you make the final decision to
present something.
- There will be at most 3 such plays. Groups with
the best ideas will be selected to present their
plays.
- Groups that presents such a play are exempted
from 2 in-class quizzes.
10Groups Awards
- The following awards (cash and/or certificates)
will be given out after the last project has been
graded and returned
- Best application presentation.
- Earliest, and correct, project submission.
11What is programming?
- Programming refers to a collection of activities
concerned with the design, coding, and testing of
computer programs.
- A computer program is a sequence of instructions
that convey a procedure for performing one or
more tasks using data such as images, sound, and
other forms of data.
- A computer program is written in a programming
language.
- In CS 178 we will learn how to write computer
programs using the Java programming language.
12Is programming fun?
- It enables you to interact with machines in a
variety of ways.
- You struggle to instruct a machine to do
something. When it does what you want it to do,
there is a sense of achievement and you yell
Yeah! Yippe!
- Some people, such as myself, start singing when a
program works correctly!
13Is programming difficult?
- Because it requires accurate and precise
expression of instructions to a machine.
- Humans err. Computers usually do not correct our
errors. We have to discover and correct our
errors through debugging.
- The struggle is to make sure that our
instructions are correct. This is what makes
programming difficult.
14Why Java?
- Relatively safe and secure language.
- Has all the elements for programming with
multimedia objects.
- Allows easy sharing of information across the
globe.
- Supported on almost all platforms (Windows, OS X,
Unix, Linux).
15Why not Perl?
- Programming expertise is language neutral (to
some extent).
- Perl is good for quick and dirty programming.
- Java is good for significant applications that
need global cooperation amongst researchers and
have friendly GUIs.
Of course, there is no clear cut answer to the
language question.
- http//www.onjava.com/pub/a/onjava/2003/09/24/java
_bioinformatics.html
16Java Resource
- In addition to the textbook, visit
- http//java.sun.com/docs/books/tutorial/
17What is computing?
- Computing refers to the act of calculating
something using some given information. This
something may be, for example,
- a number that represents the position, at a time
instant, of a baseball in flight in a video game.
- a collection of numbers likely high temperature
over each of the next 7 days.
- an image that shows the structure of a new drug
formed by combining specially designed molecules.
- sound a new sound computed by combining and
manipulating various sampled waveforms.
Can you map the above to different disciplines?
18Computing and presentation
- Presentation of whatever is computed is an
integral part of computing. Presentation could be
in the form of
- Numbers displayed on the screen or printed.
- Image(s) displayed or printed. This may lead to
animation.
- Sounds played. This may lead to a computer-based
orchestra.
19Who computes?
- Humans compute Hey! How much will I be able to
save for the next party? Financial computation
- Animals compute Does this smell belong to my
master/friend? Chemical computation
- Computers compute We program the computers and
they compute. All kinds of computation
Describe What computation goes on in your
favorite video game?
20Applications of Computing Biology
- Neural modeling and simulation
21Applications of Computing Biology
The chromosomal locations of several genes
believed to be associated with the human BRCA1
gene implicated in breast cancer, highlighted
using the Map Viewer query "BRCA1" (build
34)...NIH web site.
22DNA
deoxyribonucleic acid. DNA molecules carry the
genetic information necessary for the
organization and functioning of most living
cells and control the inheritance
of characteristics. www.nti.org/e_research/e6_glos
sary.html
- Recombinant DNA refers to DNA which has been
altered by joining genetic material from two
different sources. - It usually involves putting a gene from one
organism into the genome of a different organism,
generally of a different species.
23Applications of Computing Biology
The relative order of base pairs, whether in a
fragment of DNA, a gene, a chromosome, or an
entire genome.
The experimental process of determining the
nucleotide sequence of a region of DNA. This is
done by labeling each nucleotide (A, C, G or T)
with either a radioactive or fluorescent marker
which identifies it. There are several methods
of applying this technology, each with their
advantages and disadvantages. Sometimes, the
sequences may be generated more quickly than they
can be characterised.
24Applications of Computing Chemistry
- MathMol (http//www.nyu.edu/pages/mathmol/chime/)
- Application of Java to Chemistry
(http//www.ch.ic.ac.uk/java/)
25Applications of Computing Physics
- Simulation, visualization and modeling
- Computational Experiments
- http//www.physics.unc.edu/zhaoj/compphys.htm)
- Computational nanotechnology (http//www.zyvex.com
/nano/)
26Applications of Computing Mathematics
- Computational Mathematics
- Black hole simulation (http//www.math.psu.edu/sun
/Project/blackhole.htm)
27Applications of Computing Miscellaneous
- Its called the Segway Human Transporter, but
the Pentagon is drafting the two-wheeled scooter
as part of a plan to develop battlefield robots
that think on their own and communicate with
troops.
- Mars exploration..Maestro/Spirit Rover
(http//java.com/en/about/apps/mars_rover.jsp)
28Why this course for you?
- CS majors Programming is an important skill to
have for all CS majors.
- Non-CS majors The future of computation is
bright..in EVERY FIELD. ..from Liberal Arts to
Science to Engineering Computers are almost
everywhere. Regardless of your field of study.
So dont miss this wonderful opportunity to
acquire a FUN skill!
29Bye!
Have fun with Java! And DO NOT DROP THIS
COURSE!