Python 3: Project-based Python, Algorithms, Data Structures

Preview this course

This course is designed for beginners who have never programmed before; programmers switching to Python; intermediate and advanced programmers looking to understand algorithms and data structures; Job interview candidates looking to understand the subject matter behind technical interview questions, and anyone keen to learn how to visualize programs and information flows.

Unlimited access to 750+ courses.
Enjoy a Free Trial. Cancel Anytime.

- OR -

30-Day Money-Back Guarantee
Full Lifetime Access.
101 on-demand videos & exercises
Level: All Levels
English
14hrs 29mins
Access on mobile, web and TV

What to know about this course

This course is one of the most comprehensive and beginner-friendly courses 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 from scratch.  We 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; you'll see it all and then build it all.  Since it caters to a broad spectrum of students, the course is split into two parts: part 1 focusing on the Python programming language and part 2 focusing on Algorithms, data structures, performance analysis, and larger-scale projects. 

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, and sets
• Iterables and iteration with generators, for and while loops, and more!
• Functions, execution context and frames, and building custom functions
• List comprehension
• Lambda expressions
• Generators and creating your own generators with yield
• Objects and building classes, methods, and special methods
• Reading from and writing to files using context managers
• Visualization with each topic and more! 

Part 2: Algorithms, Data Structures, and Performance Analysis
• Sorting algorithms (basic) - bubble sort, selection sort, and insertion sort
• Sorting algorithms (advanced) - merge sort and quick sort
• Big O notation, complexity analysis, divide and conquer, and math visualizations
• Recursion in-depth with examples
• Searching algorithms - bisection search and hashing
• Data structures with linked lists, stacks, queues, trees, and binary search trees
• Operations with data structures - insert, search, update, and delete
• Multiple projects with increasing levels of complexity to tie concepts together
• Visualizations of all algorithms, data structure, operations, and more! 

All the codes and supporting files for this course are available at -  https://github.com/PacktPublishing/Python-3-Project-based-Python-Algorithms-Data-Structures

Who's this course for?

This course is designed for beginners who have never programmed before; programmers switching to Python; intermediate and advanced programmers looking to understand algorithms and data structures; Job interview candidates looking to understand the subject matter behind technical interview questions, and anyone keen to learn how to visualize programs and information flows.

What you'll learn

  • Learn Python 3 from scratch, in-depth.
  • Understand the fundamentals of programming languages.
  • Learn to visualize algorithms, data structures, program executions, and information flows.
  • Learn to use Python to build projects.

Key Features

  • Learn to code with Python while building projects and implementing algorithms and data structures.
  • Understand the fundamentals of programming languages.

Course Curriculum

About the Author

Mashrur Hossain

Mashrur is a full-time programming instructor specializing in programming fundamentals, web application development, machine learning, and cybersecurity. He has been a technology professional for over a decade and has degrees in Computer Science and Economics. His niche is building comprehensive career-focused technology courses for students entering new/complex and challenging fields in today's technology space. This is a nice segway for him since his real passion is building and tinkering with programming languages. He loves everything to do with development and learning about new tools and technologies. His favorite languages are Python and Ruby on Rails, and his favorite tech fields are web app development, machine learning, and data analytics (which is where Ruby on Rails and Python fall into place nicely). He encourages his students to focus on these technologies as well. In the past, he has worked with Enterprise Software Systems with roles played in analysis, development, management, and training. He led projects using both agile and waterfall methodologies and thus is well versed in the inner workings of the software development and delivery world. During his time in corporate America, he realized how much he enjoyed training new hires and new team members and helping them succeed. He dedicated a good amount of time over 7 years on-boarding new analysts and developers and then worked with them to build and maintain systems which put him in a unique position to know and understand what new entrants to a field need in order to succeed. He strongly believes in focusing on fundamentals and practice; and not in shortcuts or gimmicks.

40% OFF! Unlimited Access to 750+ Courses. Redeem Now.