Course Objectives: |
This course aims to teach students the fundamental principles of programming and enable them to apply practical skills such as algorithm development, data analysis, and automation using the Python language. By the end of the course, students are expected to understand basic Python commands and data structures, grasp the software development process, and be able to create their own projects. |
Course Content: |
The course will cover fundamental topics in Python, including basic syntax, data types, loops, conditional statements, functions, and modules. Additionally, students will be introduced to data structures such as lists, tuples, sets, and dictionaries, and will learn how to use these structures effectively. Various examples and practical exercises will be used to enhance programming logic, and basic file handling and error management will also be addressed. This course aims to develop students' problem-solving skills and prepare them for more advanced Python topics and other programming subjects. |
Course Learning Outcomes (CLOs) are those describing the knowledge, skills and competencies that students are expected to achieve upon successful completion of the course. In this context, Course Learning Outcomes defined for this course unit are as follows:
|
|
Knowledge
(Described as Theoritical and/or Factual Knowledge.)
|
1) Using Data Structures: Students will become familiar with Python data structures such as lists, tuples, sets, and dictionaries and will be able to perform data operations using these structures efficiently.
|
Skills
(Describe as Cognitive and/or Practical Skills.)
|
1) Understanding Programming Fundamentals: Students will be able to develop simple programs using the basic syntax, data types, and basic commands of the Python language.
|
Competences
(Described as "Ability of the learner to apply knowledge and skills autonomously with responsibility", "Learning to learn"," Communication and social" and "Field specific" competences.)
|
1) Implementing Conditional and Loop Structures: Students will be able to create algorithms by providing logical control flow with conditional statements and loop structures in Python.
|
2) Working with Functions and Modules: Students will be able to make their code more modular and reusable by using functions and modules.
|
3) Problem Solving and Error Management: Students will solve various programming problems and write robust programs using error management in Python.
|
Week |
Subject |
Materials Sharing * |
|
Related Preparation |
Further Study |
1) |
Introduction and Getting Started with Python Introduction to programming,
* Features and areas of use of Python Installation of Python,
* Introduction to IDE (PyCharm, Jupyter Notebook, etc.)
* Basic Python commands and syntax |
None
Materyal
|
None Yoktur.
|
2) |
Variables and Data Types
*Variable definition rules
*Numeric data types: integer (int), floating point (float), complex number
*Text data types: string (str) and character operations
*Conversions between data types |
None
|
None. |
3) |
Basic Input/Output Operations and Receiving Data from the User
* input() and print() functions
* Formatting methods
* Receiving data from the user and printing the output to the screen |
None
|
None. |
4) |
Conditional Expressions
*if, elif, else structures
*Logical operators (==, !=, , =, |
None
|
None. |
5) |
Loops - for and while
*Repeating operations with for loop
*While loop and break and continue commands
*Solving sample problems with loops |
None
|
None. |
6) |
Lists and Tuples
*Lists and list operations (addition, removal, sorting)
*Tuples and their uses
*Examples and applications related to lists and tuples |
None.
|
None. |
7) |
Midterm Exam |
First 6 weeks lecture notes
|
|
8) |
Sets and Dictionaries
*Sets and set operations
*Dictionaries and key-value structure
*Examples related to sets and dictionaries
--
Functions -
*What is a function? Why is it used?
*Function definition and call
*Parameters, return value
*Recursive functions |
None
|
None. |
9) |
Functions -
*Lambda functions and anonymous functions
*map(), filter(), and reduce() functions
*Applications and examples of functions |
None
|
None. |
10) |
File Operations
*File opening, reading and writing operations
*File modes (r, w, a, r+ etc.)
*File closing and error handling
*Sample applications related to file operations |
None.
|
None. |
11) |
Error Management and Exception Handling
*try, except, finally structures
*Error types and exceptions
*Application development with error management |
None.
|
None. |
12) |
Modules and Python Libraries
*Using pre-built Python modules (math, datetime, os, etc.)
*Creating and using your own modules
*Installing third-party libraries (pip) |
None.
|
None. |
13) |
Project Work and Applications
Identify a simple Python project (e.g. calculator, small game, data analysis application) |
None.
|
None |
14) |
Project Work and Applications
Identify a simple Python project (e.g. calculator, small game, data analysis application) |
None.
|
None. |
Course Notes / Textbooks: |
1- Python Crash Course" by Eric Matthes, No Starch Press, 2019.
A hands-on introduction to Python programming, focusing on practical examples and projects.
2- Automate the Boring Stuff with Python" by Al Sweigart, No Starch Press, 2019.Aimed at beginners, this book teaches how to use Python to automate everyday tasks.
3- Python for Data Analysis" by Wes McKinney, O'Reilly Media, 2022.
Focused on using Python for data analysis, data manipulation, and visualization with libraries like pandas.
4- Fluent Python" by Luciano Ramalho, O'Reilly Media, 2022. For those with some experience in Python, this book dives deep into Python’s best practices and advanced techniques.
5- Head First Python" by Paul Barry, O'Reilly Media, 2016. A beginner-friendly book that takes a visual approach to teaching Python concepts through engaging exercises. Materyal
|
References: |
1- Python ile Programlama" - Ahmet Aksoy, Pusula Yayıncılık, 2021. Python dilinin temellerini öğretmeyi hedefleyen bu kitap, programlamaya yeni başlayanlar için sade ve anlaşılır bir anlatım sunar.
2- Python 3 İle Programlama" - Murat Öztürk, Dikeyeksen Yayıncılık, 2020. Python 3 sürümüne odaklanan bu kitap, programlamaya sıfırdan başlayanlar için birçok örnek ve uygulama içeriyor.
3- Sıfırdan İleri Seviye Python" - Serkan Uygur, Kodlab Yayınları, 2019. Python dilini sıfırdan başlayarak ileri seviyeye kadar öğrenmek isteyenlere yönelik, uygulamalı bir rehber.
4- Veri Bilimi için Python ve Uygulamaları" - Yunus Emre Ayyıldız, Abaküs Kitap, 2022. Veri bilimi alanında Python'un kullanımına odaklanan bu kitap, veri analizi, veri görselleştirme ve makine öğrenimi konularını ele alıyor.
5- Python ile Yapay Zeka ve Makine Öğrenimi" - Arin Çakır, Abaküs Kitap, 2021.
Python kullanarak yapay zeka ve makine öğrenimi konularına giriş yapmak isteyenler için örneklerle desteklenmiş bir kaynak. Materyal
|
|
Programme Learning Outcomes |
Contribution Level (from 1 to 5) |
1) |
Gains the ability to develop software using the basic structures and algorithms of programming languages. |
|
2) |
Develop functional and sustainable software using object-oriented programming principles. |
|
3) |
Performs database design and management effectively, writes and implements SQL queries. |
|
4) |
Design dynamic and user-friendly web applications using web technologies and internet programming tools. |
|
5) |
Performs database design and management effectively, writes and implements SQL queries. |
|
6) |
Manages software development processes in accordance with professional ethical principles. |
|
7) |
Develop simple artificial intelligence applications in software projects with knowledge of artificial intelligence basics and Python programming. |
|
8) |
Applies database protection and defense methods in accordance with data security principles. |
|
9) |
Develops mobile applications at a basic level by understanding mobile application development processes. |
|
10) |
Design and implement appropriate software solutions by analyzing user needs. |
|
11) |
Performs basic network setup and management operations using network structures and protocols. |
|
12) |
Develop functional and aesthetic software applications using visual and user-oriented interface design principles. |
|
WORKLOAD OF TEACHING & LEARNING ACTIVITIES |
Teaching & Learning Activities |
# of Activities per semester |
Duration (hour) |
Total Workload |
Course |
14 |
1 |
14 |
Laboratory |
14 |
2 |
28 |
Application |
0 |
0 |
0 |
Special Course Internship (Work Placement) |
0 |
0 |
0 |
Field Work |
0 |
0 |
0 |
Study Hours Out of Class |
0 |
0 |
0 |
Presentations / Seminar |
0 |
0 |
0 |
Project |
7 |
6 |
42 |
Homework Assignments |
0 |
0 |
0 |
Total Workload of Teaching & Learning Activities |
- |
- |
84 |
WORKLOAD OF ASSESMENT & EVALUATION ACTIVITIES |
Assesment & Evaluation Activities |
# of Activities per semester |
Duration (hour) |
Total Workload |
Quizzes |
2 |
20 |
40 |
Midterms |
1 |
15 |
15 |
Semester Final Exam |
1 |
20 |
20 |
Total Workload of Assesment & Evaluation Activities |
- |
- |
75 |
TOTAL WORKLOAD (Teaching & Learning + Assesment & Evaluation Activities) |
159 |
ECTS CREDITS OF THE COURSE (Total Workload/25.5 h) |
6 |