| Course Code: | COE203 | ||||
| Course Name: | Advanced Programming with Python | ||||
| Semester: | Fall | ||||
| Course Credits: | 
 | ||||
| Language of instruction: | English | ||||
| Course Condition: | |||||
| Does the Course Require Work Experience?: | No | ||||
| Type of course: | Compulsory Courses | ||||
| Course Level: | 
 | ||||
| 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 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. | 
| 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. | 
| 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 | 
| Course Notes / Textbooks: | https://www.coursera.org/specializations/python | 
| References: | https://www.coursera.org/specializations/python | 
| Course Learning Outcomes | 1 | 2 | 3 | 4 | 
|---|---|---|---|---|
| Program Outcomes | 
| No Effect | 1 Lowest | 2 Average | 3 Highest | 
| Program Outcomes | Level of Contribution | 
| 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 | |
| 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 | |