Practical Programming in Python (TIETA19)

Posted on

About the 2018 edition of the course

NOTE: the first lecture on Monday 3.9 at 14-17 has been moved to “Väinö Linna”-sali (= lecture room K104 in the university library building).

NOTE 2: you may now login to the course pages at wetodev.sis.uta.fi.

The next course will start on 3.9.2018 (period I). See the curriculum information for schedule details and a link to course registration.

These are general information pages about the course. The active course pages of the 2018 course will be hosted on the WETO-server (note: the pages will become available once the course begins). You may login to WETO using your basic university account.

General course information

TIETA19 Practical programming in Python is a 5 ECTS course that aims to provide the participating students with basic programming skills in the Python programming language. The course concentrates on Python 3 (= the current modern Python; it is slightly different from the older Python 2).

Python is generally regarded as one of the most simple, yet powerful, generic programming languages to learn. In part due to this, the course does not have any specific background knowledge requirements: it should be possible to pass the course even with very little prior programming experience (although be warned that this might require a good deal of effort on behalf of the student).

Some of the covered topics are:

  • Basic programming concepts.
  • Discussion about Python vs. other programming languages. E.g. what advantages does Python have in comparison to C, C++ or Java?
  • The most central features of Python:
    • Basic syntax (variables, operators, conditional clauses, loops, functions, etc.).
    • Input and output, files.
    • Basic data-structures: tuples, lists, sets and dictionaries.
    • Error handling, exceptions.
    • Modules.
    • Classes, inheritance.
    • Some useful facilities offered by the Python standard library (e.g. for using JSON format, handling time and date, using regular expressions, etc.).

Recommended prior knowledge

If you have not taken any programming courses before, we highly recommend you to browse through at least the first six chapters of the Pluralsight online video course What is programming before the first lecture. The online course consists of short videos explaining the basic high-level ideas of programming (and programming languages). The first six chapters contain altogether roughly 2.5 hours of video. Note that Pluralsight is a non-free service, but you should be able to browse this introductory course for free.

Course structure

The main elements of the course are (1) weekly lectures and (2) exercise work. These are described below.

  1. Lectures
    • The lectures will follow a “hands on” style, where the course topics will be demonstrated by live coding. Participating students are expected to bring their laptops to the lectures. This way students can both try to run the teacher’s code examples on their own computers as well as work on programming exercises during the lectures.
      • Therefore: bring your own laptop to the lectures! If you do not have one, try to work together with a friend who has one.
      • The example codes from the lectures will be published (with comments and slight styling and/or corrections).
    • The course does not have dedicated lecture slides. The lectures are loosely based on the material available at the official Python 3 documentation pages.
  2. Exercise work
    • Students do practical (programming) exercises each week.
    • The exercise solutions will be reviewed during the lectures. There are no separate exercise sessions.

Passing the course

Course participants need to complete enough of the practical exercises and pass the final exam. More details about the passing and grading criteria will be described during the course.