CS 101: Introduction to Computational Thinking
| Course Code | CS 101 |
| Course Name | Introduction to Computational Thinking |
| Department | Computer Science |
| Semester Offered | Odd (Term 1 - Dubai) |
| Tuition Hours | 30 hours (Theory) + 10 hours (Lab) |
| Course Level | Foundational |
| Pre-requisite | - |
| Co-requisite | CS 102: Rapid Web Development for AI Products |
| Course Objective | Programming is not about syntax. It is about thinking clearly enough to instruct a machine. This course introduces students to computational thinking as a way of solving real problems, not as an academic exercise. Python is used as a medium, not the goal. The real goal is to learn how to break messy, real-world problems into precise, executable steps. Students will learn to design algorithms, work with data, and integrate external AI systems through APIs. By the end of the course, they will be able to build small but complete systems that take inputs, process information, and produce useful outputs. The focus is simple: write code that works, ship it fast, and improve it through iteration. |
| Course Philosophy | This course emphasizes
|
| Course Learning Outcomes | Upon successful completion of this course, students will be able to:
|
| Course Author | Sagar Udasi MSc Statistics and Data Science with Computational Finance from The University of Edinburgh. Contact: sagar.l.udasi@gmail.com |
| Course Organiser | TBD Details will be updated before course commencement. |
| No. | Lecture Title | Concepts Covered | Lecture Objective |
|---|---|---|---|
| 01 | Why Computers Are Stupid (And That’s Their Power) | What is computation, instructions, determinism, abstraction | Build the right mental model: computers do exactly what you tell them. This is the foundation of writing correct programs. |
| 02 | How Do You Explain A Task To A Machine? | Algorithms, step-by-step thinking, pseudo-code | Teach students to think in procedures. This directly maps to building AI workflows later. |
| 03 | Your First Program That Actually Does Something | Python basics, inputs, outputs, variables | Move from theory to action quickly. Students write and run their first useful program. |
| 04 | Decisions: Teaching Machines To Choose | Branching logic, conditions, decision trees | Essential for building agents that respond differently based on user inputs or data. |
| 05 | Repetition Without Boredom | Looping, iteration, automation | Show how machines scale effort. Critical for data processing and automation tasks. |
| 06 | Data Is Just Organized Information | Lists, strings, basic data structures | Students learn how to store and manipulate real-world data. |
| 07 | How To Think Like A Debugger | Errors, debugging strategies, reading tracebacks | Debugging is a core skill. This lecture builds resilience and problem-solving ability. |
| 08 | Functions: Naming Your Thinking | Modularization, functions, reuse | Teach students to break systems into reusable components. Crucial for scaling projects. |
| 09 | Files: Making Your Code Remember Things | File I/O, reading and writing data | Enables persistence. Important for logs, datasets, and simple products. |
| 10 | From Raw Data To Insight | Basic data processing, transformations | Students start doing meaningful work with data, preparing for ML workflows. |
| 11 | The Internet Is A Giant API | APIs, HTTP requests, JSON | Introduces how software talks to other software. Foundation for AI integrations. |
| 12 | Talking To AI Models | Using AI APIs, prompts, responses | Students integrate real AI systems into their code. This directly feeds into their agent projects. |
| 13 | Automating A Real Task End-To-End | Combining logic, loops, APIs | Students build a complete workflow. This is a mini version of their microbusiness agent. |
| 14 | When Code Meets Users | Input validation, edge cases | Prepares students to handle real users, not ideal scenarios. |
| 15 | Speed vs Correctness: What Matters? | Trade-offs, iteration, MVP thinking | Instills product thinking. Shipping fast matters more than perfect code. |
| 16 | Making Code Readable (So You Don’t Hate Yourself Later) | Code structure, naming, clarity | Teaches maintainability. Important for long-term projects. |
| 17 | From Script To System | Structuring larger programs | Helps students transition from small scripts to real applications. |
| 18 | Failure Modes In Real Systems | Handling errors, robustness | Prepares students for real-world unpredictability in deployed systems. |
| 19 | Building Your First AI Microbusiness Engine | Putting everything together | Directly connects course learning to Term 1 capstone project. |
| 20 | Demo Day: What Did You Actually Build? | Presentations, feedback | Forces students to ship and reflect. |
Lab Sessions (7 Sessions)
| No. | Lab Title | Concepts Covered | Objective |
|---|---|---|---|
| L1 | Setup That Actually Works | Environment setup, running Python | Remove friction. Students should be able to code without setup issues. |
| L2 | Build A CLI Tool | Input/output programs | Create a usable command-line tool. |
| L3 | Automate A Boring Task | Loops, file handling | Apply automation to real problems. |
| L4 | Data Cleanup Sprint | Data manipulation | Work with messy real-world data. |
| L5 | First API Integration | API calls, JSON parsing | Connect code with external systems. |
| L6 | AI Workflow Builder | AI API integration | Build a simple AI-powered workflow. |
| L7 | Ship Your Micro Tool | End-to-end project | Deploy a usable tool that contributes to their AI agent. |
| Component | Weightage |
|---|---|
| Weekly Coding Assignments (5 total) | 30% |
| Lab Project (AI Workflow Tool) | 20% |
| Final Project: Microbusiness Component | 30% |
| Viva + Code Review | 20% |
| Type | Resource | Provider |
|---|---|---|
| Lecture | CS50’s Introduction to Programming with Python | Harvard (David Malan) |
| Lecture | Python for Everybody | Dr. Charles Severance |
| Reading | Automate the Boring Stuff with Python | Al Sweigart |
| Documentation | Python Official Documentation | python.org |
| Practice | LeetCode (Easy Problems) | LeetCode |
| Practice | HackerRank Python Track | HackerRank |