No prior programming skills? No problem! The Computational Thinking workshop is a 4-week hands-on course that will provide an introduction to computational thinking, programming, and basic data processing using Python, HTML, and JavaScript. The course will focus on learning the basics of Python programming language in the context of solving problems and answering questions using computational approaches. You will learn to plan, design, and implement software programs, leverage commonly-used algorithms, create simple web pages, and programmatically download and process data from social media websites.
- Python for Everybody: https://www.py4e.com/book
- Python Data Science Handbook: https://github.com/jakevdp/PythonDataScienceHandbook
- Introduction to algorithmic thinking
- Programming without Programming (Scratch)
- Introduction to Python
- Variables
- Boolean Logic
- Control Structures
- Lists
- Dictionaries
- Loops
- Functions
- Error Handling
- Reading Text Files
- Introduction to web technologies
- HTML
- Document Object Model (DOM)
- JavaScript
- JSON
- Web architecture, RESTful API
- Web Scraping
- BeautifulSoup, MechanicalSoup
- TwitterBots
Problem | Concepts Illustrated |
---|---|
SpaceInvaders | Basic programming concepts, algorithms, code structure, etc... |
Federalist papers | Variables, lists, control structures, for loop, reading text files |
BMI calculator | Variables, arithmetic operations, typecasting, user input |
Hangman | Variables, lists, control structures, while loop |
Prisoner's dilemma | |
Simple substitution cypher | Variables, string operations, list data structure, control structures, for loop |
Caesar's cypher | Variables, string operations, list data structure, control structures, for loop |
Family tree | |
Interest rate calculator | Variables, control structures, loops |
Rock, paper, scissors | Variables, lists, randomization |
Pig latin translator | Variables, string operations, lists |
Palindrome | Variables, lists, control structures, for loop |
Anagram | Variables, lists, control structures, loops, text file I/O, dictionaries |
Tic-tac-toe | |
Jumble puzzle creator | Variables, text file I/O, querying, string operations |