| Course Type | Compulsory Course |
| Course Level | Bachelor's Degree |
| Year of Study | 1 |
| Semester | Second Term (Spring) |
| ECTS | 5 |
| Name of Lecturer(s) |
- |
| Learning Outcomes |
At the end of this course, the students;
- Explain the fundamental concepts of algorithmic problem solving and programming,
- Solve problems using input-output, decision, and loop structures and implement their solutions in Python,
- Develop modular Python programs using functions,
- Solve basic searching, sorting, and data processing problems using Python data structures,
- Develop, execute, test, and debug Python programs.
|
| Mode of Delivery | Face to face |
| Prerequisites | No |
| Recommended Optional Programme Components | None |
| Course Description | Fundamental concepts of problem solving and algorithmic thinking. Programming and program development processes. Introduction to the Python programming language. Development, execution, testing, and debugging of Python programs. Variables, fundamental data types, operators, and input-output operations. Decision and loop structures. Functions and modular programming. Python data structures: lists, tuples, dictionaries, and sets. One- and two-dimensional data structures. Searching, sorting, and basic matrix operations. Algorithmic solutions to engineering problems using Python. Hands-on computer-based implementation of the programming concepts and problem-solving techniques covered throughout the course. |
| Course Contents |
| WEEK |
TOPICS |
|
1st Week |
Problem Solving, Algorithmic Thinking, and Programming Concepts |
|
2nd Week |
Python Programming Environment, Basic Program Structure, and First Applications |
|
3rd Week |
Variables, Data Types, Operators, and Input-Output Operations |
|
4th Week |
Decision Structures and Problem-Solving Applications |
|
5th Week |
Decision Structures and Advanced Problem-Solving Applications |
|
6th Week |
Loop Structures and Problem-Solving Applications |
|
7th Week |
Nested Loops and Applications |
|
8th Week |
Midterm |
|
9th Week |
Functions and Modular Programming |
|
10th Week |
Problem Solving with Functions and Python Built-in Functions |
|
11th Week |
Lists and List Operations |
|
12th Week |
Tuples, Dictionaries, and Sets |
|
13th Week |
Searching and Sorting Algorithms |
|
14th Week |
Two-Dimensional Data Structures and Matrix Applications |
|
15th Week |
Solving Engineering Problems with Python, Testing, and Debugging |
|
| Recommended or Required Reading | Downey, A. B., Think Python: How to Think Like a Computer Scientist, 3rd Edition, O?Reilly Media, 2024.
Deitel, P. & Deitel, H., Intro to Python for Computer Science and Data Science: Learning to Program with AI, Big Data and the Cloud, 1st Edition, Pearson, 2020.
Guttag, J. V., Introduction to Computation and Programming Using Python: With Application to Computational Modeling and Understanding Data, 3rd Edition, The MIT Press, 2021. |
| Planned Learning Activities and Teaching Methods |
- Lecture
- Questions/Answers
- Problem Solving
- Practice
- Presentation
|
| Assessment Methods and Criteria |
|
Quantity |
Percentage (%) |
| Mid-term |
1 |
40 |
| Quiz |
3 |
20 |
| Total(%) |
|
60 |
| Contribution of In-term Studies to Overall Grade(%) |
|
60 |
| Contribution of Final Examination to Overall Grade(%) |
|
40 |
| Total(%) |
|
100 |
|
| ECTS Allocated Based on Student Workload |
| Activities |
Quantity |
Duration (Hour) |
Total Workload (Hour) |
| Midterm exam |
1 |
2 |
2 |
| Preparation for Quiz |
3 |
5 |
15 |
| Individual or group work |
|
|
|
| Preparation for Final exam |
1 |
34 |
34 |
| Course hours |
14 |
4 |
56 |
| Preparation for Midterm exam |
1 |
20 |
20 |
| Laboratory (including preparation) |
|
|
|
| Final exam |
1 |
2 |
2 |
| Homework |
2 |
9 |
18 |
| Quiz |
3 |
1 |
3 |
| Total Work Load | 150 |
| Total Work Load / 30 (h) | 5 |
| ECTS Credit of the Course | 5 |
|
| Language of Instruction | English |
| Work Placement(s) | No |