Content
Objective
The objective of this course is to teach Economics students the fundamental concepts of programming and to help them acquire computational thinking and data processing skills tailored to the requirements of the digital age. While developing their computational thinking skills through algorithms and flowcharts, students will have the opportunity to experience the software development process using the Python programming language. In addition to basic data structures such as data types, lists, tuples, sets, and dictionaries, their problem-solving abilities will be enhanced through decision structures, loops, and functions.
Course Content
Introduction to Programming and Basic Concepts
* Computational thinking
* What is an algorithm and how is it designed?
* Flowcharts
* Software development process
* General overview of programming languages
Introduction to the Python Programming Language
* What is Python?
* Compiler and interpreter concepts
* IDE usage and installation
* Introduction to the Python interface
Data Types and Basic Structures
* Numerical data: Integers, Floats
* Text data: Strings
* Logical data: Booleans
* Variable definition and usage
* Operators: mathematical, comparison, logical
Decision Structures, Loops, and Error Handling
* If, else, and elif structures
* Nested decision structures
* While and for loops
* Using break and continue in loops
* Range and enumerate functions
* Types of errors
* Error handling blocks (Try-Except)
Functions
* Parameterized and parameterless functions
* Return statement
* Lambda expressions
* Recursive functions
Data Structures
* Lists
* Tuples
* Sets
* Dictionaries
Python Standard Libraries
* Math module
* Random module
* Datetime and Time modules
File Operations
* File creation, writing, and reading
* File updating and control functions
Course Learning Outcomes
* Can model the problem-solving process using basic algorithms and flowcharts.
* Can understand software development processes by developing computational thinking skills.
* Can write simple programs using the basic syntax and structures of the Python programming language.
* Can perform operations with variables, data types, and basic operators.
* Can control program flow through decision structures and loops.
* Can perform data storage and processing operations using data structures such as lists, tuples, sets, and dictionaries.
* Can develop modular and readable code through functions.
* Can read data from external sources or record data by performing file operations.
* Can perform various operations using Python's standard libraries (math, random, datetime, etc.).
* Can apply programming knowledge to data-driven problems in the field of economics.
Teaching and Learning Methods
Direct Instruction (Lecture): Used to teach basic concepts, algorithms, and Python programming structures.
Demonstration: Practical application of topics through live coding and sample demonstrations in class.
Problem-Solving and Practical Exercises: Developing algorithms and practicing Python coding using economics-oriented examples.
Question-and-Answer Method: Used to ensure active student participation and reinforce learning.
Laboratory Practice: Hands-on training in a computer lab setting where Python programs are written, executed, and data analysis is performed.
Feedback: Post-application evaluations and feedback are provided for laboratory activities.
References
Course materials for each week will be uploaded to the Moodle course page under the corresponding week.
The following resources may be used as supplementary materials (optional) to the primary course resources:
Yıldız, B. Python Projeleri ve Popüler Kütüphaneler (3. Baskı)
Tungut, H. B. Algoritma ve Programlama Mantığı (23. Baskı)
Taşçı, V. Python Eğitim Kitabı (4. Baskı)
Kalb, I. Learn to Program with Python 3.
Sweigart, Al. The Big Book of Small Python Projects: 81 Easy Practice Programs
Matthes, Eric. Python Crash Course, 3rd Edition: A Hands-On, Project-Based Introduction to Programming.
Tuckfield, Bradford. Dive into Algorithms: A Pythonic Adventure for the Intrepid Beginner.
Weekly Contents
Assessment System
Relation of Proficiency
ECTS