Home / Programmes / Economics / ECON151
COURSE INFORMATION PACKAGE · ECON151

Programming with Python

Compulsory · Turkish
ECTS
3
Local Credit
3
Theory + Practice + Lab
0 + 0 + 3
Course Level
Bachelor Degree
Prerequisites
-
Semester
1
On this page
Content Weekly Contents Assessment System Relation of Proficiency ECTS
Course Instructor(s)
Amine Hatun ATAŞ
ahatas@gsu.edu.tr

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

Theory Topics
Week Weekly Contents
1 Introduction to Programming: Algorithms and Flowcharts
2 Introduction to Python
3 Decision Structures
4 Loops
5 Error Handling
6 String (str) Data Type
7 List (list) Data Type
8 Tuple (tuple) Data Type
9 Set (set) Data Type
10 Dictionary (dict) Data Type
11 File Operations
12 Python Standard Libraries
13 Python Libraries
14 Python Libraries
Practice Topics
Week Weekly Contents
1 Introduction to Programming: Algorithms and Flowcharts
2 Introduction to Python
3 Decision Structures
4 Loops
5 Error Handling
6 String (str) Data Type
7 List (list) Data Type
8 Tuple (tuple) Data Type
9 Set (set) Data Type
10 Dictionary (dict) Data Type
11 File Operations
12 Python Standard Libraries
13 Python Libraries
14 Python Libraries

Assessment System

Contribution to Overall Grade
Activities Number Contribution
Contribution of in-term studies to overall grade 6 60
Contribution of final exam to overall grade 1 40
Total 7 100
In-Term Studies
Activities Number Contribution
Assignments 0 0
Presentation 0 0
Midterm Examinations (including preparation) 1 30
Project 5 30
Laboratory 0 0
Other Applications 0 0
Quiz 0 0
Term Paper/ Project 0 0
Portfolio Study 0 0
Reports 0 0
Learning Diary 0 0
Thesis/ Project 0 0
Seminar 0 0
Other 0 0
Make-up 0 0
Total 6 60

Relation of Proficiency

No Program Learning Outcomes Contribution
1 2 3 4 5
1 Demonstrate a basic knowledge of different economic theories and main discussions driving current theoretical approaches
2 Demonstrate ability to use basic qualitative and quantitative methods to asses different economic questions of applied fields X
3 Show a sound understanding of current economic discussions and problems
4 Have an effective and clear communication in written and oral formats in different public and professional contexts. X
5 Demonstrate basic knowledge of the world economic history and a sound knowledge of the Turkish economic history
7 Demonstrate knowledge of standard quantitative techniques and empirical models used in economics X
8 Show ability to apply basic economic theory to an applied topic
9 Show a basic understanding of analytical methods, both theory- and model-based
10 Show ability to use economic concepts to discuss current economic issues
11 Reason logically and work analytically X
12 Show awareness on social aspects of the economics in different applied and theoretical fields
13 Identify appropriate economic models to analyse problems
16 Show understanding of basic statistical and econometric concepts and ability to apply basic concepts to own empirical work X
17 Demonstrate a sound knowledge of the current economic issues in Turkey and a general knowledge of the issues in the world economy

ECTS

Activities Number Period Total Workload
Class Hours 14 3 42
Working Hours out of Class 0 0 0
Assignments 0 0 0
Presentation 0 0 0
Midterm Examinations (including preparation) 1 10 10
Project 0 0 0
Laboratory 10 2 20
Other Applications 0 0 0
Final Examinations (including preparation) 1 10 10
Quiz 5 1 5
Term Paper/ Project 0 0 0
Portfolio Study 0 0 0
Reports 0 0 0
Learning Diary 0 0 0
Thesis/ Project 0 0 0
Seminar 0 0 0
Other 0 0 0
Make-up 0 0 0
Yıl Sonu 0 0 0
Hazırlık Yıl Sonu 0 0 0
Hazırlık Bütünleme 0 0 0
Total Workload 87
Total Workload / 25 3.48
Credits ECTS 3