Introduction to Python

Dates and times - Venue - Introduction - Content - On programming - Target audience
Course prerequisites - Final Competences - Teacher - Course material - Fees - Enroll

Dates and times

  • Three-day course: Tuesday April 4, Wednesday April 5 and Thursday April 6, 2017, from 9 am to 12 pm and from 1 pm to 4 pm.
  • Optional additional day: Friday April 7, 2017, from 9 am to 12 pm and from 1 pm to 4 pm.

Venue

Faculty of Science, Site Sterre, Krijgslaan 281, 9000 Ghent. Building S5, pc class Grace Hopper, first floor.

Introduction

Computers have played an increasingly important role in science for 50 years, and in particular the past decade and a half, and will continue to do so. Scientists today need to be completely computationally literate, as it simply becomes almost impossible to do competitive science without such literacy.

Contents

Three day course

This course provides an introduction to Python programming as a stepping stone towards solving advanced problems in scientific computing.

The goal of this course is to show you how to use the many tools you already have on your computer to make it do more work for you. You will learn skills for shaving minutes or hours off many small tasks - and because these skills are scalable, you will also be able to use them to accomplish things that would take you many weeks or even years to do by hand.

The focus is on general solutions applicable to a range of problems. In addition to learning new skills, you will begin to recognize when to apply these tools to make your analysis easier. Once you are familiar with the basic tools, you will learn how to combine them to improve the efficiency, flexibility, and reproducibility of your overall workflow.

In some cases you will even be able to ferry your data through a series of analyses without touching a keyboard. As the driving engine of this automation process, you will learn to write small computer programs using the Python programming language.

Optional additional day

The optional day will present an introduction in Python object oriented programming (OOP). 

On programming

Programming is the process of designing, writing, testing, debugging and maintaining the source code of computer programs. This requires knowledge of the syntax and semantics of a programming language and the skills to write programs in that language.

Additionally, and maybe most importantly, in writing computer programs one must learn how to think as a programmer. This computational thinking process, or in other words, learning the skill of problem solving by programming, is underlined throughout the course.

The programming language Python is used in particular to solve problems in terms of:

  • basic components: instructions, variables, data types and operators
  • control structures: conditional tasks, control loops and functions
  • data structures: strings, lists, tuples, dictionaries, sets and files
  • object oriented programming: objects, classes, attributes, methods, inheritance, polymorphism, exceptions and modules

Target audience

This course is intended for researchers that are new to programming or new to Python programming. It comprises three full days of hands-on sessions where newly acquired skills will immediately be brought into practice through a series of case studies.

Course prerequisites

Some basic computer knowledge is advantageous. Prior programming skills are not required at all.

Final competences

Upon finishing this course you will be able to:

  • translate a task described in natural language into a program in the Python programming language and have this program being executed by a computer in order to generate a correct result
  • test and debug a program (module)
  • make the right choices between different alternatives when implementing a program
  • taking into account performance, coding style and correctness
  • have a working knowledge about the basic principles of object oriented programming

Teacher

Foto van Peter DawyndtProf. dr. Peter Dawyndt is a computer science professor at the Ghent University. His research occurs at the intersection of computer science and the life sciences. This cross-fertilization is a potential starting point for fundamental new developments in biology, biotechnology and medicine, but also serves as a source of inspiration for novel developments in computer science.

He teaches Python courses to undergraduates, graduates and PhD students of Ghent University and is leading the development of Pythia, an online learning environment for automatic evaluation of programming exercises.

Course material

  • An electronic learning environment that automatically provides feedback on submitted solutions for programming exercises (contains 600+ exercises)
  • Slides used during the lectures will be made available electronically, together with additional learning material (background information, links to relevant websites)
  • Book of reference for those who which to further their knowledge after taking the course:
    "Learning Python: Powerful Object-Orientated Programming", Mark Lutz, 4th ed. (2009) O'Reilly Media (ISBN: 978-0596158064)

Fees

Employment Course Optional day Book (optional)
Industry/Private sector1 450 150 65
Non-profit, government, university outside AUGent2 200 65 65
(Doctoral) student outside AUGent2 160 50 65

1 If three or more employees from the same company enrol simultaneously for this course a reduction of 10% on the module price is taken into account.

2 AUGent staff and AUGent doctoral students who pay through use of an SAP internal order/invoice can participate at these special rates.


Enrol for this course