Dmitry Shtennikov is the author of the online course
Programming and Web Application Development and an associate professor at the Department of Computer Educational Technologies at ITMO University.
This is his first experience with massively open online courses, and with his debut he chose a course on the Python programming language and the Django framework. Dmitry talks about what and for whom his first online course will be.
Markus Spiske / Flickr / PD')
The course “Programming and development of web applications” can be recorded for all those who have a simple but important “skill” - the desire to learn. Everyone can take a course - from schoolchildren who want to indulge in programming, students who are taught this discipline at the university, to all those who want to deepen their knowledge, learn a new programming language or get training from a teacher at ITMO University. In addition, this course is accelerating - it covers all sections from the simplest programming and the basics of working with data to, in fact, the development of web resources.
Dmitry Shtennikov: Honestly, I do not give some breathtakingly new things in my course, globally speaking. Yes, and expect this from the basic course in Python is quite difficult. But the course is good because it is fast and convenient in terms of presenting information. He is not tightened, which, as a lecturer, does not allow me to turn around, but there is no “water” in it.In addition, the course was tested on ITMO University students, who are taught by Dmitry Shtennikov. He conducted lectures and practical classes for his students exactly in the form in which they will be presented to the students of the online course.
Dmitry at one time worked with students studying in the specialty “Intellectual technologies in the humanitarian sphere”, for whom programming in Python is not a core subject. Therefore, the course is suitable for development and novice programmers.
How is the course built?
The lecture section will consist of materials, ranging from simple operations, simple software constructs, conditions, cycles, to Python data structures (lists, dictionaries, sequences, frozen sequences, strings, tuples). Next will be a small piece of functional programming: the creation of functions, the study of which will be useful before you start working with the Python programming language.
Naturally, the lecture material will include object-oriented programming: the description of classes, instances of classes, inheritance, the use of elements such as decorators to change the behavior of functions or methods, iterators and generators.
After this, students will be expected to become familiar with the capabilities of Python's system programming — creating and reading files, folders, viewing content, copying, moving. And then work with the database on the example of SQLite - the embedded database in Python.
After mastering all this database, students will be ready to receive information about creating web resources - how to make your own server and how to start it.
The culmination of the course will be the creation of a typical web resource on Django - a small information system and its annexes. Dmitry will tell his listeners how to do it, and those already within the virtual laboratories that are offered in the course as a practice will have to repeat it. In general, the training will look like this: students will gradually receive new information throughout the course, do a project, and then try to improve it on the exam with the help of previously acquired knowledge.
Why Python
Dmitry Shtennikov: I myself began to learn the Python programming language, because I'm lazy. The fact is that Python uses the so-called dynamic typing. That is, at any time, I can declare any variable without declaring its type at the beginning, set any data type to it, and then in another place of the program, take and change this type.
First, the variable could be a number, then a string, then it became an array, and then a URL request. At any moment I took and reassigned it.
This allows the programmer not to dwell on what, where, when he had it written, except in extremely rare cases, that from the point of view of my laziness, it turns out to be very convenient: you have to remember something that I did before, then everything will be fine.If you do not go into details, then in Python there are a huge number of additional libraries, it is a flexible programming language that makes it quite easy to solve problems in different directions. Thanks to the dynamic typing implemented in Python, it goes well as the first language from which to start learning programming.
Dmitry Shtennikov: There is such an author of textbooks on computer science - Konstantin Polyakov. He, too, recently made an emphasis on Python. Although initially his books, naturally, were guided by Basic and Pascal.
This means that along with these most well-known languages, you can choose Python as the first programming language. Moreover, if we talk about children's programming, then Python entered the tasks of the Unified State Examination - it was included in the list of languages used in the task templates.By the way, the course may be useful to those who are preparing for the exam in the future. However, it deals with the basics of Python - the course does not teach to solve specific tasks of the Unified State Exam. Therefore, as Dmitry points out, eleventh-graders have no time for it, because they are being dragged into specific types of tasks. But younger students can just learn the language for their further development.
In addition to Python, the future specialist may not need knowledge of any other languages - in some cases, you can only stop at Python, because it allows it. In addition, Python is very much in demand among employers, because it is suitable for solving a wide range of tasks and in classical programming, and not just in creating web applications.
For example, in Python, it is quite possible to implement the tasks of encryption, data processing, high-performance computing (within reason, it is also possible through parallel threads).
Dmitry Shtennikov: We need to be engaged in graphics processing - please, intellectual data processing - please. You can even run robots on it. YouTube [it] uses, Google uses. What more could a programming language have?The course provides basic knowledge and skills (the ability to write programs for the simplest data processing and create simple web resources), which will be enough for those who want to engage only in web development. Someone can stop, and someone can go on.
Unfortunately, 10 thematic weeks for which the course is designed will not be enough for full industrial programming. But the listener will be able to start creating his own software products from the “I want a website” series. It will also be ready to join the development team and be solely responsible for a small part of the project, which is quite within the capabilities of a student who is looking for an opportunity to practice their skills and try himself at the first job.
In addition, given that the course is dedicated to web applications, it can be recommended to those who work in this area, but not directly related to programming - for example, web designers - if they want to expand their ideas about creating resources .
For those who already know about programming, the course will be boring. You can listen to it for the sake of exotics or to quickly get an understanding of a new programming language, but no more. Therefore, more experienced programmers (first of all, those who take a course not for a credit at a university, but for themselves), it is possible not to listen to a part of the course and join the process a bit later. As Dmitry says, “The first lectures are an introduction to the programming language, albeit with their own characteristics, but“ for ”, and in Africa it is“ for ”. So you can skip classes. ”
Either continue to engage in programming with Dmitry Shtennikov, who plans to launch a more advanced course on the Python programming language a little later.
Dmitry Shtennikov: I advise all novice programmers to play around. You can, of course, do only what the teacher says or only what is written in the books. But when a person himself begins to think: “What will happen if I change it now and put something else on it,” and watches the result, it turns out to be much more interesting and more effective for my own development. So you have to mess with the programming language, like with a toy.The course includes video lectures, surveys and laboratory workshops. At the end of the course there is an online exam. Course duration is 10 weeks. The course will begin on March 6th.