Computational Approaches to Problem Solving (IF 100)

2020 Fall
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)
Hüsnü Yenigün yenigun@sabanciuniv.edu, İnanç Arın inancarin@sabanciuniv.edu, Duygu Karaoğlan Altop duygukaltop@sabanciuniv.edu,
Click here to view.
English
Undergraduate
--
Formal lecture,Recitation
Interactive,Learner centered,Task based learning
Click here to view.

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 30
Midterm 28
Exam 12
Assignment 20
Participation 10