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 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 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 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 Computational Thinking 4 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 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 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 Computational Thinking ct.cs.ubc.ca
No, really, I mean it: no goofing off on your computer/phone/tablet in class. • On the one hand, if you don’t want to learn and you only 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 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]. 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… 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” 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 Computational Thinking ct.cs.ubc.ca
How did people sort? 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. 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. Computational Thinking 15 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. Computational Thinking 16 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. 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]. 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?) 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 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. 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… 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& Computational Thinking ct.cs.ubc.ca
Computer Animation • How does it work? • How has it changed animated movies? 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 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 Computational Thinking ct.cs.ubc.ca
Recommend
More recommend