دوٍَْ = Python Introduction and history (R) | Site map (R) | Lecture notes download (R) | On-line lecture notes (R) | Applications examples (R) | Presentations (R) | Test (R) | Bibliography (R)

Python Learning Complex

Welcome to the English-speaking section of the site. This is the place where I tried to accumulate some information about the project in order to give the presentation of it. This attempt is quite risky just because of large amount and diversity of the work done. I'll endeavour to pass between deflating and convincing, however. And of course, there is one more reason: to state some unofficial things which are not for public usage.

Let me introduce myself, my name is Vadim V. Zaitsev, or Zaytsev, depending on what document you use (these are English and French spelling traditions respectively). I am a student of the Rostov State University, almost a B.Sc. (I will obtain that degree by July 4, 2002). My formal profession name is Applied Mathematics, which means I have to deal with both programming and math.

As for the former, I have to have a lot of things enlisted. I did hacking, cracking, disassembling, reverse engineering, computer resident viruses making, and, of course, creative assembly coding. Obviously, the list of defeated victims is not enclosed. Besides, I did some mid-level programming in C, C++, Pascal, LISP, Perl, Python, Java, UNIX shell scripting languages and so on. At this moment I have a lot of very good, high performance, qualified software, which is counted in zillions of bytes and dissipated somewhere on backup CDs. Next, I did web-programming, dynamic HTML, JavaScript, cgi-writing, flash developing, site building (both by hands and by Macromedia Dreamweaver, and one more attempt was made in Zope) and the stuff. I perfectly realized that is not a kind of newness anymore, because now only the lazy user doesn't call him- or herself a web-designer. Although, I'm not the one really good at web-design, the majority of the things I did before this moment, was made under the supervision of the professional painter. I'm very fond of different programming languages and at this moment the list of available languages for me have the length of more than two dozens.


The work consists of:

There is no need to describe the reasons of writing the Lecture Notes--everyone understands it is impossible to build an educating complex without the learning material. It is simple, easy, useful and cosy to use the presentations on the lectures (although I know only one person who used to do it). The list of unsolved problems is necessary if the course consists of both theory and practice.

In the middle of June I had a so-called pre-defence, the simulation of the defence of my thesis with some people from my department. Some of them said that it is somewhat not enough to show the proper examples of the applications in order to teach someone the language. That is not true, I suppose. The people can be divided into two parts: those with linear thinking and those with unlinear one. The person who uses linear thinking could be taught perfectly by examples. It is hard to teach the programmer without it! Someone who uses unlinear thinking only, could not be taught a programming language. It is an uneasy result, and is not the one to be understood by everybody. A lot of different methods of teaching could be invented, but it is not possible to be a programmer with unlinear thinking. The goal should be in the other spot: how to teach someone to think linearly. This is pretty huge problem and I refuse to solve it. Otherwise I'd failed.

So, the only testing routine is just the one you can see now. I will not write the other one.


One can brake the work down into three aspects.

The engineering aspect. This is, of course, the lecture notes text itself. The writing and grinding of the text took a lot of time.

The research aspect. Before the beginning of the work the brief overview of the existing programming languages was done. The first chapter of my thesis tells about the criteria we think the good (for educational purposes) programming language should fit.

The programming aspect. The solved problems (the abovementioned ready applications) are situated here. I took the problems for solving from different areas of mathematics, including arithmetic, algebra, matrix computations, iterated methods of linear systems solving and so on.


There was the strongly formulated goal of the complex long time before the first lecture text was written. Here it is: to give the possibility of python programming language usage in the educational process. Later we reformulated it: to create the web portal where all the materials will be positioned. The work is done, the result is free to use or distribute. It would be very kind of you if you'd find a minute to tell authors you use it. We will not force you to do something, it's just very pleasant to hear that somebody else needs your work.


The authors are: Vadim Zaitsev (HTML, CSS, JS, Python), Alexandr Litvinenko (science advising).

Several persons are acknowledged here:


Valid HTML 4.0! Valid CSS! Level A conformance icon, W3C-WAI Web Content Accessibility Guidelines 1.0