Content
Objective
The aim of this course is to assist students in the Department of Economics in acquiring computational thinking and data processing skills that are aligned with the requirements of the digital age by introducing the fundamental concepts of programming. Students will develop their computational thinking abilities through algorithms and flowcharts, while gaining hands-on experience in the software development process using the Python programming language. In addition to fundamental data structures such as data types, lists, tuples, sets, and dictionaries, students’ problem-solving skills will be enhanced through the use of decision structures, loops, and functions. Furthermore, through libraries such as NumPy, Pandas, and Matplotlib, students will develop competencies in data analysis, visualization, and interpretation.
Course Content
Introduction to Programming and Fundamental 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: arithmetic, comparison, logical
Decision Structures, Loops, and Error Handling
* if, else, elif structures
* Nested decision structures
* while and for loops
* Use of break and continue in loops
* Range and enumerate functions
* Types of errors
* Exception handling blocks
Functions
* Functions with and without parameters
* 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
Data Analysis and Visualization Libraries
* NumPy: Numerical computations
* Pandas: Data analysis and data frames
* Matplotlib: Plotting and data visualization
Course Learning Outcomes
At the end of the course, a student will be able to:
model the problem-solving process using basic algorithms and flowcharts;
understand software development processes by developing computational thinking skills;
write simple programs using the basic syntax and structures of the Python programming language;
perform operations using variables, data types, and basic operators;
control program flow through decision structures and loops;
store and process data using data structures such as lists, tuples, sets, and dictionaries;
develop modular and readable code through the use of functions;
perform file operations to read data from external sources and to store data;
carry out various operations using Python’s standard libraries (e.g., math, random, datetime);
conduct basic-level analysis and visualization of economic data using NumPy, Pandas, and Matplotlib;
apply programming knowledge to data-driven problems in the field of economics.
Teaching and Learning Methods
Lecture: Fundamental concepts, algorithms, and the structure of the Python programming language will be taught with this method.
Demonstration: Example applications will be carried out during the course to translate theoretical topics into practice.
Problem Solving and Practical Exercises: Algorithm development and Python coding practice will be conducted using examples related to economics.
Question-and-Answer Method: This method will be used to encourage active student participation and to reinforce the covered topics.
Laboratory Applications: Hands-on instruction will be provided in a computer-based environment where Python programs are written and executed, and data analysis is performed.
Assignments: Students will apply what they have learned through a small-scale project or a data analysis assignment.
Feedback: Evaluation and feedback will be provided after laboratory activities.
References
The course materials for each week will be uploaded to the Moodle course page under the relevant week.
The following resources may be used as supplementary (optional) materials to support the main course resources:
Yıldız, B. Python Projeleri ve Popüler Kütüphaneler (3rd. Ed.)
Tungut, H. B. Algoritma ve Programlama Mantığı (23rd Ed.)
Taşçı, V. Python Eğitim Kitabı (4rd Ed.)
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