CPSC 100 Dr. Rachel Pottinger Course website: http://ct.cs.ubc.ca - - PowerPoint PPT Presentation

cpsc 100
SMART_READER_LITE
LIVE PREVIEW

CPSC 100 Dr. Rachel Pottinger Course website: http://ct.cs.ubc.ca - - PowerPoint PPT Presentation

Computational Thinking CPSC 100 Dr. Rachel Pottinger Course website: http://ct.cs.ubc.ca : Preliminary copies of slides: http://ct.cs.ubc.ca/slides.html Computational Thinking ct.cs.ubc.ca Administrative Notes Introductions No lab


slide-1
SLIDE 1

Computational Thinking ct.cs.ubc.ca

CPSC 100

  • Dr. Rachel Pottinger

Course website: http://ct.cs.ubc.ca :

Preliminary copies of slides: http://ct.cs.ubc.ca/slides.html

Computational Thinking

slide-2
SLIDE 2

Computational Thinking ct.cs.ubc.ca

Administrative Notes

  • Introductions
  • No lab this week
  • Slides will be at http://ct.cs.ubc.ca/slides.html
  • Preliminary ones will be there before lecture
  • Final “inked” ones will be there after lecture
slide-3
SLIDE 3

Computational Thinking ct.cs.ubc.ca

Learning Goals for the Course

  • [CT Building Blocks] use abstraction and decomposition to

clarify and simplify the critical pieces of a problem; choose appropriate models and representations to aid in solving the problem; recognize potential shortcomings in a model or solution; explain at a high level how the computer works;

  • [CT Application] explain specific algorithms that computers

use to create applications of computational thinking (e.g., data mining), and

  • [CT Impact] provide and explain examples of how

computers impact their lives and what this means for them, both in terms of how the computer can add to their lives and in things that they have to be careful of, such as privacy and security

slide-4
SLIDE 4

Computational Thinking ct.cs.ubc.ca

Learning Goals for Today

  • Understand the general outline of the course
  • Understand the definition of an algorithm and be

able to create one

4

slide-5
SLIDE 5

Computational Thinking ct.cs.ubc.ca

Meta point: what is a learning goal?

  • Meta-meta point: what is a meta point?
  • Meta: Pertaining to a level above or beyond. For

example, metadata is data that describes data, metalanguage is language that describes language, etc. (wiktionary)

  • A learning goal is designed to tell you what

information you should learn about a topic

  • At the beginning of the topic, the learning goal

may not even make any sense

  • By the end of a topic, it should help you know

what to study

slide-6
SLIDE 6

Computational Thinking ct.cs.ubc.ca

So how are you going learn?

  • The best way to learn is by doing, so you’ll be doing a

lot of “doing” in this course

  • You’ll have a group project (of your own choosing)
  • You’ll want to do some exercises
  • Labs are time for you to
  • Get hands on practice with a computer
  • Work on your project
  • “Lectures” will involve:
  • Doing exercises
  • Discussing the readings (in small and large groups)
  • My explaining concepts
slide-7
SLIDE 7

Computational Thinking ct.cs.ubc.ca

What does this mean for you?

  • You need to do the reading ahead of time
  • There will be a simple quiz for each reading – the

quiz is to motivate you read, not to trip you up

  • You need to come to class prepared to do

things

  • Bring paper and a writing implement
  • Bring an iClicker
  • If you have a laptop computer, you’ll

probably want to bring it – but no goofing off

slide-8
SLIDE 8

Computational Thinking ct.cs.ubc.ca

No, really, I mean it: no goofing off

  • n your computer/phone/tablet in class.
  • On the one hand, if you don’t want to learn and you
  • nly hurt yourself, that’s your problem.
  • On the other hand, you’re not hurting only yourself.
  • Researchers did a set of experiments where they

asked students to multitask:

  • “Students …who were asked to multitask averaged 11

per cent lower on their quiz.”

  • “Students … who were surrounded by laptops scored

17 per cent lower on their quiz.” http://www.cbc.ca/news/technology/laptop-use-lowers- student-grades-experiment-shows-1.1401860

slide-9
SLIDE 9

Computational Thinking ct.cs.ubc.ca

Okay! Let’s get started: What is computational thinking?

“Computational thinking is the thought processes involved in formulating problems and their solutions so that the solutions are in a form that can be effectively carried out by an information-processing agent” [Cuny, Snyder, Wing 10].

slide-10
SLIDE 10

Computational Thinking ct.cs.ubc.ca

Computational thinking example: sorting

  • One common computational thinking example

is sorting things

  • Why do we sort things?
  • Then we can find them!
  • It’s not just for computers:

http://www.seattletimes.com/video/46058124 22001/cross-country-rivalry-strong-in-annual- book-sorting-competition

  • Let’s do an example…
slide-11
SLIDE 11

Computational Thinking ct.cs.ubc.ca

Exercise – in groups

  • Take one deck of cards per group
  • Shuffle the cards
  • Select one person in your group to be “the

computer”

  • Only “the computer” is allowed to touch the cards

(after shuffling)

  • “The computer” must keep his/her eyes closed
  • No one else is allowed to touch “the computer”
slide-12
SLIDE 12

Computational Thinking ct.cs.ubc.ca

Goal: sort the deck of the cards

  • If you are missing cards, ignore them
  • If you have extra cards, set them aside
  • After you have finished sorting the cards, write

down how you did it

  • Reminder:
  • The computer must keep his/her eyes closed
  • Only the computer may touch the cards
  • No one may touch the computer
slide-13
SLIDE 13

Computational Thinking ct.cs.ubc.ca

How did people sort?

slide-14
SLIDE 14

Computational Thinking ct.cs.ubc.ca

Our first clicker question is up next. First, how to vote

  • Turn on the clicker by pressing the “On/Off” button.
  • A blue “Power” light will appear at the top of the remote.
  • Our clicker channel is the default – “AA”
  • When I ask a question in class (and start the timer),

select A, B, C, D, or E as your vote.

  • Check your “Vote Status” Light:
  • Green light = your vote was sent AND received.
  • Red flashing light = you need to vote again.

**Not sure you saw the light? Just vote again. **Want to change your vote? You can vote again as long as the timer is still going.

Normally these would be graded for class participation, but today’s just for fun.

slide-15
SLIDE 15

Computational Thinking ct.cs.ubc.ca

Clicker question

Did your group succeed in getting the cards sorted?

  • A. Yes, right away.
  • B. Yes, after 1-2 revisions to the instructions
  • C. Yes, but it took a long time to figure it out.
  • D. No.

15

slide-16
SLIDE 16

Computational Thinking ct.cs.ubc.ca

Clicker question

What was the main point you took away from the exercise?

  • A. Being able to see is really helpful.
  • B. This would have gone better if I had been the

computer.

  • C. Specifying a process precisely is hard.
  • D. Carrying out precise instructions is hard.

16

slide-17
SLIDE 17

Computational Thinking ct.cs.ubc.ca

When you decided how to sort, you created an algorithm

An algorithm is a precise, systematic method for producing a specified result.

slide-18
SLIDE 18

Computational Thinking ct.cs.ubc.ca

That’s computational thinking

“Computational thinking is the thought processes involved in formulating problems [fully specifying how the cards should be sorted] and their solutions [how you sorted the cards] so that the solutions are in a form that can be effectively carried out by an information-processing agent [the blindfolded team member]” [Cuny, Snyder, Wing 10].

slide-19
SLIDE 19

Computational Thinking ct.cs.ubc.ca

What will we study about computational thinking (CT) in this course?

  • CT building blocks (e.g., sorting algorithms)
  • CT applications (e.g., artificial intelligence)
  • CT impact (e.g., will robots take over the

world?)

slide-20
SLIDE 20

Computational Thinking ct.cs.ubc.ca

Why should you study computational thinking?

  • Computers are everywhere
  • Jobs today increasingly use computers (

http://www.npr.org/blogs/money/2012/01/13/1 45039131/the-transformation-of-american- factory-jobs-in-one-company )

  • Designing cars
  • Factory workers
  • DJs
slide-21
SLIDE 21

Computational Thinking ct.cs.ubc.ca

This class will help you understand computers and what they do

Have you ever had the computer do something really crazy? It drives you nuts and you have no idea why it’s doing that? It’s much more fun when you can figure out what’s going on.

slide-22
SLIDE 22

Computational Thinking ct.cs.ubc.ca

Plus, it’s even more fun to look at computing applications and their impact Let’s face it. How many people out there are really excited about “the computer”? Most of us are more interested in what it can do for us! Like…

slide-23
SLIDE 23

Computational Thinking ct.cs.ubc.ca

Data mining

  • Ever wonder what those loyalty cards are for?
  • Companies use them to see what people buy

in order to increase sales

  • Case study: Target decided to market to

pregnant women http://www.nytimes.com/2012/02/19/magazine/s hopping-habits.html?pagewanted=1&_r=2&hp&

slide-24
SLIDE 24

Computational Thinking ct.cs.ubc.ca

Computer Animation

  • How does it work?
  • How has it changed animated movies?
slide-25
SLIDE 25

Computational Thinking ct.cs.ubc.ca

How is your grade determined?

  • Active class participation (5%)
  • Reading quizzes (5%)
  • Laboratory assignments (10%)
  • Student-directed group project (15%)
  • Computing in the news or PeerWise (5%)
  • Midterm exams (20%) – October 4 & November 15
  • Final exam (40%) – date TBD.

Those are the graded things. You’ll want to practice on your own, too; we’ll post practice questions

slide-26
SLIDE 26

Computational Thinking ct.cs.ubc.ca

Class participation (5%)

  • Preparation before class
  • Clicker responses
  • In-class exercises
  • Discussion board postings
  • TA and instructor evaluations of individual

students' participation

slide-27
SLIDE 27

Computational Thinking ct.cs.ubc.ca

Reading Quizzes (5%)

  • Brief question generated while reading the assigned

material in preparation for class.

  • They are due by 9pm on Monday or Wednesday

before lecture.

  • Mostly multiple choice. Sometimes we may ask you to

ask questions about what you’ve read. Those are graded on a 0, 1, 2 scale:

  • 0 marks: for not participating or submitting a frivolous

question

  • 1 mark: for any question(s) that shows real thought and

effort

  • 2 marks: for an outstanding question(s) (all questions

selected for discussion in class earn 2 marks)

slide-28
SLIDE 28

Computational Thinking ct.cs.ubc.ca

Lab assignments (10%)

  • Hands on experience on topics covered in

class

  • They are due at the end of your lab
  • Released on Fridays for you to review during

weekend

  • May require some pre-lab work
slide-29
SLIDE 29

Computational Thinking ct.cs.ubc.ca

Course Project (15%)

  • Very exciting part of the course – you get to

do something that reflects your interests! You can work on:

  • CT building blocks (e.g., program something,

explore algorithms)

  • CT application (e.g., investigate how data mining

is helping to determine cancer treatment)

  • CT impact (e.g., investigate how Facebook has

changed society)

  • Groups will be formed from your labmates, so

get to know them!

slide-30
SLIDE 30

Computational Thinking ct.cs.ubc.ca

Computing in the news & PeerWise (5%)

We’ll spend some time looking at computing in the news. You will help decide which news articles we discuss and/or PeerWise: submit and answer questions based

  • n the material to use in studying… and may be

used on exams

slide-31
SLIDE 31

Computational Thinking ct.cs.ubc.ca

Exams

  • In-class midterm exams (20%) – October 4 &

November 15

  • Final exam (40%) – date TBD. Do not plan on

leaving town until after the exam period!

  • Passing Criteria:
  • Obtain at least a 50% overall mark
  • 50% or greater on the course project
  • 50% or greater on the final examination
slide-32
SLIDE 32

Computational Thinking ct.cs.ubc.ca

Policies

  • University policy and departmental guidelines
  • n academic conduct will be followed strictly
  • Lateness and Make-Up Policies: Assignment

deadlines will be strictly and automatically

  • bserved.
  • Scoring schemes for reading quizzes has been

designed so that it is possible to achieve a full aggregate score even if something unexpected happens.

slide-33
SLIDE 33

Computational Thinking ct.cs.ubc.ca

Where to find information

 Start with the course website (http://ct.cs.ubc.ca); it

has links to everything else you need

 Discussions will be held on Piazza:

piazza.com/ubc.ca/winterterm12016/cpsc100/home We’ll cover how to sign up in lab

 You are responsible for checking in at least once

every day or two.

 Please direct all course-material questions to the

discussion threads, not to email – you will get help much more quickly that way – both from course staff and from other students.

33

slide-34
SLIDE 34

Computational Thinking ct.cs.ubc.ca

Email & Discussion Etiquette

 Only send email if you can't post the

material on Piazza

personal issues, sample solution code

 Use meaningful subject headings

OK: “Snap won’t load in Chrome”

NOT OK: “HELP IM STUCK :( :( “

34

slide-35
SLIDE 35

Computational Thinking ct.cs.ubc.ca

Have you noticed this is a new course?

  • To make sure it’s fair, we may scale up, but

we won’t scale down

  • We’re interested in your feedback to help

improve the course

  • If you have feedback, please tell us!
  • Come talk to me!
  • Anonymous course survey
  • Join the course committee

NEW!

slide-36
SLIDE 36

Computational Thinking ct.cs.ubc.ca

Other Information

  • Make sure to follow up on To-Do’s listed on the web

page and read announcements

  • Check the web page to learn about course staff,

labs, exams and more

  • Acknowledgements: Thanks to Meghan Allen,

Warren Code, Anne Condon, Jessica Dawson, Will Evans, Holger Hoos, Piam Kiarostami, Hassan Khosravi, Joseph Luk, Tristram Southey, Dave Tompkins, Kimberly Voll, Steve Wolfman, Jessica Wong and many others for valuable contributions to the slides and materials throughout.

36

slide-37
SLIDE 37

Computational Thinking ct.cs.ubc.ca

Learning Goals for Today [review]

  • Understand the general outline of the course
  • Understand the definition of an algorithm and be

able to create one

37