MODULE 0.
1
Welcome and Course Introduction
Azrieli School of Continuing
Studies of the Technion
Learning Objectives
• You will be able to describe the goals and expectations of the
course
• You will be able to describe the main characteristics of
Python, including its history, its interpreter and its package
installer (pip).
• You will be able to write your first Python program to the
interactive interpreter and to Google Colab
• You will be able to choose your own preferred set of tools to
write your Python scripts
About the Instructor
James Hickie
• 13 Years in IT/Cyber
• Ex-Military (Royal Air Force)
• Ex-Intelligence
• 5 Years as a Penetration Tester &
Head of Offensive Security
• [Link]@[Link]
Welcome and Introduction
• Give a short introduction of yourself?
• Any prior experience with Python?
• What do you expect / hope to get out of this
course?
Course Expectations
Azrieli School of Continuing
Studies of the Technion
Course Roadmap
Web
Python Mid-Term
with Exam
Basics
Python
Encryption Networking
Final Exams
with Python with Python
Azrieli School of Continuing
Studies of the Technion
Course Expectations
• The lessons will build upon each other. Make sure
you don’t miss important parts and do all the labs
in time.
• Ask questions if you are not sure about
something, during or after class while practicing
with the materials
• We work as a team, and I want to see leadership
and cooperation. If you are finished with a lab or
assignment, help your fellow students to make sure
no one falls behind.
Azrieli School of Continuing
Studies of the Technion
ChatGPT/AI
Azrieli School of Continuing
Studies of the Technion
What is Python?
Azrieli School of Continuing
Studies of the Technion
What is Python?
• Python is a high-level programming language (HLPL), that is
widely used in various applications such as web development,
data science, artificial intelligence, and many others. Its
characteristics:
– High-level, interpreted language
– Portable (can be run on multiple platforms, including Windows, Linux,
and macOS) o Easy to learn and read
– Large standard library and a staggering amount of external libraries
– Used a lot in the field of cyber security - A lot of tools, exploits and
POCs are written in python
Azrieli School of Continuing
Studies of the Technion
High-Level Programming Language
• High-level programming languages are a lot closer to the logic of human
communication.
– Easy to use
– More flexible
Machine
HLPL Assembly
Code
High-Level: Assembly:
x = 17 + 5 MOV ax, 5
>>> 22 MOV bx, 17
ADD ax, bx
Azrieli School of Continuing
Studies of the Technion
Compiled and Interpreted Languages
• In compiled languages, the whole script (code file) is translated from
readable language to machine code.
– This machine code outputs a compiled file that is ready for execution. (for example:
.exe)
– You can run this compiled file repeatedly
• An interpreted language does not need to be compiled before execution.
– The source code is processed and executed line-by-line by an interpreter, which
reads the code and translates it into machine code on the fly.
– Easier to learn and use, but may result in slower execution times since each line of
code must be interpreted at runtime.
Azrieli School of Continuing
Studies of the Technion
Compiler versus Interpreter
Azrieli School of Continuing
Studies of the Technion
A Short History Of Python
• Python was created in the late 1980s by Guido van Rossum, a Dutch
programmer. He named he language after his favorite comedy group, Monty
• Python and released the first version of Python (version 0.9.0) in February 1991.
• The language became quickly popular amongst developers and the academic
community, due to its ease of use and open-source license.
• Python 2.0 was first released in 2000. Its latest version, 2.7, was released in
2010.
• Python 3.0 was released in 2008. Its latest version, 3.12, was released in 2023.
• Since January 1, 2020, Python 2.7 has "retired" and no longer be maintained.
Azrieli School of Continuing
Studies of the Technion
The Python Interpreter
• The Python interpreter for python 3 is simply called python3
• The Python interactive interpreter is called the Python shell or simply the
Python REPL (Read-Eval-Print Loop).
– It allows users to enter and execute Python code interactively, line by line, and
receive immediate feedback on the results.
– A powerful tool for testing code snippets, learning and experimenting with new
features, and debugging code
Azrieli School of Continuing
Studies of the Technion
PIP Installs Packages
• Pip, or “Pip Installs Packages”, is the package management system for
Python.
• It is used to install, upgrade, and manage Python packages and their
dependencies.
• It is a command-line tool that allows you to easily download and install
Python packages from the Python Package Index (PyPI) and other
repositories.
• Usage: pip install <package-name>
Azrieli School of Continuing
Studies of the Technion
Google Colab
Azrieli School of Continuing
Studies of the Technion
Google Colab
• Cloud-Based Jupyter Notebook: Access and execute code online.
• Supports Python and More: Write and run code in multiple languages.
• GPU/TPU Acceleration: Speed up computations with powerful hardware.
• Real-Time Collaboration: Work with others on the same notebook.
• Google Drive Integration: Save and share notebooks easily.
• Pre-installed Libraries: Ready-to-use for data science and machine
learning.
• Interactive Visualizations: Generate charts, tables, and images.
• Educational Tool: Ideal for teaching programming and data analysis.
Azrieli School of Continuing
Studies of the Technion
Install Google Colab
• Open Google Colab:
– Go to [Link] in your web browser.
• Create a New Notebook:
– Click on File > New Notebook.
• Mount Google Drive:
– To access files from your Google Drive, run the following code in a cell:
from [Link] import drive
[Link]('/content/drive’)
• Install Additional Libraries (if needed):
– You can install libraries using pip directly in the notebook:
!pip install library-name
• Run Python Code:
– Write and execute your Python code in cells as needed.
Azrieli School of Continuing
Studies of the Technion
Building Your
Working Environment
Azrieli School of Continuing
Studies of the Technion
Text Editors For Linux
1. Visual Studio Code: has syntax highlighting, code completion, debugging, and Git
integration.
2. PyCharm: Python IDE with a lot of features, including intelligent code completion,
debugging, refactoring, and Git integration.
3. Sublime Text: A popular code editor with support for many programming languages,
including Python. It has a powerful plugin system and a clean, customizable interface.
4. Atom: Another free and open-source code editor with a large community of users and a
wide range of plugins and themes. It has built-in support for Git and GitHub, as well as
syntax highlighting and code completion.
5. Emacs and Vim –both haveasteep learning curve, but they are highly customizable
andextensible.
Azrieli School of Continuing
Studies of the Technion
Building Your Working Environment
• In Teams:
– Choose your text editor
– Discuss other useful tools
– Arrange knowledge sharing (cloud, Git, etc…)
– Discuss roles and responsibilities
Azrieli School of Continuing
Studies of the Technion
Learning Objectives
• You will be able to describe the goals and expectations of the
course
• You will be able to describe the main characteristics of
Python, including its history, its interpreter and its package
installer (pip).
• You will be able to write your first Python program to the
interactive interpreter and to Google Colab
• You will be able to choose your own preferred set of tools to
write your Python scripts
Thank you
Azrieli School of Continuing
Studies of the Technion