Computational Approaches to Problem Solving (IF 100)

2020 Spring
Faculty of Engineering and Natural Sciences
Interfaculty Course(IF)
3
5
Duygu Karaoğlan Altop duygukaltop@sabanciuniv.edu, İnanç Arın inancarin@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 OUTCOMES

  • 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

PROGRAMME OUTCOMES


1. Understand the world, their country, their society, as well as themselves and have awareness of ethical problems, social rights, values and responsibility to the self and to others. 5

2. Understand different disciplines from natural and social sciences to mathematics and art, and develop interdisciplinary approaches in thinking and practice. 5

3. Think critically, follow innovations and developments in science and technology, demonstrate personal and organizational entrepreneurship and engage in life-long learning in various subjects; have the ability to continue to educate him/herself. 5

4. Communicate effectively in Turkish and English by oral, written, graphical and technological means. 5

5. Take individual and team responsibility, function effectively and respectively as an individual and a member or a leader of a team; and have the skills to work effectively in multi-disciplinary teams. 4


1. Possess sufficient knowledge of mathematics, science and program-specific engineering topics; use theoretical and applied knowledge of these areas in complex engineering problems. 5

2. Identify, define, formulate and solve complex engineering problems; choose and apply suitable analysis and modeling methods for this purpose. 5

3. Develop, choose and use modern techniques and tools that are needed for analysis and solution of complex problems faced in engineering applications; possess knowledge of standards used in engineering applications; use information technologies effectively. 5

4. Have the ability to design a complex system, process, instrument or a product under realistic constraints and conditions, with the goal of fulfilling specified needs; apply modern design techniques for this purpose. 5

5. Design and conduct experiments, collect data, analyze and interpret the results to investigate complex engineering problems or program-specific research areas. 3

6. Possess knowledge of business practices such as project management, risk management and change management; awareness on innovation; knowledge of sustainable development. 2

7. Possess knowledge of impact of engineering solutions in a global, economic, environmental, health and societal context; knowledge of contemporary issues; awareness on legal outcomes of engineering solutions; knowledge of behavior according to ethical principles, understanding of professional and ethical responsibility. 1

8. Have the ability to write effective reports and comprehend written reports, prepare design and production reports, make effective presentations, and give and receive clear and intelligible instructions. 1


1. Develop knowledge of theories, concepts, and research methods in humanities and social sciences. 3

2. Assess how global, national and regional developments affect society. 1

3. Know how to access and evaluate data from various sources of information. 1

ASSESSMENT METHODS and CRITERIA

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