page header photo
share Twitter share LinkedIn

course Learn to program in Python

This training is OS platform-independent

Python for starting programmers

The course Learn to program in Python covers the essential aspects of programming in general and of the Python programming language specifically.
Relevant terminology for programming in general will be covered, with an emphasis on algorithms: which steps lead from problem definition to solution. Apart from that, the course covers various programming constructions, as needed for flow control, data types with their typical applications, binary/octal/hexadecimal representation of numbers, and many other programming-related concepts.
Raspberry Pi Apart from the conceptual part of programming, the syntax of Python is covered, illustrating the extensive possibilities of the Python language. The last day of the course covers the object oriented way of programming.

All topics will be trained extensively with practical lab exercises, under the guidance of the instructor. Besides, additional exercises are provided to be made at home in the evening or during the weekend, to obtain even more profit from this training.

Each participant receives a Raspberry Pi computer with pre-installed operating system and fully functional Python environment (minor details can deviate from the illustration). During the course this serves as the test-bed for lab exercises, and after the course it's all yours.

This course is based on Python version 3. However, the differences are documented in the notes accompaning the slides for every occurrence where Python version 3 deviates from version 2. In this way, participants will be able to find their way in Python 2 code after the course.

With proper practical training continued after the course, students will soon be able to write fairly complex Python programs, individually or as part of a larger project team. Read more >>>

Target audience

  • This course is meant for beginning programmers, seeking to learn the syntax and characteristics of the Python programming language and programming skills in general.
Duration: 5 days       
Contact
Price € 1995,- plus VAT       

Scheduled dates

This course is part of our regular programme. The course material is in English and the teaching language will be English unless the attendants prefer the Dutch language unanimously. Course material in Dutch language is available as well.

Currently scheduled course dates are:

7,8,9,12,13 Jun 2017   Utrecht   (in Dutch language) will not be cancelled This course will not be cancelled!
16,17,18,21,22 Aug 2017   Utrecht   (in Dutch language)
6,7,8,11,12 Sep 2017   Utrecht   (in Dutch language)
11,12,13,16,17 Oct 2017   Utrecht   (in Dutch language)
13,14,15,18,19 Dec 2017   Utrecht   (in Dutch language)

Register for this course: "Learn to program in Python".

Detailed information about this course

Groundbreaking in all aspects

Python as a programming language can be deployed on many fronts. Early 90's, the Dutchman Guido van Rossum designed Python on the foundations of the ABC language that had been developed in the 80's at the CWI (Centre for Mathematics and Computer Science) in Amsterdam. Meanwhile, Python is no longer just a Dutch affair: it now is a language used worldwide for major software projects.

Python is used in many places in scripts to automate system management tasks, and as a convenient language for building portable graphical user interfaces and web applications. The installation programs of many Linux distributions, including RedHat, are built with Python.

Python distinguishes itself from other (scripting) languages because it has been designed as an object oriented language from the ground up. In addition, the language provides a large standard library useable as a foundation to build your own implementations. This makes Python very suitable for the rapid development of new applications.

Prerequisite knowledge

No previous experience in programming is required. The course will present the fine points of programming in general, and the syntax of the Python language as such.

Technical content of the course

  • Introduction to algorithms:
    algorithms for everyday human versus programming algorithms. The life cycle of computer programs.
  • Introduction to Python:
    Positioning, properties, applications, practical use, version2 vs. version 3, Python shell, scripting.
  • Basic data types:
    Constants and variables. Data types. Choosing names. Comment notation. Strings and numbers. Expressions and operators. Elementary string operations. Cutting slices. Overview of the data types and their properties. References. Mutable vs. immutable.
  • Program structures:
    Indentation as block structure, code style (PEP8). Booleans. Extensive coverage of control structures if-elif-else, for-else and while-else. break and continue statements. enumerate and range functions. Best practices. Introduction to exception handling (EAFP). Dummy statement pass.
  • More about sequences and strings:
    Operations on sequences. Specific string methods. Two ways of string formatting.
  • More about lists:
    Specific list methods. Operators for lists. List comprehension. The sorted and reversed functions.
  • Bits and bytes:
    Decimal, binary, octal and hexadecimal representation. String formatting for these representations. Bit manipulations (and, or, xor, shift). Introduction to encoding. Little versus big endian (endianess).
  • Files:
    Binary versus text files. Open modes. Reading from and writing to files. Changing the current offset. Using stdin, stdout and stderr.
  • Encoding:
    Unicode sandwich. Encode versus decode. Different encoding standards. Default encoding. The 'bytes' and 'bytearray' data types.
  • More about dictionaries, tuples and sets:
    Applying dictionaries. Methods for dictionaries. Applying tuples and tuple notation. Using sets and frozensets.
  • Functions:
    Purpose and definition. Calling a function. Docstrings. Parameter passing and default values. Call-by-value versus call-by-reference. Return values.
  • Modules:
    Applying modules. Importing modules. Provenance of modules. Test code in module. Docstrings.
  • More about functions:
    Nested function definitions. Name spaces. Scope rules and examples. Function as parameter. Standard functions map and filter. Lambda expressions. Generator functions.
  • Exceptions:
    EAFP motto (Easier to Ask for Forgiveness than Permission). Standard exception types. Own exception types. Catching exceptions. Actions upon catching exceptions. Generating exceptions with raise. Statement with.
  • Global overview of the Python Standard Library:
    Accessing command line parameters. Program exit. Time functions. Filename-globbing. File system tree walk. Using subprocesses. Elementary network facilities. Serialisation.
  • Introduction to object orientation:
    Classes and instances. Data abstraction. Inheritance, Polymorphism. Dynamic binding. Procedural versus object oriented programming.
  • Object orientation and classes in Python:
    Designing classes in Python. Constructor and destructor methods. Inheritance (derived classes). Polymorphism and dynamic binding. Special class methods. Operator overloading. Subclasses for built-in data types.
  • Regular expressions (bonus chapter).

Documentation

Course attendees receive a student pack with copies of the presentations, lab exercises and answers to the exercises.

Students receive a Raspberry Pi computer with operating system and Python language environment. During the course this will be the working environment, and after the course it becomes the property of the student.

Certificate

Shortly after the course the student will receive a certificate as a proof of participation.

Valid XHTML 1.0 Strict   Valid CSS2