System Programming with Python

Python System Programming "System focused programming" might be the better term than "System Programming". System programming or systems programming means often only the activity of "programming system software", programs which are often part of the operating system. Our topics in this section of our online course deal with Pipes, Threads and Forks and startin and using shell commands and scripts from a Python script.

Python has various modules to support system focused programming.

The sys module is introduced in the first chapter. A focal point are the data streams (stdin, stdout, stderr) and redirections of strteams.

The interaction between Python and the Linux Shell is the focus in the following chapter of our course.
The interaction of Python and the Linux Shell is the topic of the second chapter. This chapter is followed by Forks and Forking.

The following chapter covers the area of Threads and how to use them using the thread module. We show how to find the active IP addresses in a local network by using forks.

The last chapter might be interesting to teetotallers as well, because it's not about alcohol but dealing with alcohol, even though the "99 bottles of beer" in the title give the impression. Instead, we show you how to write a program which is construing the famous American song "99 bottles of beer" by using forked processes and Pipes. So, if you need a good example of pipes and forks working together you will find it here.

The finite state machine is an example from theoretical computer science, but we explained this concept in great detail, so that even an amateur in Computer Science can understand the example. At least we hope so.

If you want to get efficient and fast results with arrays and matrices, the NumPy module of Python is definitely the right tool collection for you. You will find answers to your questions in our tutorial, i.e. in our chapters "NumPy Module" and "Matrix Arithmetic".

If you feel that the above topics are to complicated or sophisticated for you, you might like our course for beginners in Python. You find a documented link list in the following lines:

Online Course

You will find a complete introduction into Python in our online tutorial:

Further Topics

  • To understand functions properly, you need a thorough understanding of arguments and parameter passing.
  • In the next chapter of our seminar you will find all you have to know about namespaces.
  • Global and local variables is a topic, which can be different for beginners.
  • A language without the ability to read and write data files would be. So we will introduce you in our course to the essentials of file management.
  • A program, especially a large one, shouldn't be called a program, if it isn't written in a modular way.
  • Memoisation is a technique used in computing to speed up programs by giving functions memory.
  • Text processing without regular expressions is only piecemeal. That's why we present in our tutorial a detailled introduction into regular expressions under Python, continued by a chapter with advanced regular expressions.
  • Something very controversial in Python: Lambda Operator
  • It's no secret, that Guido van Rossum doesn't like lambda Operators. Here we give you an introduction into his preferred way, i.e. List Comprehension
  • Exception Handling is a concept which is comparatively new, i.e. it hasn't been known in programming languages like C and Fortran but in C++ and Java.
  • Generators are not only good for producing electricity, in Python generators are the most powerful tool to create iterators.
  • Yes, Python is a fully object oriented language, so in this chapter of our cours you will learn how to use classes in Python.

The meaning of Course

The question is ambiguous. First we want to explain, why this website is called "A Python Course". This website is seen all over the world and the expression "course" has varying meanings in the English speaking world. Both in the United States and Canada, a course is a teaching unit, which might last e.g. one academic term. The students normally get a grade or some academic credit for attending the course, usually after having passed an exam.

In the United Kingdom and Australia the term "course" usually defines the complete programme of studies required to complete a major or a study path leading to a university degree. The word "unit" is used in the UK to refer to an academic course in the North American sense.

On the one hand, we had the US and Canadian sense in mind: Our Python is one teaching unit and when you have successfully passed it, you are capable of programming in Python. On the other hand, we had the original meaning of the word in mind: A "course of instruction" as it might be used in book titles like "A Course in Programming Python".