Yoav Ram

Python Training for Engineers, Data Scientists, and Everyone


About


‐ Postdoctoral fellow at Stanford University.
‐ PhD in Mathematical & Computational Biology from Tel-Aviv University.
‐ Programming with Python since 2002.
‐ Training and teaching Python since 2011.
‐ Excellence in Teaching Award from the Faculty of Engineering, Tel-Aviv University.
‐ Specializing in Scientific Python: NumPy, SciPy, Matplotlib, Jupyter, Pandas, Cython, etc.
‐ Experience building lightweight web applications and user interfaces.
‐ Based in Israel and California, available Worldwide.

I enjoy solving and communicating complex problems and ideas.
I develop and give Python programming courses with focus on numerical, scientific, and statistical applications.
To enhance participant learning, all course material is fully interactive, using Jupyter notebooks, and all lectures include hands-on exercises.

Browse the offered courses below or contact me for customized courses.

Testimonials


Previous Next

Courses


Python for Engineers

Python Programming for MATLAB® Users

The course is intended for engineers with MATLAB® experience that are interested in applying their knowledge and skills using the Python programming language.

The course combines practical programming skills in the Python programming language with a comprehensive overview of major numerical, mathematical, and statistical libraries. The course is taught entirely using interactive notebooks and includes hands-on exercises.

  • Four-five days, 32-40 hours of interactive lectures in a computer lab
  • Built-in exercises
  • Python 3.5
  • All course material in interactive Jupyter notebooks
  • Topics:
    • Basic Python
    • Idiomatic Python
    • Object Oriented Programming
    • I/O
    • N-dimensional arrays
    • Plotting & Visualizations
    • Linear algebra
    • Calculus
    • Digital signal processing
    • Image analysis
    • Statistics
    • Stochastic processes
    • Curve fitting
    • Optimization
    • Machine learning
    • Deep learning
    • Symbolic mathematics
    • High performance computing
    • Testing and debugging
    • User interfaces
    • RESTful web services
    • Monitoring and event scheduling
  • Python libraries:

Problem Solving with Python

One Day Workshop on Data Science with Python for Developers and Engineers

This one day workshop is intended for software developers and engineers interested in a quick introduction to the Python programming language and its use for data science.

The one day workshop combines an introduction to the basics of the Python programming language with a preview of the common tools used for data analysis and visualization. The workshop is taught entirely using interactive notebooks and includes hands-on exercises.

Machine Learning and Deep Learning with Python

One Day Workshop on Data Analysis, Machine Learning and Deep Learning with Python

The workshop is intended for developrs and engineers with Python experience interested in machine learning and deep learning with Python.

The one day workshop provides an introduction to common tools used for data analysis and visualization in Python and to libraries used for machine learning (scikit-learn) and deep learning with neural networks (TensorFlow). The course is taught entirely using interactive notebooks and includes hands-on exercises.

  • 8 hours of interactive hands-on sessions
  • Built-in exercises
  • Python 3.5
  • All course material in interactive Jupyter notebooks
  • Topics:
    • Data processing and analysis
    • Plotting & Visualizations
    • Machine learning
    • Deep learning
    • Convolutional neural networks
  • Python libraries:

Python for Life

Python Programming for Biology Graduate Students

The course is intended for biology graduate students interested in extending their knowledge and skills in programming and computational biology.
The course was developed and taught at the Faculty of Life Sciences in Tel-Aviv University during Spring semester 2015.

The course combines practical programming skills in the Python programming language with computational modeling and analysis of biological data. For example, students do sequence data analysis, mathematical modeling of population dynamics, and statistical analysis and visualization of experimental and observational results.

  • 20 hours of interactive lectures in computer lab
  • Seven homework exercises
  • Mini research projects and a poster session
  • Two hour exam in computer lab
  • Python 3.4
  • All course material in IPython notebooks
  • Python libraries:

CS1001.py

Extended Introduction to Computer Science with Python

Recitation notebooks for the course Extended Introduction to Computer Science with Python, given at Tel-Aviv University in Spring 2013.

The course is given as a first CS course to undergraduate CS students on the first or second semester of the first year of their studies towards a BSc in Computer Science.

  • 28 hours of interactive recitations
  • Home exercises
  • Python 3.2
  • All course material in interactive IPython notebooks (v0.13)
  • Topics:
    • Basic Python
    • Python's memory model
    • Object Oriented Programming
    • Time complexity
    • Encryption
    • Recursion
    • High-order functions
    • Hashing
    • Data structures
    • String matching algorithms
    • Compression
    • Digital signal processing
    • Image processing
    • Error correction
  • Python libraries:

Python Programming for Undergraduate Engineers

Introductory programming course for undergraduate engineering students

The course intoduces basic concepts in computer science and programming to engineering undergraduate students.
The course was developed and taught at the Faculty of Engineering in Tel-Aviv University in 2011-2015.

The course presents both conceptual and applicative aspects of programming, and students acquire basic programming skills.
The course deals with general topics: Python programming language, use of external libraries, recursion, runtime analysis of sorting algorithms, dynamic programming, exception handling, IO and more. On the applicative side, the course will present applications from different fields of engineering and computer science: simulation, optimization, data analysis, signal processing, GUI and more.

  • 56 hours of lectures and recitations
  • Seven homework exercises
  • Three hour written exam
  • Python 2.7
  • All course material in PowerPoint and PDF
  • Python libraries:

Contact