COMP 101 - Problem-Solving and Computational Thinking

Description

During the first week, you’ll dive into the fundamentals of problem-solving and computational thinking, focusing on solving problems using top-down design. By the end of the week, you’ll be equipped with a programmer’s mindset, ready to tackle real-world problems.

Prerequisite

Duration

none1 week

Curriculum

Week 1

Day 1 - Object-Oriented Paradigm & Defining New Methods

  • The fundamentals of the Object-Oriented Paradigm (OOP) including classes, objects, inheritance.
  • How to define new methods within classes, including syntax, parameters.

Day 2 - Decomposition & Control Statements

  • Break complex problems into manageable sub-problems or modules.
  • Decision making (if-else, switch-case) and iterative loops (for, while) to manage the flow of a program.

Day 3 - Stepwise Refinement & Top-Down Design

  • Iteratively refining a solution by breaking it into progressively detailed steps.
  • Starting from a high-level overview and designing the system by decomposing it into sub-systems.

Day 4 - Precondition and Post Condition

  • The concept of Precondition: What must be true before a method or function is executed.
  • The concept of Post Condition: What must be true after execution, ensuring the method's intended outcome.
  • How these conditions support design-by-contract principles to improve reliability and debugging.

Day 5 - Algorithms

  • The definition and importance of algorithms in solving problems.
  • Common algorithmic strategies (e.g., sorting, searching) and their efficiency considerations.