Syllabus
Syllabus
Theme 1: Introduction
Why is the teaching and communication of computational thinking a key initiative at companies such as Google? Is computational thinking different from programming? The history of computational thinking – who was Muhammad ibn Musa al-Khwarizmi?
Theme 2: Key Elements of Computational Thinking – An overview
Decomposition, Pattern Recognition, Abstraction, Analysing Abstractions, Algorithmic Design
What is modelling? Why the need to formulate problems as ‘computational problems’. Introduction to the use of visualization techniques to answer questions about real-world events.
Theme 3: A language for Computational Thinking
Wolfram Language – what it is, how it can be used with real-time data and how it integrates with Wolfram Alpha (Wolfram’s computational knowledge engine). Applications to literature and the arts with the visualization of data (real-time if applicable).
Theme 4: Decomposition & Pattern Recognition
Matching DNA strings, The Rosalind Project
Link to Mathematics – the science of patterns
Theme 5: Abstraction and Algorithmic Design
Layers of abstraction, decision trees, iterations
Variables, variable types, states
Block diagrams
Theme 6: Algorithms at work
What is a hash? How does encryption work?
The societal impact of computation
Theme 7: Neural Networks
The design (architecture) of neural networks – nodes, input and output layers
The learning process, adaptivity, self-organization, fault-tolerance
The function of specialized chips
Theme 8: Machine Learning
What is machine learning and how is it different from traditional AI?
How is it different from standard algorithms in computer science?
How can open-ended problems be approached - deep learning?
Theme 9: A new way to do business
Distributed Ledgers – removing the middlemen in finance
Distributed Ledgers - transparency and traceability of transactions
Blockchains – the key algorithms at the heart of distributed ledgers
Secure, verifiable and unique digital identities
Theme 10: A new way to pay
Cryptocurrencies, anonymity
Bitcoin, Ethereum
Coin exchanges
Theme 11: A new way to transact
Notarization of transactions, proof-of-existence
Smart contracts – contracts between parties without intermediaries
Smart titles
Theme 12: Trends in fintech
Smart beta, algo-trading
Initial coin offerings for raising capital
Tokenization of assests
Assessments
Assessments
Lab Sessions: 20%
During the Lab Sessions, you will learn how to write basic programs in the high-level Wolfram Language. Each lab session will have a graded task that needs to be completed by the end of the session. These tasks will be limited in scope to guide you through the course material and incorporate notions from problem-based learning. Most weeks, except for the first and last couple of weeks will have a lab session. You will be allowed to work in small teams of 2 to 3 persons but graded individually.
Homework: 10%
Homework assignments will consider recent topics from the news and answer questions about related relevant real-world data by analysing them with the help of computational thinking. This may involve some basic programming in the Wolfram Language.
Midterm: 40%
The midterm is an individual assessment. The main objective is ensuring that you are familiar with the materials presented in the lectures and explored during the lab sessions.
Research Paper: 10%
The research paper is an individual assessment. You should address an aspect of the group presentation in more detail (such that each group member has a different focus). The paper should end with a general reflection of what Thinking 4.0 means to you and what it means for society.
Group Presentation: 20%
For the group presentation, you will need to analyse and explore a system of choice according to the notions of computational thinking. Each group will consist of about 4 students.