64
CSE3: Fluency in Information Technology Dr. Beth Simon Computer Science and Engineering http://csemoodle.ucsd.edu CSE B270: Lab Write these down

CSE3: Fluency in Information Technology

  • Upload
    jesse

  • View
    29

  • Download
    0

Embed Size (px)

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 Presentation

Citation preview

Page 1: CSE3: Fluency in Information Technology

CSE3: Fluency in Information Technology

Dr. Beth SimonComputer Science and Engineering

http://csemoodle.ucsd.eduCSE B270: Lab

Write these down

Page 2: CSE3: Fluency in Information Technology

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…

Page 3: CSE3: Fluency in Information Technology

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

Page 4: CSE3: Fluency in Information Technology

Nation-wide Effort to Define21st Century Citizens

• Why does everyone have to study– Reading– Writing– Arithmetic

Page 5: CSE3: Fluency in Information Technology

Nation-wide Effort to Define21st Century Citizens

• Why does everyone have to study– Reading– Writing– Arithmetic

Page 6: CSE3: Fluency in Information Technology

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!

Page 7: CSE3: Fluency in Information Technology

Your major doesn’t matter

Page 8: CSE3: Fluency in Information Technology

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.”

Page 9: CSE3: Fluency in Information Technology

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..”

Page 10: CSE3: Fluency in Information Technology

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.”

Page 11: CSE3: Fluency in Information Technology

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.”

Page 12: CSE3: Fluency in Information Technology

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.”

Page 13: CSE3: Fluency in Information Technology

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

Page 14: CSE3: Fluency in Information Technology

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.

Page 15: CSE3: Fluency in Information Technology

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

Page 16: CSE3: Fluency in Information Technology

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

Page 17: CSE3: Fluency in Information Technology

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)

Page 18: CSE3: Fluency in Information Technology
Page 19: CSE3: Fluency in Information Technology

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?

Page 20: CSE3: Fluency in Information Technology

Let’s Practice!

• Please, put a hand in the air.• Repeat after me:

Page 21: CSE3: Fluency in Information Technology

Let’s Practice!

• Please, put a hand in the air.• Repeat after me:

I have a question

Page 22: CSE3: Fluency in Information Technology

One more time…

• Please, put a hand in the air.• Repeat after me:

Page 23: CSE3: Fluency in Information Technology

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?

Page 24: CSE3: Fluency in Information Technology

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

Page 25: CSE3: Fluency in Information Technology

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)

Page 26: CSE3: Fluency in Information Technology

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!!!!

Page 27: CSE3: Fluency in Information Technology

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

Page 28: CSE3: Fluency in Information Technology

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

Page 29: CSE3: Fluency in Information Technology

Introduction to Alice

Alice is named in honor of Lewis Carroll’s Alice in Wonderland

Page 30: CSE3: Fluency in Information Technology

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

Page 31: CSE3: Fluency in Information Technology

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)

Page 32: CSE3: Fluency in Information Technology

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

Page 33: CSE3: Fluency in Information Technology

We’ll come back to this again…

Page 34: CSE3: Fluency in Information Technology

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)!

Page 35: CSE3: Fluency in Information Technology

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!

Page 36: CSE3: Fluency in Information Technology

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

Page 37: CSE3: Fluency in Information Technology

Demo: A new world

Create a new world File New

Choose template

Page 38: CSE3: Fluency in Information Technology

Demo: Adding objects

Page 39: CSE3: Fluency in Information Technology

3 Dimensions, 6 DirectionsA 3D object has

3 dimensionsheight, width, depth

6 degrees of freedom (directions of movement)

Page 40: CSE3: Fluency in Information Technology

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

Page 41: CSE3: Fluency in Information Technology

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

Page 42: CSE3: Fluency in Information Technology

Object PartsObjects may be composed of parts

Page 43: CSE3: Fluency in Information Technology

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)

Page 44: CSE3: Fluency in Information Technology

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

Page 45: CSE3: Fluency in Information Technology

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)

Page 46: CSE3: Fluency in Information Technology

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

Page 47: CSE3: Fluency in Information Technology

Designing and Implementing* Animation Programs

*Implementing is a computing term meaning, basically, building

Step 1 – DesignScenarios and Storyboards

Page 48: CSE3: Fluency in Information Technology

Step 1: Design

Decide on the problem to be solvedWe provide or you choose

Design a solution We will use a storyboard design

Page 49: CSE3: Fluency in Information Technology

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.

Page 50: CSE3: Fluency in Information Technology

StoryboardOption 1: Sketches

None

Page 51: CSE3: Fluency in Information Technology

StoryboardOption 2: Screen Shots

Initial scene Snowman tries to catch snowwoman’s attention

Snowwoman looks around

Page 52: CSE3: Fluency in Information Technology

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.

Page 53: CSE3: Fluency in Information Technology

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.

Page 54: CSE3: Fluency in Information Technology

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**)

Page 55: CSE3: Fluency in Information Technology

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

Page 56: CSE3: Fluency in Information Technology

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

Page 57: CSE3: Fluency in Information Technology

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.

Page 58: CSE3: Fluency in Information Technology

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

Page 59: CSE3: Fluency in Information Technology

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

Page 60: CSE3: Fluency in Information Technology

Single Instructions: Methods that act “on” some object

Page 61: CSE3: Fluency in Information Technology

Action Blocks in Alice

Sequential Action Block

Simultaneous Action Block

Page 62: CSE3: Fluency in Information Technology

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!

Page 63: CSE3: Fluency in Information Technology

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.

Page 64: CSE3: Fluency in Information Technology

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