
download all course materials for Python for engineers and scientists and access them via the Jupyter notebook or VS Code lessons, then extract the downloaded zip from GitHub.
Explore how Spyder helps engineers run python scripts with numpy and matplotlib, using the editor, console, variable explorer, and plots window to visualize code.
Open and run Jupyter notebook or Google Colab, create Python notebooks with code and markdown cells, and explore symbolic math with SymPy and LaTeX for equations.
Vs code tutorial
Build Python fundamentals by exploring built-in types like int, float, str, and bool, and functions such as print, input, and type.
Explore Python's basic math operations, including arithmetic operators, integer division, modulo, exponentiation, augmented assignment, and built-in functions like abs and round, plus intro to math and NumPy libraries.
Learn how boolean values, true or false, are created by comparisons or conversions, and used in conditionals, with examples of bool(), 1 or 0, and is close for floats.
Explore Python collections, including lists, tuples, sets, and dictionaries, covering indexing and mutability, using methods like append, and applying set operations and dictionary keys for practical data storage.
Learn conditional structures in Python, using if, elif, and else, with booleans and comparisons to drive control flow and simple examples.
Learn the while loop, a condition-based repetition that runs while the condition is true and stops when it becomes false, with break usage to avoid infinite loops.
Explore boolean operations to build more elaborate control flows, using and, or, all, and any with practical if statements and real-world examples like x, y, stress, and temperature.
Explore multiple ways to generate boolean values in Python, including is, in, not, and the isinstance function, with examples of identity versus equality and the is close function.
Explore Python iterables and looping from the range object to lists, strings, numpy arrays, and pandas series, and learn to iterate directly for clearer, efficient code.
break, continue and pass statement.
Use isinstance to determine if a value is a number, then print whether it is positive, zero, or negative in exercise 3.1 of Python for engineers and scientists.
Exercise 3.4 guides you to build a Fibonacci sequence in Python with a list and a while loop, using append and -1/-2 to get the last value.
Practice checking divisibility by six using the modulo operation, verify divisibility by two and by three, and print whether x is divisible by six.
solve exercise 3.6 by finding the first negative value and its index in a list using enumerate, a loop, and break, printing -8 at index 4.
Explore list comprehensions in Python for engineers and scientists, turning iterables into new lists with elegant, Pythonic syntax and examples like squaring elements and building two- and three-dimensional lists.
Master Python list indexing from zero and using negative indices to access last items, then slice sublists—slicing returns a new list and doesn’t mutate the original, including two dimensional lists.
Explore Python set operations, including union, intersection, difference, and symmetric difference, using methods or the pipe and minus operators. Apply these to subset and superset concepts with A and B.
Explore the zip function, its similarity to enumerate and dict items, and how it packs multiple iterables into tuples for use in loops without converting to a list.
Practice solving exercise 4.1 by generating a list from 20 to 0 using multiple Python approaches, including append in a loop, reversing a range, and evaluating list comprehension options.
Practice generating a list of squares from 0 to 10 in Python using a for loop with append and a one-line list comprehension, highlighting concise alternatives.
Create a dictionary where keys are integers from 0 to 10 and values are their squares, using range(11) and various Python approaches.
Remove duplicates and sort a list in ascending order, demonstrating a loop-based approach and a concise set-based one-liner for Python, as covered in exercise 4.4.
Check whether all values in a list are true by using the all function or a manual for loop. The all function returns false when any value is false.
Practice creating a zip of numbers 0 to 10, squaring them with a list comprehension, converting to a list, and printing each number with its square using a for loop.
Learn how to define and call Python functions using def, arguments, and return, with examples of local variables, function calls, sums, lists, and loops.
Explore docstrings as documentation for functions, objects, and methods, using triple quotes, with examples showing how to document a function that sums numbers.
implement a python function to add three numbers using keyword arguments with default values of zero, handling 0 to 3 inputs, and test the function with varying arguments.
Create a lambda function that multiplies two numbers, assign it to multiply, and call it with 2 and 15 to yield 30.
Explore object-oriented programming in Python, covering classes, objects, attributes, and methods, with practical examples like a dog class, and learn how objects pervade Python and its libraries.
Explore inheritance and polymorphism by building an animal class hierarchy with cat and dog subclasses, reuse attributes and methods, and implement cat meow and dog woof reactions.
This section is a placeholder for exercises and more OOP related lessons.
But the course priority is to focus on libraries that are useful to engineers and scientists like numpy, scipy, sympy, so on...
Please, don't forget to rate the course so I can continue producing good low cost material for you. Cheers!
Learn how strings in Python support operations, indexing, slicing, and iteration, with practical examples of building text, converting types, and using f-strings to embed variables.
Master string formatting in python using f-strings to embed variables and control decimals, and learn raw strings with r, along with backslash handling in paths and binary and unicode prefixes.
Learn to read and write files in Python using the open function within a with statement, handling paths, modes, and read and readlines.
Count emails by domain in Python using list comprehensions, sets, and loops; extract domains, remove duplicates, tally counts, and compare to a pandas pivot table option.
Learn how to handle errors in Python with try and except, preventing crashes and keeping programs running. The lesson demonstrates index errors and cautions against overusing error handling.
Explore Python's built-in exceptions and how to build them for error handling. See common errors such as index error, zero division error, and key error, and craft informative messages.
Learn how to create custom exceptions in Python by defining a class that inherits from Exception, raising specific errors like salary error, and optionally carrying a message.
This section is a placeholder for built-in libraries like os, sys, collections.
But the course priority is to focus on libraries that are useful to engineers and scientists like numpy, scipy, sympy, so on...
Please, don't forget to rate the course so I can continue producing good quality low cost material for you. Cheers!
Explore NumPy, the Python library for arrays, and learn array creation, basic operations, and memory management, with fast, vector and matrix handling using indexing and shape.
Explore numpy math functions, including sine, cosine, tangents, exponential and logarithmic functions, plus constants like pi and e; learn importing methods, nan handling, and array data types.
Learn to create and reshape numpy arrays using zeros, ones, eye, arange, and linspace, and stack them with vstack and hstack, while understanding reshape versus resize.
Demonstrate numpy memory management, showing assignment does not copy, and how reshape, resize, and base memory sharing affect array behavior.
Explore statistical methods for arrays with numpy, including max, min, argmax, argmin, sum, cumsum, cumprod, mean, variance, and standard deviation. Learn axis-based sums for 2D arrays and compare with pandas.
Explore treating numpy arrays as vectors, use np.cross for cross products, compute dot products for projections, and apply np.linalg.norm while noting the difference between vector dot products and matrix multiplication.
Create a ten by ten matrix fully filled with pi using numpy, reshaping a ones matrix and comparing with a zeros approach to verify the result.
Create a two by ten matrix with rows containing numbers 1 through 10 using numpy, then update the last element of each row to 100 by index.
Compute the variance and standard deviation of a 0 to 100 integer array with NumPy, using arrange or linspace to create the 101-element array.
Learn to clean and preprocess data with pandas using drop, dropna, fillna, isnull, and duplicates handling on a chemical experiment dataset for analysis.
Use pd.concat to concatenate multiple data frames by rows or columns, controlling with axis, join, and ignore index, and compare with join for single vs multiple frames.
Learn how to build and customize pivot tables in pandas to summarize energy data by energy source and location, using mean, sum, and other aggregates.
read a csv energy dataset, convert capacity from megawatts to gigawatt hours, compute efficiency as generation over capacity, and compare results using a boolean check and pivot table.
Solve the exercise by using pivot tables to sum capacity by country across all energy sources, group by location, and sort to identify the country with the highest capacity.
The goal of "Python for Engineers and Scientists" is to provide programming, mathematical, and graphical tools for professionals across various fields.
Why should you take this course?
Both Python and the scientific ecosystem libraries taught here are FREE and open-source tools. This makes it easier to adopt these tools in both workplace and academic settings.
Moreover, the language and its libraries have been growing worldwide with a super active community. I've observed this since 2015 when I did R&D internships at a nuclear energy company.
Don't fall behind, my friend!
What do you gain by enrolling in this course?
This is the most comprehensive course with the best cost/benefit ratio on Python and its scientific ecosystem. In addition to around 15 hours of content, students have access to the Q&A forum, where we already have constructive interactions with all students and many questions and answers already addressed. You'll also have access to all the materials/codes created during the class, all structured and organized!
What will I learn?
In general, the course content includes:
- Python Fundamentals: You'll learn everything from installation to more advanced topics like object-oriented programming. Also, you'll cover useful day-to-day topics like task automation.
- Sympy: You'll master symbolic algebra manipulation, solving systems of equations, differential equations, and calculus functions. Additionally, there are plenty of exercises and challenges (proposed and solved). Sympy is a great substitute for Matlab.
- Numpy: You'll dive deep into the powerful array structure of Numpy.
- Pandas: You'll learn the best Excel replacement we have today. We'll work on filters, pivot tables, graphs, and real data handling with Pandas.
- Matplotlib: You'll gain an in-depth understanding of Matplotlib's objects for creating charts and dashboards.
- Scipy: You'll explore the "big boy" of computational mathematics in Python. We'll cover linear algebra, integrals, and numerical solutions to ODEs, with exercises (proposed and solved).
I invite all of you to watch the introductory lesson where I showcase the learning structure of the course.