Public View

You are viewing the public version of the syllabus. If you have a SUNet account, you can view the richer version of the syllabus after logging in.

IF 100
Computational Approaches to Problem Solving

Faculty Faculty of Engineering and Natural Sciences
Semester Summer 2025-2026
Course IF 100 - Computational Approaches to Problem Solving
Time/Place
Time
Week Day
Place
Date
17:40-19:30
Tue
FENS-G035
Jul 6-Aug 21, 2026
17:40-19:30
Wed
FENS-G035
Jul 6-Aug 21, 2026
Level of course Undergraduate
Course Credits SU Credit:3, ECTS:5, Engineering:5
Prerequisites -
Corequisites IF 100R
Course Type Lecture

Instructor(s) Information

İnanç Arın

Course Information

Catalog Course Description
The course is an introduction to the key concepts in computational thinking such as algorithmic thinking, abstraction and decomposition. The students will also gain basic programming skills in order to apply computational thinking concepts in practice. Through the lectures, homeworks, and interactive recitations specific to different disciplines, the students will learn how to design algorithms, how to divide a problem into subproblems, and how to build a solution by means of compositions. Evaluation of the solutions in terms of correctness and efficiency will also be covered. In order to enable students apply computational thinking skills in practice, basic programming concepts, such as variables, statements, conditionals, iteration, and functions will be introduced by using a simple programming language such as Python.
Learning Outcomes:
1. Apply computational thinking to analyze and solve problems from diverse disciplines by designing solution strategies, expressing them in formal representations, evaluating and refining solutions, and justifying correctness under stated assumptions and constraints.
2. Use fundamental computational constructs (e.g., variables, arithmetic, input/output, control flow, repetition) to implement solutions in a structured and systematic way with a programming language.
3. Select and manipulate appropriate data representations, and apply modular decomposition to model information in ways that support abstraction and reuse.
4. Analyze, interpret and process data from external real-world sources by selecting appropriate data structures and applying suitable processing methods.
Course Objective
The course is an introduction to the key concepts in computational thinking such as algorithmic thinking, abstraction and decomposition. The students will also gain basic programming skills in order to apply computational thinking concepts in practice.

Through the lectures, take-home exams, and interactive recitations specific to different disciplines, the students will learn how to design algorithms, how to divide a problem into subproblems, and how to build a solution by means of compositions. Evaluation of the solutions in terms of correctness and efficiency will also be covered.

In order to enable students to apply computational thinking skills in practice, basic programming concepts, such as variables, statements, conditionals, iteration, and functions will be introduced by using a simple programming language such as Python.
-

Course Materials

Resources:
Technology Requirements:

Policies