csc1401: introductory programming steve cooper [email protected] scooper
TRANSCRIPT
CSC1401:CSC1401:Introductory ProgrammingIntroductory Programming
Steve [email protected]
http://www.sju.edu/~scooper
Overview
Course description (slides 3- 6) syllabus (see Handout) expectations tools
Introductory Lecture (slides 7 - 23) What is a program? What is a programming language? Introduction to Alice
CSC1401
Introduction to writing computer programs traditional
object-oriented
3D animation programming Pixar and Disney style (film, movie)
Interactive games (reasonably small)
ExpectationsCome to class
Work with the text, handouts, and online content
Complete the exercises, assignments, and labsWorkouts; designed to prepare you for the exams
Do your own work on individual assignments; you may work with a partner on an assignment with prior permission
Tools
Textbook Learning to Program with Alice
Other reading handouts, online references
Software (available online, freeware) Alice
Java
What is a program?
A program is a sequence of instructions that
tell the computer what to do tell another human being what you want the computer to do
More formally, a program implements an algorithm.
Algorithm: a finite set of well-defined instructions for accomplishing some task
Wikipedia
Program Tasks
Programs are written for various kinds of tasks (not mutually exclusive)
solve a problem
simulation
game
animation
What is a language?
A system for communicating.
Written languages use symbols (that is, characters) to build words.
Parts of Language
Vocabulary: The entire set of words in the language.
Syntax and grammar: The ways in which the words can be meaningfully combined
Semantics: The actual meaning of words and combinations of words
Webopedia
Computer Languages
Human languages are natural languages. Computers are not sophisticated enough to understand natural languages.
In mathematics, logic and computer science, a formal language is a set of finite-length words (i.e. character strings) drawn from some finite alphabet, with carefully defined vocabulary, syntax, and semantics
Wikipedia
There are many different kinds of computer languages, including machine languages, programming languages, and fourth-generation languages.
Webopedia
Learning to write a program
A program is written using a programming language
We will learn to write programs using two languages
Alice
Java
Object Oriented Programming
Different programming languages support different styles of programmingIn object-oriented programming, programmers can think of a program as instructions that tell interacting objects what to do
An object is a model of some artifact (product of civilization) that can interact with other objects
In this course…
We will learn how to Initiate and control the interactions between objects to
solve problems
perform tasks
tell stories in animations
play games
Modify and build objects
Supporting Skills to Develop
Algorithmic Thinking and ExpressionBeing able to read and write in two formal languages
Alice (fourth-generation)
Java (high-level or third generation)
Abstraction:Communicating complex ideas simply
Decompose problems logically
Appreciation of EleganceMany ways to solve a problem, but some are more elegant
than others
Introduction to Alice Use the software from the CD or can download latest version from the web
www.alice.org
Alice is named in honor of Lewis Carroll’s Alice in Wonderland
Alice
A modern programming tool 3-D graphics
3-D models of objects
Animation Objects can be made to move around the virtual world (a video game or simulation implemented in 3-D)
Demo: Getting started
Starting Alice
Load and run a world What Alice Can Do (Examples)
Amusement Park (Examples)
Flight Simulator (Examples)
LightDemo (Examples)
Octopus (download)
Lake Skater (Examples)
Kinds of Animations
Two kinds of animations:Movie
Passive user watches the animationWhat Alice Can DoLightDemoOctopus
InteractiveActive user clicks on mouse, types a key on keyboard …Actions of user are called eventsFlight SimulatorSkater
Objects
An "object" is a model of an artifact and can be identified as unique from other things
there can be multiple objects that are similar, but still unique
How is an object unique? has a name
has properties: width, height, color, location
can perform actions (methods):associated actions it can perform
tasks it can carry out
ClassA class defines a particular kind of objectObjects are categorized into classes
Each object is an instance of the class.
All objects in a class have similar properties and generally can perform the same tasks.
Person
Dog
peter
mary
paul
spike
scottie
fluffy
Galleries
Classes (3D models) are found in the galleries Local gallery (installed with the software)
Minimum or complete options
CD Gallery (only if CD is in the machine)
Web gallery