Introduction to Computational Thinking and Problem Solving
Course Aim:
This course aims to introduce students to the fundamental principles of computer science and computational thinking without assuming prior programming experience. Students will learn how to approach problem-solving methodically, how to structure and represent problems, and how to design algorithmic solutions using control flow, data flow concepts, and basic modeling techniques. Emphasis is placed on the development of logical reasoning, problem decomposition, abstraction, and the use of flowcharts, pseudocode, and other diagramming tools and to formalize problem solutions. Students will also be introduced to simple algorithm design strategies and concepts of data and control flow such as sequence, selection (branching), iteration (loops), and modularization (functions). Rather than focusing solely on coding, the course builds the foundational thinking skills necessary for success in all areas of computing.
Course contents:
Introduction to Computational Thinking, Representation of Algorithms, Problem-Solving Techniques, Control Flow Concepts, Data Flow Concepts, Introduction to Simple Algorithms, Developing and Validating Algorithms, Data Representation and Numbering Systems, Ethical Computing, Case Studies and Applications.