0% found this document useful (0 votes)
22 views24 pages

Python Course Introduction and Overview

This document outlines the introduction and learning objectives for a Python course at the Azrieli School of Continuing Studies of the Technion. It covers the characteristics of Python, its history, the use of the Python interpreter and pip for package management, and tools like Google Colab for coding. The instructor, James Hickie, emphasizes teamwork, asking questions, and the importance of completing labs on time.

Uploaded by

narimanam-acf202
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views24 pages

Python Course Introduction and Overview

This document outlines the introduction and learning objectives for a Python course at the Azrieli School of Continuing Studies of the Technion. It covers the characteristics of Python, its history, the use of the Python interpreter and pip for package management, and tools like Google Colab for coding. The instructor, James Hickie, emphasizes teamwork, asking questions, and the importance of completing labs on time.

Uploaded by

narimanam-acf202
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

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

You might also like