Course Identification

Basic programming skills bootcamp (Python)
20202182

Lecturers and Teaching Assistants

Mr. Gabor Szabo
N/A

Course Schedule and Location

2020
Second Semester
March 15-19, 09:00-17:00 daily. FGS room B,
15/03/2020
19/03/2020

Field of Study, Course Type and Credit Points

Chemical Sciences: Lecture; Elective; Regular; 2.00 points
Life Sciences: Lecture; Elective; Regular; 2.00 points
Life Sciences (Molecular and Cellular Neuroscience Track): Lecture; Elective; Regular; 2.00 points

Comments

FGS room B
Priority will be given to students under the Chemistry Board of Studies.
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

12/02/2020

Attendance and participation

Obligatory

Grade Type

Pass / Fail

Grade Breakdown (in %)

100%

Evaluation Type

Final assignment

Scheduled date 1

N/A
N/A
-
N/A

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