Julia in optimization & AI
Julia & AI
The Julia language developed at Massachusetts Institute of Technology
was specifically designed to address the typical challenges encountered in numerical computing and AI.
Julia combines the efficient and convenient development process of Python with performance levels comparable to C,
making it ideal for high-performance computing, scientific computing, and AI applications.
My contributions to this new emerging field include:
Cloud computing
In the past, I have also been involved in developing methods and tools for data processing and cloud computing.
In particular, I have conducted a number of studies in the area of cost optimization in cloud computing.
In 2016, I introduced a lecture on Cloud Computing at SGH. At that time, it was the first academic lecture of its kind in Poland.
Thanks to this lecture, in 2020 I received the most votes in the survey for the most outstanding lecturer at SGH in the Student Government ranking
(see Godlewski W., Hurbik D., Jawor R., Lizon R., Marek J., Pechcińska A. (2022) Remote classes through the eyes of SGH students, Student Government Quality Committee, December 2020).
I continue to work on using the cloud for Machine Learning/Big Data analyses and computational clusters (HPC computing). More details below:
Training
I can personally offer several trainings in cloud computing and machine learning. The trainings can be delivered either in Polish or English.
Optimizing cloud computing costs
The goal of the training is to present methods and tools for cost optimization of cloud infrastructure.
During the training mechanism that lead to decreatse in TCO of IT infrstrucure will be discussed.
In particular the cloud computing approach will be compared with traditional on-site infrastructure.
It should be noted that the biggest savings can be accomplished by adopting the data processing models
and the infrastructure to the cloud computing model. Hence, a large part of the training will
focus on optimization of cloud infrastructure design.
The participation in the course is recommended for CIOs as well as persons in charge of IT infrastructure costs.
Duration of training:
6h.
- Cloud computing introduction
- Virtual servers in the cloud
- Virtual data storage (block and key-value storage)
- Database management services (SQL and NoSQL)
- Programmable infrastructure
- Cloud computing cost mechanisms
- Cloud computing costs optimization
- Monitoring cloud infrastructure
- Virtual machines - disposable computing resource in IT infrastructure
- Infrastructure autoscaling
- Reserved instances
- Spot market for cloud computing resources (AWS EC2 spot)
Introduction to cloud computing
An introductory course for cloud computing. The course focuses on designing new
cloud infrastructure as well as moving existing on-site infrastructure to the cloud.
Duration of training: 4-8h
Mastering Amazon Web Services API
This is an introductory course on programmable infrastructure in the cloud.
Participation in the course is particularly recommended for programmers and system administrators
in companies planning to introduce cloud computing architecture.
The course can be based on Python 2/3 (boto library) or Java (AWS SDK for Java) - depending on your company needs.
Duration of training: 6h
Cloud computing with Apache Spark
The goal of the training is to present Apache Spark - a leading big data analytics solutions.
During the course technological aspects will be illustrated with several use case scenarios.
The course can be based on Python, Scala or Java (depending on your needs)
Duration of training: 8h
Cloud security
The goal of the training is to present aspects of cloud security along with the best practices.
The training is based on Amazon Web Services cloud platform.
Duration of training: 4h
Python & data analytics in the cloud
Duration of training:
2 days.
- Python programmer's enviroment – Anaconda/Spyder
- Python ABC
- Data structures - list, dictionaries and tuples
- Functions
- Functional programming in Python
- Data import and export
- working with CSV files
- working with JSON data
- working with relational databases (Oracle, MS SQL)
- downloading data from the web
- Date and time processing
- Where the Python language is heading - comparing Python 2 and Python 3
- Numerical computing and machine learning
- Introduction to the numpy package
- Introduction to the pandas and sci-kit learn packages
- Data visualisation with matplotlib
- Regression models
- Classification models
- Simulation models
- Efficient Python progamming
- Speed of Python code execution
- Vector computing with numpy
- Parallel computing (multiprocessing with Python)
- Python in the AWS cloud
- Python on EC2 instances
- Introduction to grid-computing with Python
- Computing clusters with Python - StarCluster
New methods and tools for cloud computing