170 likes | 237 Views
Computational Thinking. Suzanne Westbrook, PhD School of Information: Science, Technology, & Arts Computer Science Dept, UA. What is Computational Thinking (CT)?.
E N D
Computational Thinking Suzanne Westbrook, PhD School of Information: Science, Technology, & Arts Computer Science Dept, UA
What is Computational Thinking (CT)? • (Wing) “Computational thinking involves solving problems, designing systems, and understanding human behavior, by drawing on the concepts fundamental to computer science.” • (NSF program solicitation for Cyber-Enabled Discovery and Innovation) “Computational thinking is defined comprehensively to encompass computational concepts, methods, models, algorithms, and tools. … [it] promises a profound impact on the Nation’s ability to generate and apply new knowledge.” • What else?
Is CT new? Who thinks this way already? • Counting • Following directions • Using abstraction – building things (small or complex) • Solving problems by decomposition • Other examples? • We all use it every day!
So why isn’t everyone a computer scientist? What computer scientists do: • Learn to solve all sorts of problems using: • Problem abstraction • Problem decomposition • Data structures • Algorithms • Study “theory of computation” • What is computable? • How long does something take to solve? • How can we model a solution to a problem?
“What computer scientists do” cont’d • Use computers to implement our solutions • Understand how computers work and how to make them work better, faster, more efficiently, (more computer engineering area) • Work with people in other areas to solve interesting problems which often have large amounts of data to be stored and analyzed
Computing concepts can be applied to problems in other areas • Scheduling issues – who gets to go next? For how long? • Pipelining and pre-fetching – having info when you need it • Deadlock – what if everything is waiting for each other? Who “gives”? • “working set” – fast access to data; keeping frequently used things close by
More computing concepts • Data representation (structures) • Recursion • Divide and conquer • Backtracking • Heuristics
Data Structures • Examples • Lists • Stacks • Queues • Trees • Hash tables • Choice based on use – tradeoff of time versus space
Algorithms • The really creative part! Is an algorithm “elegant”? Is one algorithm faster than another that does the same thing? Is it correct? How does it operate when the amount of data (size n) gets really large? • Algorithms and data structures go hand in hand… • Storing data – search, modify, insertion, deletion
Why might non-CS people want to know more about CT? • To recognize how they use it already • To stimulate “out of the box” ideas for solutions to their problems • To more easily work with computer scientists in new ways – on multi-disciplinary teams • You might find that you want to be a computer/computing scientist – the world needs more!
UA’s SISTA • School of Information Sciences, Technology, and Arts • Core set of 5 classes: Great Ideas in the Information Age, Computational Thinking and Doing, Dealing With Data, Ethics in a Digital World, Statistics • Thematic courses: networks, sequences, others • Opportunities for students to develop common understanding of CT and relationships across disciplines • Increased opportunities for faculty to collaborate
Cool tech stuff for society– not just for Computer Scientists! • Smart phones – do we still need PCs? • Tablet PCs – making computers easier to use • Robots – aerial robotics, medical robots, domestic robots… • Computer vision • CAVE – 3D immersive environment • Surface computing – for example Microsoft’s Surface: http://www.microsoft.com/surface/ • What else?