Computational thinking is a systematic and creative approach to problem solving. It involves analysis and formalization of complex problems, understanding and designing algorithms, as well as divergent and convergent ways of thinking.
Note: This is a self-paced open course without assignments or peer interaction and its purpose is to provide useful material and directions for people interested in computational thinking or programming, in general.
Enrollment Period: August 5 – September 15
Course Attendance: Free
Course Certificate: Not available
Enroll to Course / Visit the coursePublished: 9 Sep 19 |
Subject: Computer Science |
Language: English |
Length: 4 weeks |
Level: Introductory |
Multimedia: EN |
Type: Instructor-Led Training |
Effort: 3-5 hours / week |
Prereq.: No prior experiece is needed |
Institution:: Aarhus University |
License: Creative Commons BY NC SA |
Computational thinking is a problem solving method that uses concepts and ideas from Computer Science. However, as this course will demonstrate, you do not have to be a computer scientist to use computational thinking. On the contrary, computational thinking has been marked as a fundamental 21st Century skill that is essential for everyone in any field.
Problem solving with computational thinking involves four steps: decomposition (breaking down a complex problem into smaller ones), pattern recognition (identifying patterns in data and sub-problems), abstraction (focusing only on the essential), and algorithm design (creating a solution “recipe”).
Finally, the course can also be seen as a preparatory course for participants that want to continue their education with another course on programming.
Topics: Computational thinking, examples, mind maps.
Vocabulary: Abstraction, algorithm, algorithm design, automation, data analysis, data collection, data representation, decomposition, parallelization, pattern recognition.
Practice: Drawing diagrams with draw.io. Self-assessment quiz.
Assignments: Identify a problem, decompose it, and draw its mind map.
Peer assessment: Assess each other’s mind maps.
Chat activity: Given a problem, discuss its algorithm, through CT steps.
Topics: Search algorithms (linear, jump, binary), sort algorithms (bubble sort, merge sort).
Vocabulary: Linear search, jump search, binary search, bubble sort, merge sort.
Practice: Self-assessment quiz.
Assignments: Create a description of an algorithm in natural language.
Peer assessment: Assess each other’s algorithms.
Chat activity: Given a problem, discuss the best and most efficient algorithm.
Topics: Algorithm complexity, flowcharts.
Vocabulary: Algorithm complexity, constant, exponential, factorial, flowchart, linear, linearithmic, logarithm, logarithmic, quadratic, square root.
Practice: Describe a known algorithm through a flowchart. Self-assessment quiz.
Assignments: Write an algorithm and describe it through a flowchart.
Peer assessment: Assess each other’s flowcharts.
Chat activity: Given a problem, discuss the algorithm represented through a flowchart. Discuss variations and characteristics of the flowchart and the respective algorithm.
Topics: Pseudocode, conditional statements, repetition statements
Vocabulary: IF, IF…ELSE IF, FOR, WHILE.
Practice: Describe an algorithm through pseudocode. Self-assessment quiz.
Assignments: Write an algorithm and describe it through pseudocode.
Peer assessment: Assess each other’s pseudocode
Chat activity: Discuss the algorithm represented through pseudocode. Discuss variations and characteristics of the pseudocode and the respective algorithm.
Dr Pantelis M. Papadopoulos Dr Pantelis M. Papadopoulos is an Associate Professor at the Centre for Teaching Development and Digital Media at Aarhus University, Denmark (pmpapad@tdm.au.dk). He holds a PhD in ICT in Education from the Department of Informatics at Aristotle University of Thessaloniki, Greece. Before joining AU, he held academic positions in Aristotle University of Thessaloniki, Greece; United Nations University, Macau SAR, China; and Carnegie Mellon University in Qatar, Qatar. His research interests include educational technology, computer supported collaborative learning, innovative and emerging technologies in education, and learning analytics. The outcomes of his research have been published in more than 60 international journals and conferences. He is a member of the EU Network of Excellence Kaleidoscope, the Institute of Electrical and Electronics Engineers (IEEE), the International Society of the Learning Sciences (ISLS), and the Association for the Advancement of Computing in Education (AACE). |
This project has been funded with support from the European Commission. This publication reflects the views only of the author, and the Commission cannot be held responsible for any use which may be made of the information contained therein.