Join the most comprehensive and beginner friendly course on learning to code with Python - one of the top programming languages in the world - and using it to build Algorithms and Data Structures with Projects utilizing them from scratch.
You will get:
1) 14+ hours of animation heavy instructional video
2) 14 coding exercises using Udemy's internal python coding environment
3) Quizzes to test your understanding at every step
4) 80+ Python scripts with practice exercises and lecture notes
5) Live help channel and designated office hours with the instructor
Join the most comprehensive and beginner friendly course on learning to code with Python - one of the top programming languages in the world - and using it to build Algorithms and Data Structures with Projects utilizing them from scratch.
You will get:
1) 14+ hours of animation heavy instructional video
2) 14 coding exercises using Udemy's internal python coding environment
3) Quizzes to test your understanding at every step
4) 80+ Python scripts with practice exercises and lecture notes
5) Live help channel and designated office hours with the instructor
6) Multiple assessment tests to test your progress
7) A free Python e-book
and much, much more.
This course is truly one of a kind and focused solely on your learning.
Check out some of the amazing reviews it's receiving:
From Ryan - "I've only had it for one day and it's been absolutely incredible. Wonderful instructor that does a terrific job of explaining complex topics. I'm not even a quarter of the way in and I already feel that I've gotten exponentially more than what I paid."
From Jason - "Great course, the instructor is clearly well-versed with Python programming and gives very clear instruction. I particularly found the algorithms and data structures section to be valuable. Strongly recommend this course, the best Python programming course I've taken by a significant margin."
From Rob - "As a software engineer that needs to get up to speed on some Python for a data-science project, this was perfect. It's in-depth where it needs to be, clear, and very well put together."
I will walk you step-by-step through the fascinating world of Python programming using visualizations of programs as they execute, algorithms as they run and data structures as they are constructed. Nothing is left to the imagination, we'll see it all and then build it all.
Since it caters to a broad spectrum of students, the course is split in two parts, part 1 focusing on the Python programming language and part 2 focusing on Algorithms, Data Structures, Performance Analysis and larger scale projects. Details below:
Part 1: Python and programming fundamentals
Text - Strings
Numbers - Ints and Floats
Execution flow control - Branching with if/elif/else
Compound data types - Lists, Dictionaries, Tuples, Sets
Iterables and Iteration with generators, for and while loops and more.
Functions, execution context and frames, building custom functions
List comprehension
Lambda expressions
Generators and creating your own generators with yield
Objects and building classes, methods, special methods
Reading from and writing to files using context managers
Projects
Visualization with each topic and more.
Part 2: Algorithms, Data Structures and Performance Analysis
Sorting algorithms (basic) - Bubble sort, Selection sort, Insertion sort
Sorting algorithms (advanced) - Merge sort, Quick sort
Big O notation, complexity analysis, divide and conquer, math visualizations
Recursion in-depth with examples
Searching algorithms - Bisection search, hashing
Data Structures with Linked lists, Stacks, Queues, Trees, Binary Search Trees
Operations with Data structures - insert, search, update, delete
Multiple projects with increasing level of complexity that tie the concepts together
Visualizations of every algorithm, data structure and operations and more.
So whether you are interested in learning the top programming language in the world in-depth
OR interested in learning the fundamental Algorithms, Data Structures and performance analysis that make up the core foundational skillset of every accomplished programmer/designer or software architect
OR you are looking to ace your next technical interview
OR all 3 above - This is the course for you.
And on top of that, it comes with a 30 day money back guarantee. If you are not satisfied in any way, you will not only get your money back but you also get to keep the free e-book and tons of downloadable practice exercises and code just for trying it out.
So what are you waiting for? Learn to code with Python while building projects and implementing algorithms and data structures, and gain a core competency in Computer Science that will advance your career and increase your knowledge in the most effective way.
Welcome to the course!
This text lecture includes information on live help, office hours and an e-book based on the content from the introductory "Python in-depth" section (Section 3) of this course. I will post updated versions of the book here if/when they become available.
An in-depth look at the structure of the course and an overview of the content of every section
An introductory message to complete beginners to programming
A look at development environments, some options and what we'll use in the course
Some basic commands you can use to navigate through the command line/terminal
Explore various options available and download Python 3
Download and customize the Atom text editor. This is the editor used in this course throughout
A detailed look at using Jupyter Notebooks for developing Python code
Introduction to material covered in the section and who it's intended for
A quick look at using the command line/terminal window to navigate file directories
Working with strings and variables to handle text
Review some string basics covered in the previous video
Some helpful tips on quizzes and assessment tests
Detailed look at string concatenation, indexing and slicing
Wrap up our look at strings with some functions and methods available to string objects. Also investigate import statements and how they work
A look at how to format print statements and use special characters within strings
Working with numbers and computation along with type casting and getting input from user
This is an assessment test for Python basics we have covered so far including working with text, numbers and print formatting
An introductory look at branching and how it works including real code examples from projects built in the course in later sections
An in-depth look at building if elif and else blocks using conditional tests and boolean values
An introductory look at collections in Python
Working with lists and exploring functions and methods
Working with sublists, slicing, indexing and basic iteration
Working with dictionaries, sets and tuples
An in-depth look at using for loops in combination with iterables and generators along with list comprehension
This is an assessment test for compound data structure fundamentals.
Conclude our look at iterators, generators and popular functions associated with them with while loops and enumerate and zip functions
A look at functions, their structure, properties and examples
Take a program and build a function step by step
An in-depth look at the execution context (with global and function frames) of python programs, along with the differences between mutable and immutable data types passed in as parameters
This is the final assessment test for Python fundamentals and will test knowledge of lists, tuples, dictionaries, iterators and functions
An introductory look at objects with example classes built in the course
Learning the basics of building a class from scratch and special __init__ method
Add the add and remove_course methods to the class
Explore some special methods like __init__ and __repr__
Working with files and performing read and write operations using context managers and permissions
Add previously built read functionality to the student class using static and regular methods, along with another special method __eq__ to test for equality based on custom definition
Complete Student class and look at inheritance and subclasses
Description lecture for bonus content I will post in the rest of the section
In this optional last part of the section, we will look at some Python specifics, starting with Lambda expressions, also known as anonymous functions.
Explore lambda expressions and use them in conjunction with other functions like map
You have already seen generator objects in use, let's take a deeper look at what they are and how they work.
Create custom generators using yield
Intro to part 2 of this course with section 4 and sorting algorithms, performance analysis and recursion
Visual presentation and complexity analysis of the bubble sort algorithm
Implement the bubble sort algorithm step by step
Visual presentation and complexity analysis of the selection sort algorithm
Implement the selection sort algorithm step by step
Complete visualization of the insertion sort algorithm and assignment handoff for implementation
Programmatic visual of execution steps performed by the insertion sort algorithm as it sorts a list of 5 elements
Take a look at best, worst and average cases for complexity in more detail
Discuss algorithms that achieve O(nlog(n)) performance and prerequisites for next one
An in-depth look at log(n) and what it represents
Take a look at the merge sort algorithm and its big O analysis
Start building the merge function - comparison
Continue building merge function - iteration through lists
Complete merge function - add remaining items
A look at the divide/split function which introduces recursion
Analyze execution context and frames created by recursive divide function in-depth
Build a countdown timer using recursion
Build a recursive factorial function step by step
Understand, break down and implement a recursive fibonacci function
Complete implementation of the merge sort algorithm and visualize execution context
OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.
Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.
Find this site helpful? Tell a friend about us.
We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.
Your purchases help us maintain our catalog and keep our servers humming without ads.
Thank you for supporting OpenCourser.