Course Information
Course Description
This course teaches algorithmic thinking through Python programming. Given any problem, students learn to decompose it into sequential steps and express those steps as a working program using variables, conditions, loops, and functions. Every week introduces new vocabulary (syntax, tools, patterns) in service of one core skill: step-by-step problem solving with code.
The course uses Google Colab or Jupyter notebooks. Each five-hour session includes explanations, worked examples, checkpoints, four short breaks, guided practice and review. Weeks 1–13 have eight core exercises each; Week 14 has ten core project milestones. Additional exercises are optional. Weekly notebooks are private practice and are not collected as homework. Complete worked-solution companions support self-study.
Learning Outcomes
Upon successful completion of this course, the student will be able to:
- Decompose a real-world problem into sequential algorithmic steps and translate them into Python code.
- Use variables, data types, operators, and formatted output to represent and display data.
- Apply conditionals (
if/elif/else) and loops (for,while) to control program flow and handle repetitive tasks. - Recognize and apply common programming patterns (accumulator, search, min/max, counter) to solve problems.
- Organize and process collections of data using lists, 2D lists, and string operations.
- Define, document, and compose functions to build modular, reusable solutions.
- Handle errors gracefully with
try/exceptand read/write persistent data with file I/O. - Complete a capstone project that integrates all course concepts into a working data-processing application.
Weekly Topic Sequence
Week numbers identify the topic sequence. Follow the instructor's official announcements for teaching dates, holidays and exam dates. Read the simple course guide or browse all worked solutions.
| Week | Topic | Key Content | Notebook |
|---|---|---|---|
| 01 | Colab Setup, Variables & Data Types 8 core / 7 optional | Understand what Python is and why it is widely used; Navigate Google Colab and work with notebook cells; Use the print() function to display output | Open lesson → |
| 02 | Operators, F-Strings & Type Conversion 8 core / 4 optional | Use all arithmetic operators confidently, including // and %; Compare values using comparison operators; Use assignment operators (+=, -=, etc.) for concise code | Open lesson → |
| 03 | Conditionals & Decision Making 8 core / 4 optional | Understand and use Boolean expressions (True / False); Write if, if/else, and if/elif/else statements; Combine conditions with logical operators (and, or, not) | Open lesson → |
| 04 | for Loops & range -- Repetition 8 core / 4 optional | Understand why loops are essential in programming; Write for loops to repeat actions; Use the range() function with 1, 2, and 3 arguments | Open lesson → |
| 05 | while Loops, break & continue 8 core / 4 optional | Understand the difference between for loops and while loops; Write while loops for condition-controlled repetition; Recognize and avoid infinite loops | Open lesson → |
| 06 | Problem-Solving Patterns 8 core / 4 optional | Apply the sum pattern to accumulate values in a loop; Apply the count pattern to count items meeting a condition; Apply the min/max pattern to find extreme values | Open lesson → |
| 07 | Lists Fundamentals 8 core / 4 optional | Understand what lists are and why they are essential in programming; Create lists with different types of data; Access list elements using positive and negative indexing | Open lesson → |
| 08 | 2D Lists & Nested Loops 8 core / 4 optional | Understand the concept of 2D lists (lists of lists) and how they represent tables/matrices; Create and initialize 2D lists; Access individual elements using row and column indices | Open lesson → |
| 09 | String Processing 8 core / 4 optional | Use common string methods to manipulate text; Split strings into lists and join lists into strings; Iterate over strings character by character | Open lesson → |
| 10 | Functions — Basics 8 core / 4 optional | Understand why functions are essential in programming; Define and call your own functions; Use parameters and arguments to pass data to functions | Open lesson → |
| 11 | Scope & Mini-Library 8 core / 4 optional | Understand the difference between local and global scope; Explain the lifetime of variables inside functions; Use the global keyword (and know when to avoid it) | Open lesson → |
| 12 | Error Handling 8 core / 4 optional | Distinguish between syntax errors, runtime errors, and logical errors; Recognize common Python error types (TypeError, ValueError, IndexError, etc.); Use try/except blocks to catch and handle errors gracefully | Open lesson → |
| 13 | File I/O & CSV 8 core / 4 optional | Understand why programs need to read and write files; Open, read, and close files using Python's open() function and the with statement; Write data to text files using write() and writelines() | Open lesson → |
| 14 | Mini Project — Sensor Log Summary 10 core / 2 optional | Apply file I/O and CSV skills in a real-world project; Read and parse CSV sensor data from a file; Validate and clean messy data with error handling | Open lesson → |
Course Delivery & Learning Contract
What Students Can Expect Every Week
- Protected class time: the 5-hour session starts and finishes according to the official timetable, with a visible agenda and planned breaks.
- Clear explanation: each major idea follows explain → worked example → prediction → test → interpretation.
- Questions and voice: questions are welcome throughout; checkpoints reserve explicit time for think-pair-explain, misconceptions, and open questions.
- Professional purpose: the course is designed for Mechatronics Engineering students and repeatedly connects concepts to programming decisions used in sensing, automation, data processing, and control.
- Exam alignment: notebooks label the reasoning moves rehearsed on assessments. Exams use the same verbs and standards with new values or contexts.
- Materials: weekly notes, runnable examples, core practice, worked solutions, concept checkpoints, optional extensions, and references support study throughout the term.
- Feedback: concept checks compare short predictions. The final practice list is an explicit self-report, not an automatic grade or proof of correctness.
Assessment & Grading
| Component | Weight | Description |
|---|---|---|
| Midterm Exam | 50% | Written/practical exam covering Weeks 1-7 concepts |
| Final Exam | 50% | Comprehensive exam covering all 14 weeks |
Assessment consists only of the midterm exam (50%) and final exam (50%). Weekly notebooks, exercises, projects, demonstrations and presentations are ungraded practice; no weekly submission is required.
Practice Feedback Checklist
- Completeness: Core functionality explored during practice
- Correctness: Code produces expected output for given inputs
- Code quality: Readable variable names, proper indentation, comments where appropriate
- Problem-solving approach: Evidence of step-by-step decomposition, not just brute-force solutions
Course Policies
Attendance
Regular attendance is expected. Students who miss more than 30% of classes may be denied the right to take the final exam, per university regulations.
Academic Honesty
For private practice, discussion and the provided worked solutions are permitted learning aids. Try the problem first, compare your reasoning, then solve a changed example independently. In exams, follow the stated rules, explain your own reasoning and acknowledge assistance. The following are violations in assessed work:
- Copying code from another student or external source without attribution
- Sharing answers during an exam or a restricted assessed task
- Using work generated entirely by AI tools without understanding and modification
AI Tool Usage
AI assistants (ChatGPT, Copilot, etc.) may be used as learning aids to understand concepts. However, you must be able to explain and modify any code you write. Exercises are designed to build your skills progressively — bypassing them with AI defeats the purpose and will leave you unprepared for exams.
Communication
For course-related questions, email arif.solmaz@istun.edu.tr with your course code (CP1) in the subject line. Office hours: Wednesday, 09:00–11:00 AM.
References & Resources
- Primary: Course notebooks and complete worked-solution companions, with English explanations and short Turkish learning notes
- Python Documentation: docs.python.org — Official Python 3 reference
- Think Python, 3rd Edition — Allen B. Downey (free online)
- Automate the Boring Stuff with Python — Al Sweigart (free online)
- Google Colab: colab.research.google.com — Cloud notebook environment