Course Identification

Basic programming skills bootcamp (Python)
20192252

Lecturers and Teaching Assistants

Mr. Gabor Szabo
N/A

Course Schedule and Location

2019
Second Semester
22/9/2019-26/9/2019, 09:00-17:00 daily. FGS Room B,
22/09/2019
26/09/2019

Field of Study, Course Type and Credit Points

Chemical Sciences: Lecture; Elective; 2.00 points

Comments

FGS room B
The course grade is based on the obligatory participation of the student, the submission of the exercises given during the course, and a final assignment that has to be submitted within 30 days after the end of the course.

Prerequisites

No

Restrictions

35

Language of Instruction

English

Registration by

09/07/2019

Attendance and participation

Obligatory

Grade Type

Pass / Fail

Grade Breakdown (in %)

100%

Evaluation Type

Final assignment

Scheduled date 1

N/A
N/A
-
A final assignment that has to be submitted within 30 days after the end of the course.

Estimated Weekly Independent Workload (in hours)

N/A

Syllabus

This is a beginner course suitable for anyone wanting to use Python for developing applications, writing test for QA or using it for system administration.


Course objectives:

  • To be able to write programs in Python.
  • To master the rich set of Python libraries and modules.
  • Understand procedural control flow in Python
  • Use Object Oriented programming techniques

Course format:

  • Duration of the course is 5 days.
  • The course includes approximately 40% hands on lab work.
  • The course can be given in either using Python 2 or Python 3
  • Prerequisites:
  • Experience with a text editor like emacs, vi, pico or notepad.
  • Understanding of files and directories.

Syllabus:

Introduction to Python:

  • Installing Python
  • Where and why to use Python
  • Using the Python interactive interpreter
  • Documentation and how to get help?
  • Indentation

Types and operators:

  • Strings
  • Numbers
  • Lists (arrays)
  • Tuples
  • Dictionaries (hashes)
  • Sorting

Functions subroutines:

  • Function parameters
  • Positional parameters
  • Named parameters
  • Default values
  • Optional parameters
  • Return values
  • Function documentation
  • Lambda functions

Control flow:

  • For loops
  • While loops
  • Loop controls
  • Conditionals
  • Chained comparison
  • Enumerate
  • Boolean and logical operators

IO:

  • print
  • print formatting
  • read/write files

Regular expression (pattern matching):

  • Matching all
  • Searching for a single match
  • Meta characters
  • Character classes
  • Special character classes
  • Quantifiers
  • Alternatives
  • Modifier flags
  • Anchors
  • Back-references
  • Substitution

The Python standard library:

  • Filesystem related functions
  • Running external processes

Creating modules:

  • Loading a module
  • Finding a module in a private directory
  • Changing the search path to a relative directory
  • Importing selected functions
  • Namespaces
  • Creating executable module

Exception handling:

  • Creating non-fatal warnings
  • Catching exceptions
  • Handling exceptions
  • Throwing a new exception
  • The final block
  • Creating your own exception

Object Oriented Programming:

  • Defining classes
  • Initializing objects
  • Methods
  • Attributes or members
  • The self
  • Inheritance

Additional uses:

  • Installing and using 3rd party modules
  • Writing simple web scraping program
  • Writing a simple Web application
  • Accessing SQL databases
  • Reading and writing Excel files

Extra topics:

  • Version control with Git.
  • General differences/attributes of other programming languages.
  • Basic complexity calculation.
  •  

Gabor Szabo Training (Hostlocal Ltd.)
gabor@szabgab.com http://szabgab.com/
+972-54-4624648

Learning Outcomes

Upon successful completion of this course students should be able to:

  1. Write simple data processing programs in Python
  2. Convert files from one format to another format required in scientific environments.
  3. Difrantiate between major programming environments.

Reading List

N/A

Website

N/A