We may earn an affiliate commission when you visit our partners.
Course image
Udemy logo

Python Programming - Multithreading, OOP, NumPy and Pandas

Holczer Balazs

Join us and become a Python Programmer, learn one of most requested skills of 2022.

Read more

Join us and become a Python Programmer, learn one of most requested skills of 2022.

This course is about the fundamental basics of Python programming language. Whether you have never programmed before, already know basic syntax, or want to learn about the advanced features of Python, this course is for you. You can learn about the hardest topics in programming: memory management, multithreading and object-oriented programming. So these are the topics you will learn about:

1.) Basics of Python

  • installing Python and the integrated development environment (IDE)

  • basic operations

  • conditional statements

  • loops

2.) Functions

  • what are functions in Python

  • positional and keyword arguments

  • return and yield

  • recursion

3.) Data Structures

  • how to measure the performance of data structures?

  • data structures introduction

  • lists

  • tuples

  • dictionaries and sets

4.) Object-Oriented Programing (OOP)

  • what is the advantages and disadvantages of OOP?

  • classes and objects

  • constructors

  • inheritance

  • polymorphism

5.) Memory Management

  • stack memory and heap memory

  • memory management in Python

6.) Handling Files (I/O)

  • read files and write files

7.) Exceptions

  • exceptions and errors

  • how to deal with exception

  • try-except-finally blocks

8.) Multithreading and Concurrent Programming

  • what are threads and processes?

  • synchronization

  • locks

  • deadlocks and livelocks

  • inter-thread communication

9.) Parallel Programming

  • multithreading and parallel programming

  • what is the Global Interpreter Lock (GIL)?

10.) Lambda Expressions

  • what is functional programming?

  • why to learn lambda expressions?

  • anonymous functions

  • filter

  • map

  • reduce

11.) NumPy

  • real array data structures in Python

  • lists and arrays comparison

  • NumPy fundamentals

12.) Matplotlib

  • how to create plots in Python

  • charts, line charts and scatter plots

13.) Pandas

  • why do we need Pandas in data sciences?

  • Series

  • DataFrames

  • apply function (in comparison with loops)

  • vectorization

14.) Database Management in Python

  • what are databases and why do we need them?

  • MySQL and SQL

  • SQL statements in Python

You will get lifetime access to 110+ lectures plus slides and source codes for the lectures.

This course comes with a 30 day money back guarantee. If you are not satisfied in any way, you'll get your money back.

So what are you waiting for? Learn Python in a way that will advance your career and increase your knowledge, all in a fun and practical way.

Enroll now

What's inside

Learning objectives

  • Get a fundamental understanding of the python programming language.
  • Acquire the background and skills of python to apply for python programming jobs
  • Understand the memory management of python
  • Understand numpy and pandas
  • Understand matplotlib
  • Get a good grasp on multithreading, concurrent programming and parallel programming
  • Can move to more advanced topics such as algorithms or machine learning
  • Understand databases and database management with python

Syllabus

Introduction
Why Python is a good start?
Why to learn Python?
Environment Setup
Read more
Installing Python
Installing PyCharm
### PYTHON FUNDAMENTALS ###
Python fundamentals
Python Basics
First steps in Python
What are the basic data types?
Booleans
Strings
String slicing
Type casting
Operators
Conditional statements
How to use multiple conditions?
Exercise - conditional statements
Solution - conditional statements
Logical operators
Loops - for loop
Loops - while loop
Exercise: calculating the average
Solution: calculating the average
What are nested loops?
Enumerate
Break and continue
Calculating Fibonacci-numbers
Exercise: Fibonacci-numbers
Solution: Fibonacci-numbers
Python Basics Quiz
Functions in Python
What are functions?
Defining functions
Positional arguments and keyword arguments
Returning values
Returning multiple values
Functions coding exercise
Solution - functions
Yield operator
Local and global variables
What are the most relevant built-in functions?
What is recursion?
Recursion coding exercise
Solution - recursion
Local vs global variables
The __main__ function
Functions Quiz
Data Structures in Python
How to measure the running time of algorithms?
Data structures introduction
What are array data structures?
What are lists in Python?
Arrays introduction - operations
Lists in Python
Lists in Python - advanced operations
Lists in Python - list comprehension
(!!!) Python lists and arrays
Exercise: list comprehension
Solution - list comprehension
Measuring running time of lists
What are tuples?
Mutability and immutability
What are linked list data structures?
Doubly linked list implementation in Python
Hashing and O(1) running time complexity
Dictionaries in Python
Sets in Python
Exercise: constructing dictionaries
Solution: constructing dictionaries
Sorting
Data Structures Quiz
Object Oriented Programming (OOP)
What is object oriented programming (OOP)?
Class and objects basics
Using the constructor
Class variables and instance variables
Exercise: constructing classes
Solution: constructing classes
Private variables and name mangling
What is inheritance in OOP?
The super keyword
Function (method) override
What is polymorphism?
Polymorphism and abstraction example
Exercise: abstraction
Solution: abstraction
Modules
The __str__ function
Comparing objects - overriding functions
Object Oriented Programming Quiz
Memory Management
What are stack and heap memory?
Stack memory and heap memory simulation
Garbage collection and reference counting
Revisiting the types of variables
The == and the is operators
Call by reference and value

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Covers basics of Python, building a foundation for beginners
Covers functions, data structures, and object-oriented programming, developing core Python skills
Taught by a recognized instructor
Explores memory management in Python, delving into technical implementation
Covers libraries such as NumPy, Matplotlib, and Pandas, enhancing data analysis and visualization skills
Delves into multithreading, concurrent programming, and parallel programming, providing a comprehensive understanding of concurrency

Save this course

Save Python Programming - Multithreading, OOP, NumPy and Pandas to your list so you can find it easily later:
Save

Activities

Coming soon We're preparing activities for Python Programming - Multithreading, OOP, NumPy and Pandas. These are activities you can do either before, during, or after a course.

Career center

Learners who complete Python Programming - Multithreading, OOP, NumPy and Pandas will develop knowledge and skills that may be useful to these careers:
Machine Learning Engineer
Machine Learning Engineers design and implement machine learning models. They use these models to solve complex business problems and make predictions based on data. Python is one of the most popular languages for machine learning, and this course will give you a solid foundation in the language. You'll also learn about NumPy and Pandas, which are essential libraries for data manipulation and analysis in machine learning.
Data Scientist
Data Scientists use data to solve business problems. They analyze data, build models, and make predictions. Python is a popular language for data science, and this course will give you a solid foundation in the language. You'll also learn about NumPy and Pandas, which are essential libraries for data manipulation and analysis. This course will help you build the skills you need to succeed as a Data Scientist.
Data Engineer
A Data Engineer is responsible for building and maintaining the infrastructure that supports data analytics. They design, construct, and manage data pipelines to ensure that data is available for analysis. This course covers the fundamentals of Python, which is essential for working with data. It also teaches you about data structures, memory management, and parallel programming. These concepts are crucial for building efficient and scalable data pipelines.
Data Analyst
A Data Analyst organizes and interprets large amounts of data. They turn raw data into valuable insights which can be implemented into business practices. If you aspire to become a Data Analyst, it is important to have a solid foundation in programming languages such as Python. This course introduces the basics of Python and covers essential topics like data structures, object-oriented programming, and data manipulation using NumPy and Pandas. Mastering these concepts will equip you with the necessary skills to succeed in this field.
Web Developer
Web Developers design and develop websites and web applications. Python is a popular language for web development, and this course will teach you the basics of the language. You'll also learn about Django, a popular Python web framework. This course will help you build a foundation in Python and web development, which are essential skills for success in this field.
Software Engineer
Software Engineers design, develop, and maintain software applications. Python is a popular language for web development, data science, and machine learning. This course covers the fundamentals of Python, including data structures, object-oriented programming, and multithreading. These concepts are essential for building robust and scalable software applications.
Computer Programmer
Computer Programmers write and maintain computer code. They translate business needs into technical solutions. Python is a popular language for programming, and this course will teach you the basics of the language. You'll also learn about programming techniques and how to use Python to build software applications. This course will help you develop the skills you need to succeed as a Computer Programmer.
Quantitative Analyst
Quantitative Analysts use mathematics and statistics to analyze financial data and make investment decisions. Python is a popular language for quantitative analysis, and this course will teach you the basics of the language. You'll also learn about financial data analysis techniques and how to use Python to build financial models. This course will help you develop the skills you need to succeed as a Quantitative Analyst.
Business Analyst
Business Analysts use data to help businesses make better decisions. They analyze data, identify trends, and develop recommendations. Python is a valuable tool for Business Analysts, and this course will teach you the basics of the language. You'll also learn about data analysis techniques and how to use Python to visualize data. This course will help you develop the skills you need to succeed as a Business Analyst.
Software Tester
Software Testers test software applications to ensure that they meet requirements. They find and report bugs. Python is a popular language for software testing, and this course will teach you the basics of the language. You'll also learn about software testing techniques and how to use Python to automate tests. This course will help you develop the skills you need to succeed as a Software Tester.
Statistician
Statisticians use data to solve problems and make decisions. They collect, analyze, and interpret data. Python is a popular language for statistics, and this course will teach you the basics of the language. You'll also learn about statistical data analysis techniques and how to use Python to visualize data. This course will help you develop the skills you need to succeed as a Statistician.
Database Administrator
Database Administrators maintain and manage databases. They ensure that databases are running smoothly and that data is secure. Python is a popular language for database administration, and this course will teach you the basics of the language. You'll also learn about database management techniques and how to use Python to administer databases. This course will help you develop the skills you need to succeed as a Database Administrator.
Financial Analyst
Financial Analysts use data to analyze financial markets and make investment recommendations. Python is a popular language for financial analysis, and this course will teach you the basics of the language. You'll also learn about financial data analysis techniques and how to use Python to build financial models. This course will help you develop the skills you need to succeed as a Financial Analyst.
Actuary
Actuaries use mathematics and statistics to assess risk and uncertainty. They work in a variety of industries, including insurance, finance, and healthcare. Python is a popular language for actuarial science, and this course will teach you the basics of the language. You'll also learn about actuarial science techniques and how to use Python to build actuarial models. This course will help you develop the skills you need to succeed as an Actuary.
Project Manager
Project Managers plan and execute projects. They ensure that projects are completed on time, within budget, and to the required quality. Python is a popular language for project management, and this course will teach you the basics of the language. You'll also learn about project management techniques and how to use Python to manage projects. This course may help you develop the skills you need to succeed as a Project Manager.

Reading list

We've selected 14 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Python Programming - Multithreading, OOP, NumPy and Pandas.
Provides a comprehensive introduction to Python programming, covering basic concepts like data types, operators, and control flow, as well as more advanced topics like object-oriented programming and data structures. It's a great resource for beginners who want to learn Python from scratch.
Practical guide to Python programming, with a focus on building real-world projects. It covers topics like data analysis, web development, and machine learning, and it's a great choice for beginners who want to learn Python quickly and effectively.
Practical guide to using Python to automate tasks. It covers topics like web scraping, data analysis, and file manipulation, and it's a great choice for beginners who want to learn how to use Python to solve real-world problems.
Comprehensive introduction to Python programming, with a focus on computer science fundamentals. It covers topics like data structures, algorithms, and object-oriented programming, and it's a great choice for beginners who want to learn Python in a more academic setting.
Comprehensive reference guide to Python programming. It covers topics like data types, operators, and control flow, as well as more advanced topics like object-oriented programming and data structures. It's a great resource for experienced programmers who want to learn more about Python.
Collection of best practices for writing Python code. It covers topics like code readability, performance, and maintainability, and it's a great resource for experienced programmers who want to improve their Python skills.
Collection of recipes for solving common Python programming problems. It covers topics like data manipulation, web development, and file handling, and it's a great resource for experienced programmers who want to find solutions to specific Python problems.
Guide to writing idiomatic Python code. It covers topics like data structures, algorithms, and object-oriented programming, and it's a great resource for experienced programmers who want to learn how to write Python code that is both readable and efficient.
Guide to the Python standard library. It covers topics like data manipulation, web development, and file handling, and it's a great resource for experienced programmers who want to learn more about the Python standard library.
Guide to using Python for data analysis. It covers topics like data cleaning, data manipulation, and data visualization, and it's a great resource for experienced programmers who want to learn how to use Python for data analysis.
Guide to using Python for machine learning. It covers topics like data preprocessing, model training, and model evaluation, and it's a great resource for experienced programmers who want to learn how to use Python for machine learning.
Guide to using Python for web development. It covers topics like web frameworks, databases, and templating, and it's a great resource for experienced programmers who want to learn how to use Python for web development.
Guide to using Python for system administration. It covers topics like system monitoring, package management, and automation, and it's a great resource for experienced programmers who want to learn how to use Python for system administration.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Python Programming - Multithreading, OOP, NumPy and Pandas.
Complete Guide to Python Multithreading and...
Most relevant
Java Multithreading, Concurrency & Performance...
Most relevant
Building Multithreaded C# 8 Applications with the Task...
Most relevant
Learn Parallel Programming with C# and .NET
Most relevant
Introduction to High-Performance and Parallel Computing
Most relevant
Big Data Analysis with Scala and Spark
Most relevant
Create Your First Multithreaded Application in Java
Most relevant
Big Data Analysis with Scala and Spark (Scala 2 version)
Most relevant
Mastering Multithreading with Go
Most relevant
Our mission

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.

Affiliate disclosure

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.

© 2016 - 2024 OpenCourser