Introduction to Programming with Python
Learn programming fundamentals through Python, algorithmic thinking, problem solving, debugging, and practical programming exercises.
Course Description
This course provides an introduction to programming using Python. Students learn how to design computational solutions, write programs, test code, and solve programming problems.
The course emphasizes computational thinking and practical programming. Students progressively move from basic syntax and control structures to functions, data structures, file processing, object-oriented concepts, and software development practices.
Programming assignments and hands-on exercises are an essential part of the course. Students are expected to write, execute, debug, and improve Python programs throughout the semester.
What You’ll Learn
Announcements
20
Lecture 03 Materials Uploaded
Lecture slides and exercises for the third session are now available.
18
Assignment 01 Published
Assignment 01 is available in the course materials section.
15
Course Orientation
Please review the syllabus, assessment policy, and course schedule before attending the first session.
Weekly Schedule
| Week | Topic | Type | Materials |
|---|---|---|---|
| 01 | Introduction to Python | Lecture | Slides → |
| 02 | Variables and Data Types | Lecture | Slides → |
| 03 | Conditions and Boolean Logic | Assignment | Assignment 01 → |
| 04 | Loops | Lecture | Slides → |
| 05 | Functions | Assignment | Exercises → |
| 06 | Data Structures | Lecture | Slides → |
| 07 | Midterm Exam | Exam | Exam Information → |
| 08 | File Handling | Lecture | Slides → |
Course Materials
Course Syllabus
Course policies, objectives and requirements
Lecture Slides
Slides organized by lecture
Exercises
Programming exercises and practice questions
Assignments
Homework and programming assignments
Exams
Exam schedule and preparation resources
Additional Resources
Books, references, tools and tutorials
Assessment
Instructor
Reza Zahmatkesh
University Instructor · Computer Science · Software Engineering
Instructor in computer science and software engineering with interests in programming, artificial intelligence and requirements engineering.