140
Lectures
22
Hours

What is Python?

Python is a beginner-friendly programming language known for its simplicity and readability. It's widely used in web development, data analysis, machine learning, AI, and automation due to its versatility and extensive libraries.

Course Description

The lessons are designed to be exciting and make Python easy to understand. You'll get engaging lectures that set the groundwork for becoming good at Python development.

1. Core Concepts Exploration:

  • Master vital Python basics. Delve into the core concepts of variables and simple data types, gaining a profound understanding of their pivotal role in Python programming.

  • Learn essentials about Python. Variables, data types, value assignments, and critical coding skills. This module lays a robust Python foundation for deeper exploration and mastery.

  • Sharpen your skills with practical assignments, including string manipulation and conditional statements, providing valuable hands-on experience.

2. Building Proficiency:

  • Progress through crucial topics such as loops, iterations,  functions, and debugging techniques.

  • The course aims to impart Python knowledge and hone your problem-solving skills, making you a proficient developer.

  • The central part of this will be to develop your skills to understand the code you write.

  • This includes a wide variety of assignments that are often used in Code Interviews. These assignments include Fibonacci sequence, Sorting algorithms, Recursions, etc.

3. Object-Oriented Programming Foundation:

  • Delve deeply into the principles of object-oriented programming, dedicating a substantial portion of the course.

  • Gain a comprehensive understanding of critical elements such as classes, methods, and inheritance, unlocking the full potential of OOP.

  • Establish a robust foundation as you navigate through the intricacies of OOP.

  • This core knowledge is the starting point for your learning journey. It helps you enter the more exciting and advanced topics we'll cover later in the course.

4. Graphics, Visualization, and Game Development:

  • Explore the Turtle module to create captivating visuals, venturing into graphics and visualization.

  • Delve into game development, introducing advanced concepts like update loops, delta times, movement, rotation, and implementing game entities - All by writing purely Python code!

  • This section will be a great reminder of Classes and Inheritance because we will use it extensively!

  • Get an overview and practical skills on how the games work. The gained knowledge can be used in any other game framework like Unity.

5. Final Sections of the Course:

  • Conclude the course with a focus on user interfaces.

  • Create a simple interface to display text on the screen. Learn how to create buttons and handle events. 

  • Explore the versatility of lambda functions in Python, adding a powerful tool to your programming toolkit.

  • Finish up the course by reviewing the final project. It's a chance to show off what you've learned in a hands-on way.

Why Should You Enroll?

  • Exciting and rewarding projects await you, offering a chance to apply your skills in real-world scenarios

  • By the end, you'll not only be proficient in Python but also equipped with the ability to tackle any development challenges.

  • The final project covers how to create a game. Which is great to show in your portfolio.

Who is this course for?

  • Mostly, Beginners and early-stage devs who want a comprehensive and practical introduction to Python.

  • Aspiring developers are seeking hands-on experience building a game from the ground up.

Requirements

  • No coding skills needed! Learn all the essential knowledge from scratch

Course curriculum

  • 1

    Introduction

  • 2

    Variables & Simple Data

    • Install Python

    • Setup Env

    • Variables Start

    • More Variables

    • More Data Types

    • Small string assignment

    • Multi Line Assignments

    • Variables Exercise

    • String Formatting Options

  • 3

    Conditionals

    • Simple Comparisons

    • If Elif

    • Indentation

    • More Ifs

    • And, Or

    • If Statement Exercise

    • Not Operator

  • 4

    While Loops

    • Get Input

    • Data Type Transformations

    • Loto Assignment

    • While loop

    • Check even numbers

    • Continue

    • Indentation reminder

    • Calculator assignment

    • Assignment improvements

  • 5

    Functions and Debugging

    • Define Function

    • Function Parameters

    • More about Functions

    • Named params

    • Debugging

    • Debugging again

    • Even More Debugging!

    • Function returns

  • 6

    Data Types & Dev Tools

    • Define data types

    • Pylint

    • Mypy

    • Fibonacci assignment

    • Fibonacci solution

  • 7

    Recursion

    • None type

    • Recursion start

    • Recursion with params

    • Recursive fibo

    • Try and Except

  • 8

    Lists

    • Lists

    • Get range from the list

    • More list operations

    • Remove item from list

    • Interesting thing about list

    • Fibo with list

    • Fibo one more time

    • Immutable vs Mutable

    • Background to variables

    • User list assignment

    • User list Solution

  • 9

    For Loops

    • For loops

    • Get index in for loop

    • Index method

    • Args with *

    • Bubble sort assignment + Explanation

    • Bubble Sort solution

    • Optimize sort

    • Reverse sort

    • Tuple vs List

  • 10

    Classes

    • Classes Big Intro

    • Methods

    • Method improvements

    • Database Class

    • Objects are mutable

    • Magic methods

    • Database assignment

    • Database assignment solution

  • 11

    Inheritance

    • Class vs Instance attribute

    • Shape base class

    • Polymorphism

    • Method in base class

    • Private in Python

    • Super

    • Match and Case

    • Shape assignment

    • Shape assignment solution

  • 12

    Turtle Start

    • Turtle Start

    • Turtle module

    • Simple turtle graphics

    • Draw second triangle

    • Range

    • Movement in range

  • 13

    Player and Window

    • Setup Screen

    • Mainloop and turtle color

    • Player class

    • Create player additional ways

    • Inherit Turtle

    • Window class

    • Position system

    • Draw square assignment

  • 14

    Events and Movement

    • Key Event

    • High order functions

    • Functions assignment

    • Move up with set position

    • Move to each side

    • Global vars and game function

    • Speed and Pen up

  • 15

    Update Loop

    • Update loop

    • Player update

    • Vec2D

    • Set player direction on key press

    • Disable tracer and add movement speed

    • Fps and frame time

    • Time Delta

    • Compute real speed

    • Class Methods

    • Store delta time in Class

    • Move all to Game Time

  • 16

    Advanced Movement

    • Watched key

    • Handle movement in Update

    • Handle movement function

    • Handle diagonal movement

    • Compute magnitude

    • Normalize movement

  • 17

    Rotations

    • Turn to angle

    • Smooth rotations

    • Correct rotation

  • 18

    Enemy

    • Enemy class

    • Game Entity

    • Follow the player

    • Teleport Enemy

    • Randomize jumps

    • Catch the player

    • Global game over

  • 19

    User Interface

    • Simple Text

    • Show text when needed

    • UI class

    • Ui buttons

    • Callback functions

    • Pass player and enemy to restart

  • 20

    Lambda and Course Wrap-Up

    • Lambda function

    • Practicing lambda

    • Restart player and enemy

    • Course Done

Instructor(s)

Software Engineer

Filip Jerga

My name is Filip Jerga and I am an experienced software engineer and freelance developer. I have a Master's degree in Artificial Intelligence and several years of experience working on a wide range of technologies and projects from C++ development for ultrasound devices to modern mobile and web applications in React and Angular. Throughout my career, I have acquired advanced technical knowledge and the ability to explain programming topics clearly and in detail to a broad audience. I invite you to take my course, where I have put a lot of effort to explain web and software engineering concepts in a detailed, hands-on and understandable way.

FAQ

  • How to get help when I am stuck with the course?

    Every video contains a discussion where you can create a post describing an issue. The instructor usually responds within 1 business day.

  • What to do when I am unhappy with the course ?

    Within 30 days of the purchase, you can ask for a full refund. No questions asked. Your happiness is our priority.

  • Do I need to watch every lecture of really extensive course?

    Of course not! Every lecture is committed (explained in the introduction section). You can start watching at any lecture. Just download the correct version of the project attached to lecture resources.

Eincode Access Options

  • Single Course Access

    • Lifetime and unlimited Access to "Python & Turtle: A Practical Guide for Beginners and Beyond"

    $19.00

    Access to this course only.

    Get started now
  • Monthly Membership

    • Unlimited Access!
    • Access to any current course!
    • Access to future courses!

    $19.00 / month

    Cancel Anytime!

    Get started now
  • Annual Membership

    • Unlimited Access!
    • Access to any current course!
    • Access to future courses!

    $190.00 / year

    Cancel Anytime!

    Get started now