Advanced Programming course

This Python tutorial was created for advanced programming course for computer students. In this lesson, I want to talk about simple topics to advanced topics in programming with Python. Python is one of the most powerful programming languages in the world. Today, this powerful language has become one of the top tools for developing web and mobile applications, artificial intelligence applications, especially machine learning, and big data analytics. Python's remarkable success is due to the valuable features it offers to both professional and beginner developers.

In this course, we will cover topics such as Python data structure, functions, modules, file storage and retrieval, exception handling, object-oriented programming, and many other advanced topics. Students who take this course should know that there are many job opportunities for Python programming professionals today, and that this good job market will undoubtedly become more visible in the future, given the growing popularity of the language.

List of contents

The tutorial consists of two sections:

Basics

This section will get you started with using Python and you'll be able to learn more about whatever you want after studying it.

01 - Getting started with Python

🎯 Topics

About Course Course Materials

💡 Slides

  1. Introduction [PDF]

📒 Assignments

02 - Variables, Booleans and None

🎯 Topics

Simple Data Structures in Python Python Data Types

💡 Slides

  1. Variables and Data Types [PDF]

📒 Assignments

03 - Using and defining functions

🎯 Topics

Build-in Functions Argument Types

💡 Slides

  1. Functions Download slide

📒 Assignments

04 - If, else and elif

🎯 Topics

Boolean Values If Statement Short Hand If

💡 Slides

  1. Lists Download slide

📒 Assignments

05 - Strings

🎯 Topics

Strings String Functions

💡 Slides

  1. String Download slide

📒 Assignments

06 - Lists and Tuples

🎯 Topics

List Tuples

💡 Slides

  1. Lists Download slide

📒 Assignments

  1. Lists
07 - Loops

🎯 Topics

For Loops While Loops

💡 Slides

  1. Loops Download slide

📒 Assignments

08 - Recursion

🎯 Topics

Memoization

💡 Slides

  1. Recursion Download slide

📒 Assignments

09 - Dictionaries

🎯 Topics

Dictionaries

💡 Slides

  1. Dictionaries Download slide

📒 Assignments

10 - Files

🎯 Topics

Working with File JSON

💡 Slides

  1. Files [PDF]
  2. Directories [PDF]
  3. JSON [PDF]

📒 Assignments

11 - Modules

🎯 Topics

Modules

💡 Slides

  1. Modules [PDF]

📒 Assignments

12 - Exceptions

🎯 Topics

Exception Handling

💡 Slides

  1. Exceptions [PDF]

📒 Assignments

13 - OOP

🎯 Topics

Object Oriented Programming Polymorphism Inheritance Operator Overloading

💡 Slides

  1. OOP Download slide
  2. Multiple Inheritance Download slide
  3. Operator Overloading Download slide

📒 Assignments

Advanced

If you want to learn more advanced techniques, you can also read this section. Most of the techniques explained here are great when you're working on a large project, and your code would be really repetitive without these things.

01 - Lambda Function

🎯 Topics

Lambda Anonymous function map filter

💡 Slides

  1. Python Lambda Download slide

📒 Assignments

02 - Numerical Calculations

🎯 Topics

NumPy SciPy

💡 Slides

  1. Numerical Calculations Download slide

📒 Assignments

03 - Event-Driven Programming

🎯 Topics

Turtle

💡 Slides

  1. Turtle [Download slide]

📒 Assignments

04 - Random Functions and Simulation

🎯 Topics

Random Numbers

💡 Slides

  1. Random Functions and Simulation[Download slide]

📒 Assignments

05 - Data Visualization

🎯 Topics

Matplotlib

💡 Slides

  1. Data Visualization[Download slide]

📒 Assignments

Course Slides

All slides of this course are available for download here.