Course Design Document IS103 Computational Thinking (CT

)

Version 2.2 17 August 2013

“Computational thinking confronts the riddle of machine intelligence: What can humans do better than computers? What can computers do better than humans? Most fundamentally it addresses the question: What is computable?" Prof. Jeannette Wing, Carnegie Mellon University

.

................................................................................................ 7! (3) 3 Project Phases (total of 30%) ....... 6! Basic Modules .............SMU School of Information Systems Table of Content 1..............................................................................................................................1 Course Schedule Summary ..................................... 6! Instructional Staff .........! Tooling 8................................................................................................! Resources 7...........! Output and Assessment Summary (1) Class Participation (10%) ..............................................................................................! Versions History 2.................................................................................................! Classroom Planning 5................................................................................... 6! 3........................................ 7! (4) 1 Final Exam (35%) ....... 6! Objectives ................................................................................ 8! 6............................................. 7! 5...........................................................................................................................................2 Weekly Plan (see Section 6 on acronyms) .........................! Group Allocation for Projects 5..............................................................................................................................................................................! Overview Synopsis ........! Learning Outcomes 5! 6! 7! 7! 7! 8! 9! 9! IS103 Computational Thinking Page 4 ............... 7! (2) 4 In-class Quizzes (best three out of four: total of 25%) .................... 7! 4.............................. 6! Prerequisites ....................................

0 2.SMU School of Information Systems 1.1 2. Versions History Version 1.0 2.2 Change Description Initial release for use in 2011 Term 2 Revision for use in 2012 Term 1 Revision for use in 2012 Term 2 Revision for use in 2013 Term 1 Author Lau Hoong Chuin Hady Wirawan Lauw Lau Hoong Chuin Hady Wirawan Lauw Date 10-Oct-2011 27-Jun-2012 31-Dec-2012 17-Aug-13 IS103 Computational Thinking Page 5 .

the student will: • discover the science of computing (or How to think like a Computer Scientist) • model problems and learn practical problem-solving techniques to tackle complex computational problems (beyond what a spreadsheet is capable of solving) • apply problem-solving techniques to develop more elegant and efficient programs • learn to write programs to represent and manipulate with complex data objects • understand the challenge of scale. discrete mathematics. Their minds will be open to the wonders of computing.smu. as they go behind the scene to unravel the fundamental analytics that empower social networking sites. consulting agencies and service companies. data structures and algorithm design. It draws upon concepts from mathematics and computer science – more precisely.SMU School of Information Systems 2. not only in dealing with large data sets.edu. This course will hone students’ analytical skills as they are challenged to think abstractly and computationally.sg) o MOK Heng Ngee (hnmok@smu.sg.sg) • TAs: o HOANG Tuan Anh tahoang. it trains students to design solutions to solve those problems using a computer program.edu.2011@phdis. IS103 Computational Thinking Page 6 . Overview Synopsis Computational Thinking equips students to tackle complex computational problems.edu. but also in appreciating the nature of computing and computability Basic Modules Introduction to Algorithm Design and Analysis Abstract Data Structures Selected Topics in Computational Thinking 3 weeks 4 weeks 3 weeks Instructional Staff • Instructors: o Hady Wirawan LAUW (hadywlauw@smu. Prerequisites NIL Objectives By taking this course.

edu. Group Allocation for Projects Project Phase Phase 1 Phase 2 Phase 3 How groups are formed? Team No of Students in a group 2 5.edu.sg 3.smu. Output and Assessment Summary (1) Class Participation (10%) (2) 4 In-class Quizzes (best three out of four: total of 25%) (3) 3 Project Phases (total of 30%) (4) 1 Final Exam (35%) 4.2011@sis.sg o G3: CHAN Weitian wt. queue.2011@sis.smu.SMU School of Information Systems o G1: LAI Xin Chu xinchu. and priority queue Good Things Come in Pairs Modeling hierarchical relationships with binary trees Recess Break It’s a Small World After All Modeling networks with graphs Reasoning about a highly-connected cyber and physical world Solving problems with graphs The Traveling Salesman Heuristics for computationally demanding problem Events Quiz 1 Ruby Competency Quiz 2 Project – Phase 1 Quiz 3 Project – Phase 2 Lesson by Prof Lau Hoong Chuin Page 7 IS103 Computational Thinking . divided into two sessions with a 15 minutes break in between. and the First Last Linear data structures: stack. 5. Classroom Planning There is one 3-hour classroom session per week.lai.smu.chan.1 Course Schedule Summary Wk Theme 1 Introduction & The Ruby Workbench Introducing Ruby and RubyLabs environment 2 The Sieve of Erastothenes An algorithm for finding prime numbers 3 A Journey of A Thousand Miles Iteration as a strategy for solving computational problems 4 Divide and Conquer Breaking large problems into smaller subproblems 5 When Words Collide Organizing data for more efficient problem solving 6 7 8 9 10 11 So the Last shall be First.sg o G2: SEAH Siu Ngee snseah.2010@sis.edu.

Chp 10 6. Chp 6 JSC. Counting Iterative Algorithms (Linear Search. 12. QuickSort) Index-based Data Structures (Hash Table) Linear Data Structures (Stack. 2012. McGraw-Hill. Chp 1. Chp 6 PC. Chp 3 SDB. 2012. Chp 5 SDB. Released over eLearn. Queue. • [Handout] Supplementary Handout on Fundamental Data Structures provided by instructors. Insertion Sort).. Chp 14 JSC. Explorations in Computing: An Introduction to Computer Science. limits of computation Now let’s put everything together Study break FINAL EXAM (26 Nov 5-8pm) Quiz 4 Project – Phase 3 Final Exam 5. Kenneth H. Chp12 JSC. shortest path) Heuristics (greedy algorithm. Chp 6 1. 2011. limits of computation) Review Study break FINAL EXAM (26 Nov 5-8pm) Advanced Reading (Optional) JSC.. Chp 5 & 13.2 Handout Chp 2 PC. Chapter 6 Counting. CRC Press. John S. Chp 4 PC. Chp 3 PC.2 Weekly Plan (see Section 6 on acronyms) Wk Topic Text Reference 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Intro to Computational Thinking.2 JSC.SMU School of Information Systems 12 13 14 15 Special Topics in Computational Thinking: regular expressions. Chp 7. 8. • Supplementary Handouts: • [KHR] Rosen. Resources Primary Texts: • [JSC] Conery. Chp 4 2 JSC. Chp 10 JSC. RubyLabs Workbench Algorithmic Thinking. Merge Sort. Priority Queue) Binary Tree and Binary Search Tree Huffman Encoding and Huffman Tree Recess Break Graphs Graph algorithms (topological sorting. Computational Complexity Decomposition and Recursion (Binary Search. Discrete Mathematics and Its Applications. Chp 11 JSC. 7th Edition.2 Handout Chp 1 PC. • Additional texts for further reading on more advanced materials (optional): • IS103 Computational Thinking Page 8 . Chp 1 & PC. Chp 7 Handout Chp 3 PC.1KHR. local search) Special topics (regular expressions.

design and development skills 2.3 Implementation skills Y 2.3 Business software solution impact analysis skills 2 IT architecture.cs4fn. Learning Outcomes IS103– Computational Thinking Course-specific core competencies which address the Outcomes Faculty Methods to Assess Outcomes 1 Integration of business & technology in a sector context 1.cs.php 7.cmu. However.html • Dartmouth College CT course: http://www.google.1 Scope management skills 3.dartmouth.2 Risks management skills 3.http://www.cs.4 Configuration management skills 3. space-time tradeoff • Translate representation and solution design into Ruby code (by tweaking existing code) Acquire the following skills: • recursive thinking • abstraction and decomposition • heuristic reasoning • design with simplicity and elegance Grade Assignments.2 Cost and benefits analysis skills 1.html • Google on CT http://www.1 System requirements specification skills YY • Translate problems into computational problems formally • Identify and design appropriate representation and solution to solve computational problems • Explain issue with scale and computational efficiency.org/fundamentals/index.5 Quality management skills 4 Learning to learn skills IS103 Computational Thinking Page 9 . Data Abstraction and Problem Solving with Java: Walls and Mirrors.edu/~CompThink/ • CT course http://www.andrew.edu/~cs3/index. 3/E.com/edu/computational-thinking/ • Computer Science for Fun . 8. and RubyLabs environment for computational experiments).2 Software and IT architecture analysis and design skills YY 2. Final Exam and Class Participation 2.3 Project integration and time management skills 3. students will be exposed to tools (such as Ruby programming language.cmu. Tooling The course is mostly conceptual so that it can be available to students without programming background.edu/course/15-122/index1.1 Business IT value linkage skills 1. 2011 • Interesting web links: • Centre for Computational Thinking http://www.4 Technology application skills YY 3 Project management skills 3.SMU School of Information Systems • • Available in SMU Library Course Reserves [PC] Prichard and Carrano. There will be in class demos and hands-on sessions of these tools.

data structures.2 Skills to implement and sustain business changes Skills for working across countries.1 Skills to improve the effectiveness of group processes and work products 6 Change management skills for enterprise systems 6.1 Presentation skills Y 8.1 Skills to diagnose business changes 6.2 Skills for developing a methodology for learning 5 Collaboration (or team) skills: 5. explain algorithm design concisely and convincingly • Express problem definition.1 Search skills • Independently investigate other problem-solving techniques not taught/discussed in class (through supplementary readings) • Self-learn the use of software tools (Ruby.2 Writing skills Y YY This sub-skill is covered partially by the course This sub-skill is a main focus for this course YY Grade Assignments IS103 Computational Thinking Page 10 . cultures and borders 7.2 Business across countries facilitation skills 8 Communication skills • Prepare and deliver effective technical presentations.SMU School of Information Systems Y 4. algorithm design formally Grade and give feedback to participation in in-class exercises 7 8.1 Cross-national awareness skills 7. RubyLabs) and use them for in class exercises and assignment Grade Class participation and Team Assignment 4. particularly on problem definition and solution design in formal yet intuitive fashion.

Sign up to vote on this title
UsefulNot useful