cse3: fluency in information technology
DESCRIPTION
Set up my web page and the moodle page. CSE3: Fluency in Information Technology. Dr. Beth Simon Computer Science and Engineering http://csemoodle.ucsd.edu CSE B270: Lab. Write these down. CSE3 Fluency with Information Technology. Why are you here? - PowerPoint PPT PresentationTRANSCRIPT
CSE3: Fluency in Information Technology
Dr. Beth SimonComputer Science and Engineering
http://csemoodle.ucsd.eduCSE B270: Lab
Write these down
CSE3 Fluency with Information Technology
• Why are you here?– Most of you – Freshmen in Sixth College
Culture, Art and Technology– Psychology Majors– Computer Science Majors– Anyone interested in getting computing
skills that will set them apart in theirfield
• You are also…
Computer Users!
• We all use computers every day, often without thinking about it– Phone, iPod, TV– Car– Facebook, txting
• But, what will be next?• What do you need to know about the world that hasn’t yet
arrived?– How can you (in your career) help CREATE the new world?– We don’t want you to be YOUR parents in 20 years
Handout
Nation-wide Effort to Define21st Century Citizens
• Why does everyone have to study– Reading– Writing– Arithmetic
Nation-wide Effort to Define21st Century Citizens
• Why does everyone have to study– Reading– Writing– Arithmetic
Nation-wide Effort to Define21st Century Citizens
• Today, a baseline understanding of the power of computers is necessary for:– An informed populace– Breakthroughs in most any field– Successful businesses– Bringing new capabilities to our everyday lives!
Your major doesn’t matter
What Does This Course Offer You?
• Globally-competitive, 21st Century professional• Poised to tackle a broad range of societal challenges
and opportunities• In a wide range of professional contexts
“It has given me confidence that I’m able to figure things
out on a computer that I never would have thought that I
could do.”
Change View of Technology
“Now, every time I find myself playing a video game, I actually understand what
makes it work.
That these games are not magically produced, that it takes time, skill, and
sufficient funds to create these games.
I appreciate these games more than before taking this class..”
Analysis Skills
“Programming allows a person to think more logically, thinking in order and
debugging allows the user to gain valuable problem solving skills.
Aspiring to go to law school, thinking logically is extremely important and I
think this has helped.”
Communication Skills
“In today’s technologically-centered world, using a program like Alice gives
us valuable exposure to discussing things technically with other people and explaining clearly what we are trying to
do.”
Organizational Skills
“Through Alice, I learned to stay organized and structured in anything I
do, including studying for other classes. Although at first, thinking with several concepts at a time was very difficult,
now I am more confident.”
How are you going to accomplish this?
• We’ll teach you to “write programs” (in Alice)– But only because it’s the simplest way to interact with a
computer
• But really you get:– To know what computers can do – How to interact with computers “logically” – at their
level– How to communicate effectively in technical situations– How to apply organizational skills in managing data and
tasks when using computers
Our Primary Goal*:
In the future,No matter what application you use,
no matter the field you are in,
You can apply what you learn in this course to figuring out a new application
or developing a new way to solve problems in your field using computers.
* Primary complication: You may have a limited idea of how exactly this will benefit you.
Who am I?
• Dr. Beth Simon (call me Dr. Simon)– PhD in Computer Science and
Engineering– Computer Architecture, Compilers,
Supercomputing• Intel: Itanium compiler optimizations and
branch prediction schemes• San Diego Supercomputer Center:
Advise the DoD in spending $$ millionsannually on supercomputers
Now hear this…• My primary focus is on teaching THIS class
– My research is in how people learn about computing!
• I’m VERY excited to have the opportunity to work with you!– Passionate about the value of this class on your future,
could you please go out and:• Find a cure for cancer, leukemia, genetically-tied diseases• Develop solutions to enable travel, etc., without using up earth’s
resources• Help returning vets manage their psychological issues• Develop the next cool device that changes my life
Just So You Know: This class is different
• There are 2 CSE3 lectures– They are not inter-changeable, you are expected to
attend your assigned lecture
• MWF 12-1: standard lecture format• MW 4:30-5:50: active-learning format• We hope you will stay in your currently assigned
section– But it is your choice, if you feel strongly, you may switch
sections (you’ll need to drop and add a new lab)
This class is BIG
• But I really, REALLY want to provide you as much individual support as possible!– I WANT you to ask questions!
• Have YOU ever asked a question in such a large class?
Let’s Practice!
• Please, put a hand in the air.• Repeat after me:
Let’s Practice!
• Please, put a hand in the air.• Repeat after me:
I have a question
One more time…
• Please, put a hand in the air.• Repeat after me:
One more time…
• Please, put a hand in the air.• Repeat after me:
I didn’t get what youjust said, can you explain it again?
Don’t forget to go to lab (starting next week)
• Everyone registered for this class by registering for a specific 2-hour lab section.– Start going next week.
• Labs are in B270 (CSE)– Go early, it takes time to
find it – it’s in basement• If you are ever sick/miss
your lab, try to go to a later one (but you must requestpermission!)
Rest of Logistics on Class Web Site: Exams, etc. YOUR RESPONSIBILITY TO READ IT
NEXT CLASS:
• You will need to sit in your assigned seat– Room Number and Seat Number on
csemoodle.ucsd.edu• If you added class this week, you may not be there yet,
check back Thursday morning.
– Why? It’s a secret. But, it’s a good thing
• You MUST bring your iclicker (bookstore)
NEXT CLASS:
• You will need to sit in your assigned seat– Room Number and Seat Number on
csemoodle.ucsd.edu– Why? It’s a secret. But, I promise you, you will
like what goes along with it. Tutors?
• You MUST bring your iclicker (bookstore)
YOU MUST LOOK UP AND WRITE DOWN YOUR ASSIGNED SEAT ON YOURCALENDAR!!!!
Let’s Jump In!But First BY NEXT CLASS
• Go to class website and do items under Week 1: http://csemoodle.ucsd.edu (survey, etc.)
• Go to the lab (B270) and do Appendix A.– Everyone in B270 is a CSE3 student or tutor– Tutors in B270 randomly today, tomorrow and
Wed. if you would like help or to ask questions.
TODO
Let’s Jump In!But First BY NEXT CLASS
• Read Chapter 1 and 2 and do the homework– There’s a homework (small) due before
each lecture– Homework has you reading the textbook
and “playing” around with Alice– You don’t turn it in, you answer some questions
at the beginning of next class (aka a “quiz”) with your clicker
TODO
Introduction to Alice
Alice is named in honor of Lewis Carroll’s Alice in Wonderland
AliceA 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)
We recommend you download latest version from the web (if you have your own computer – not required)
www.alice.org
What will YOU be doing with Alice?
Make moviesExample: Snowman Seeking Snowwoman…
We’ll build this ourselves in a minute!
Make interactive “worlds”Example: video game
Whack a Mole
Example: user-driven virtual worldFlight Simulator (see Examples with Alice)
Important Metaphor:
Two “genres” of challenges in movies and games:
3-D animation (not programming, art)
Programming (controlling what happens)
Knowing how to program is like knowing how to cook:
If you “can cook”, the ingredients you usearen’t really an issue
Programming: Knowing HOW to Cook
3-D Manipulations: Just some ingredients
We’ll come back to this again…
Today: Chapters 1 and 2!Give you an overview of how to
Design a story
Implement that story using Alice programming language
PLAY your story (called running your program)
Prepare you for lab next weekWhere you will make your own story
DON’T TAKE NOTESWatch and try to understand WHY
These slides (with “ink”) posted on moodle after class
AND Audio Podcast (link on moodle)!
Demos: NEVER TAKE NOTES
Preview Slide: List of things you should be watching for in demo
Notes Slides:Right after Preview Slide
Your “notes” from the demoSo you can pay attention
BUT: This is still important material!
What you will see next:
Make a new World
Adding Objects
3 Dimensions and 6 Directions
Some tools for managing your 3-D world
Objects: What they are and have
Next: 7 Slides are your notes for this demoFor you to review and remember what we did
Demo: A new world
Create a new world File New
Choose template
Demo: Adding objects
3 Dimensions, 6 DirectionsA 3D object has
3 dimensionsheight, width, depth
6 degrees of freedom (directions of movement)
Techniques and Tools
Mouse is used toapproximately position objects in the scene
Camera Navigation is used toset the camera point of view
Drop-down menu methods are used to resize objectsmore precisely position objects in the scene
Quadview is used toposition one object relative to another object
ObjectsAn "object" is
any thing that can be identified as unique from other things
How is an object unique? has a name has properties:
width, height, color, location
can perform actions (methods):associated actions it can performtasks it can carry out
Object PartsObjects may be composed of parts
Demo: Saving a world
Writing and testing an animation is an intense load on the computing system – a crash can occur.
Best solution: save your world every 15 minutes
Itchy save button
also save to a backup system
(for example, a USB memory key)
Getting Comfortable with Setting Up Worlds/Objects
Appendix A (pg 311-330) or linked from moodle
Complete on your own in lab B270 in CSE Building, tutors available
BY NEXT CLASS
Or complete on your own computer
TODO
2 Sides to Using Alice
3-D Animation EffectsImportant for making your work “look good” (e.g. be what you want)
Issues of how you situate your world/objects
Components of “objects”Tongue, Arm, Joint, etc.
These are the foods you cook withBananas versus milk versus steak
NEXT: How to Cook (program)
Programming Concepts: ClassObjects 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
Dogs
peter
mary
paul
spike
scottie
fluffy
Designing and Implementing* Animation Programs
*Implementing is a computing term meaning, basically, building
Step 1 – DesignScenarios and Storyboards
Step 1: Design
Decide on the problem to be solvedWe provide or you choose
Design a solution We will use a storyboard design
Example: Snowman Seeking Snowwoman
The scenario is: Several snow-people are outdoors, on a snow-
covered landscape. A snowman is trying to meet a snowwoman who is talking with a group of her friends (other snowwomen.) He says "Ahem" and wiggles his eyes, and she turns to look at him.
Next Design.
StoryboardOption 1: Sketches
None
StoryboardOption 2: Screen Shots
Initial scene Snowman tries to catch snowwoman’s attention
Snowwoman looks around
Storyboard Option 3: Text (whew)
Animation Artists sketch their storyboardsYou may not have such expertise, so here is a textual form that can be used:
Do the following actions in order snowman turns to face snowwoman snowman “wiggles eyes” and calls out to the snowwoman. snowwoman turns to look at him.
Storyboard Option 3: Text (whew)
This is like an ORDERED "to-do" list. The Learning to Program in Alice textbook
puts a textual storyboard in a box.
Do the following actions in order snowman turns to face snowwoman snowman “wiggles eyes” and calls out to the snowwoman. snowwoman turns to look at him.
Designing and Implementing* Animation Programs
*Implementing is a computing term meaning, basically, building**Alice is a programming language (like Java or C++)
Step 2 – ImplementationCreating an Animation Program
(in Alice**)
Step 2: Implementation
Translate the actions in the storyboard to a program (in the Alice programming language).
Program (a.k.a. script) a list of instructions to have the objects perform certain actions in the animation
Demo Alert! Preview
Take each line of storyboard and translate into instructions
Some SB lines translate into multiple instructions
Methods: perform actions on objectsNote: Methods in lower left are used to control actions (build programs).
They change depending on the object you click on (in tree or in world)
Action Blocks control timing (together, in order) • Test after each little thing• Comments
Next: 9 Slides are your notes for this demoFor you to review and remember what we did
Volunteer Needed: Read English
Writing the Program
• Our planned storyboard (ordered to-do list) is:
• The idea now is to translate the design steps to program instructions.
Do the following actions in order snowman turns to face snowwoman snowman “blinks eyes” and calls out to the snowwoman. snowwoman turns around.
Translating Design to Instructions
• Some steps in the storyboard can be written as a single instruction– The snowman turns to face the snowwoman
• Other steps are composite actions that require more than one instruction– The snowman tries to catch the snowwoman’s
attention is two actions• The snowman says “ahem”• The snowman raises and lowers his eyes
Concepts in this first program
• Program instructions (methods) may have arguments– Example: for the move instruction (method),
the arguments we used in this example were• direction• distance
• DoTogether and DoInOrder blocks can be nested one inside the other
Single Instructions: Methods that act “on” some object
Action Blocks in Alice
Sequential Action Block
Simultaneous Action Block
Testing
• An important step in creating a program is to run it – to be sure it does what you expect it to do.
• We recommend that you use an incremental development process:
• write a few (or ONE) line(s) of code and then run it• write a ONE more line and run it• write a few more lines and run it…
– This process allows you to find any problems and fix them as you go along.
Be Impatient! Don’t Wait!
Comments
• While Alice instructions are easy to understand, a particular combination of the instructions may perform an action that is not immediately obvious.
• Comments are used to document the code – explain the purpose of a particular segment of the program to the human reader.
To Do Immediately• Go to http://csemoodle.ucsd.edu and do all items
under Week 1:– Read Logistics– Get Seat Assignment – Do Getting to Know You Survey (20 min)– Do Appendix A (in lab or on own)
• Everyone in B270 is a CSE3 student or tutor• TUTORS: in Lab some hours Mon-Wed
– Read Chapter 1 and 2 and do the homework• There’s a homework (small) due before
each lecture• Homework has you reading the textbook
and “playing” around with Alice• You don’t turn it in, you answer some questions
at the beginning of next class (with your clicker)
TODO