COE203 Advanced Programming with PythonIstinye UniversityDegree Programs Software Engineering(English)(For Other Faculties)MinorGeneral Information For StudentsDiploma SupplementErasmus Policy StatementNational Qualifications

Course Introduction and Application Information

Course Code: COE203
Course Name: Advanced Programming with Python
Semester: Fall
Course Credits:
ECTS
6
Language of instruction: English
Course Condition:
Does the Course Require Work Experience?: No
Type of course: Compulsory Courses
Course Level:
Bachelor TR-NQF-HE:6. Master`s Degree QF-EHEA:First Cycle EQF-LLL:6. Master`s Degree
Mode of Delivery: Face to face
Course Coordinator: Dr. Öğr. Üy. YİĞİT BEKİR KAYA
Course Lecturer(s): Assist. Prof. Yiğit Bekir Kaya
Course Assistants:

Course Objective and Content

Course Objectives: This course introduces students with no prior programming experience to Python through four progressive projects that build from file system automation to data analysis. The course covers fundamental programming constructs, file operations, web interaction through APIs and scraping, relational database management with MySQL, and data analysis with pandas and matplotlib. Special emphasis will be given to understanding when to apply different approaches—from files to databases for storage, APIs versus scraping for data collection, and simple scripts versus automated systems—based on problem complexity, scalability requirements, and resource constraints. Students will develop systematic problem-solving skills, learn to write maintainable and well-documented code, implement robust error handling and input validation, and gain hands-on experience building complete applications that automate real-world tasks, manage persistent data, and extract insights from datasets.
Course Content: Variables and data types, conditional statements, loops, lists and collections, functions and modular design, file I/O operations, file system manipulation, error handling with try-except, HTTP requests and API integration, JSON parsing, web scraping with BeautifulSoup, regular expressions, task scheduling and automation, relational databases and SQL, Python-MySQL integration, CRUD operations, database schema design, command-line interfaces, NumPy arrays, pandas DataFrames, data cleaning and preprocessing, matplotlib visualization, grouping and aggregation, statistical analysis.

Learning Outcomes

The students who have succeeded in this course;
1) Identify, formulate, and solve computational problems by applying fundamental programming principles, including data structures, control flow, functions, and algorithms, to automate real-world tasks, demonstrating the ability to use modern development tools and programming techniques effectively.
2) Design and develop software systems that interact with external data sources through APIs and web scraping, manage state and scheduling for automated monitoring, and meet specified functional requirements while operating under realistic constraints such as network reliability, rate limits, and error handling.
3) Work effectively in multidisciplinary teams to build database-backed applications using relational database design principles and secure CRUD operations, while applying project management skills to coordinate work distribution, meet deadlines, manage risks, and deliver functional systems with professional documentation and version control within three-week development cycles.
4) Plan and conduct data analysis experiments by collecting data from multiple sources, cleaning and preprocessing real-world datasets, performing statistical analyses using modern analytical tools, and communicating findings effectively through professional visualizations, written reports, and oral presentations that present clear, evidence-based conclusions to technical and non-technical audiences.

Course Flow Plan

Week Subject Related Preparation
1) Introduction to Python Fundamentals
2) Lists, Loops, and File Operations
3) Functions and Advanced File Operations
4) Project 1 Presentations
5) Web Scraping and Data Extraction
6) Automation, Scheduling, and Notifications
7) Project 2 Presentations
8) Database Applications
9) Business Logic and UI
10) Project 3 Presentations
11) Data Cleaning and Visualization
12) Data Analysis
13) Project 4 Presentations

Sources

Course Notes / Textbooks: https://www.coursera.org/specializations/python
References: https://www.coursera.org/specializations/python

Course - Program Learning Outcome Relationship

Course Learning Outcomes

1

2

3

4

Program Outcomes

Course - Learning Outcome Relationship

No Effect 1 Lowest 2 Average 3 Highest
       
Program Outcomes Level of Contribution

Assessment & Grading

Semester Requirements Number of Activities Level of Contribution
Laboratory 13 % 30
Project 4 % 30
Final 1 % 40
total % 100
PERCENTAGE OF SEMESTER WORK % 60
PERCENTAGE OF FINAL WORK % 40
total % 100

Workload and ECTS Credit Calculation

Activities Number of Activities Workload
Course Hours 13 39
Laboratory 13 26
Study Hours Out of Class 14 28
Project 4 20
Final 1 20
Total Workload 133