Syllabus Application
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
- Email: inancarin@sabanciuniv.edu
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.
-
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.