### Computational Approaches to Problem Solving (IF 100)

2020 Summer
Faculty of Engineering and Natural Sciences
Interfaculty Course(IF)
3
5.00 / 5.00 ECTS (for students admitted in the 2013-14 Academic Year or following years)
İnanç Arın inancarin@sabanciuniv.edu,
English
--
Formal lecture,Recitation

### CONTENT

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.

### 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, 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 OUTCOME

Define and apply computational thinking and its components for problem solving
Understand and use variables, assignments and basic input/output
Understand and use conditional statements
Understand and use loop statements and its importance in abstraction and pattern recognition
Understand and use data types and their methods
Understand and use functions for code modularity and its importance in decomposition and abstraction
Perform simple text file I/O operations

### ASSESSMENT METHODS and CRITERIA

 Percentage (%) Final 35 Midterm 30 Assignment 20 Participation 15