Computational Thinking

ENFE600002

Prerequisites

Course Type

Compulsory

Credit Hours

2

Course Description

This course introduces computational thinking, emphasizing problem-solving strategies and applying computational methods. Students will learn how to break down complex problems, recognize patterns, create algorithms, and abstract solutions in a structured way. Emphasis is placed on the practical application of these techniques using programming languages. By the end of the course, students will be able to apply computational methods effectively to solve real-world problems and implement their solutions in a programming language, such as Python.

Course Learning Outcomes

  • Apply computational methods to solve problems (C3).
  • Implement computational solutions using programming languages (C3).

Course Content / Syllabus

  • Pillars of Computational Thinking

    • Decomposition
    • Pattern recognition
    • Data representation and abstraction
    • Algorithms
  • Algorithm Representation

    • Expressing algorithms using flowcharts
    • Expressing algorithms using pseudocode
  • Algorithm Design and Analysis

    • Finding the largest and smallest values
    • Linear search and binary search
    • Algorithm complexity
    • Brute force algorithm
    • Greedy algorithm
  • Introduction to Python

    • Overview of Python language
    • Applications and environments for creating Python programs
  • Programming Basics in Python

    • Input and output programs
    • Storing data in variables
    • Conditional selection
  • Data Structures in Python

    • Lists
    • Dictionaries
    • Tuples
  • Control Flow in Python

    • Loops and iteration
    • Functions
  • Object-Oriented Programming (OOP)

    • Principles and implementation of OOP in Python

Recommended References

  1. David Riley dan Kenny A. Hunt, Computational Thinking for the Modern Problem Solver, edisi ke-1, Wiley, 2014.
  2. Sofia De Jesus dan Dayrene Martinez, Applied Computational Thinking with Python, Packt Publishing, 2020.
  3. Karl Beecher, “Computational Thinking: A Beginner’s Guide to Problem-Solving and Programming”, BCS, The Chartered Institute for IT, 2017.
  4. John Hunt, A Beginners Guide to Python 3 Programming, 2nd Edition, Springer 2023.
  5. Paul Deitel & Harvey Deitel, “C How to Program”, 9th edition, Pearson, 2022