Seeing the post of
aleshqqa1337 user on IT education
“Uneducated youth” , and then the
answer from the teacher-
component of PavelMSTU , he decided that I could not help but share a story on the same topic that had just unfolded as part of university studies. The story will illustrate the learning process at the IT specialty of a large state university, the likes of which in the country are many, i.e. The following situation is relevant for many cities.
This story has not only an introductory nature, but also contains a solution to the problem of "non-responding to modern realities" IT education in universities, which I followed. The solution is not something unique, however, perhaps someone will find it suitable for themselves despite certain inconveniences, which will also be mentioned.
About the educational program
After the 11th grade in 2012, I entered the State University (which has now become something of a federal university) in my specialty “Business Informatics”, in the description of which on the website of the university it was said about studying mainly mathematical methods of data analysis in Economics and information technology in the field of e-business and entrepreneurship in general. In general, this specialty was positioned as an IT direction in the field of economics, finance and business, teaching the use of relevant mathematical and information technology tools, implying both the use of existing software and the development of its own.
What is it that turned out to be true?
')
In the first year, of course, it is strange to expect something supernatural, because it is unlikely that we will talk in pairs about serious things right away and laboratory programming with the best experts will begin and there will be only IT disciplines in the schedule, given that the educational program is half of the economics and mathematics methods Therefore, we were not surprised by the dominance of mathematical analysis, linear algebra, discrete mathematics, history, philosophy, psychology, life support and the like over any subjects at least somehow connected with IT.
In the first year there were two or three of them. At lectures on one subject, the teacher reminded of his recently completed studies at the same university, complained about students who had not passed him coursework from the last semester, was optimistic about the popularity of Bitcoin, and in his spare time he lectured, if I remember correctly, about the device COMPUTER. In practical classes, we performed laboratory tests on textbooks compiled by someone from the university, Word and Excel: insert a table into a document, make cells with different colors and different borders on an excel sheet, and so on.
At the lectures of the second subject, which was so succinctly called “Programming”, half a semester was broadcast on the syntax Pascal, var, begin / end, if-then-else, etc. The remaining half of the semester were puzzles (also from some old manual) like “find the maximum element of the array”.
The debate about the feasibility of studying Pascal in our time has become a talk of the town, and I don’t have anything against this language, but there are no explanations of what general principles can be used in the future when learning other languages, what better approaches to solve certain problems, etc. as well as doubts that programming in Turbo Pascal has something in common with the modern IT industry and the possibility of self-realization in this area, roughly speaking, discouraged most students from interest in subjects related to programming. On the one hand, one might think that these conclusions are hasty, but the fact is that there were a lot of monotonous and uninteresting tasks on the training manual, and when finding a job, then I can answer the question about skills “I can do arithmetic operations on pascal and find the maximum element in the array Nobody was tempted.
Of course, you might think that it’s necessary to start somewhere, first small and then more serious topics will go and so on. However, in the following courses, the situation has changed little. Items related to information technology has become more, but their content could hardly be called promising.
About some subjects
Design and development of web-resources - we were informed that there is such a CMS Joomla and the software package Denwer, said “install Joomla to Denwer”, having read the instructions on the official websites and “play around with Joomla”, i.e. create a couple of some pages, where there will be a couple of pictures and a bit of text. "In the last lesson, show what happened." Do I have to say that most of the students, having opened the installation manual for installing Joomla on Denver, have firmly decided to go about their business for the whole semester? Well, on the eve of the surrender, of course, everyone started fussing, but everyone prepared with grief in half and with the “friendly” help of someone who figured it all out. Could it have been somehow, if not motivated, then at least more interesting to submit the material than simply “well, you figure it out what's what, then show what happened”? Well, maybe.
Local, global and corporate information networks - the entire course of lectures consisted of the teacher reading information on various topics such as network topology (bus, star, ring, etc.) from Wikipedia. Without explanation / clarification, just read, and we recorded.
Computational systems. Network. Telecommunications - also the text on different topics from Wikipedia. There were two or three such items. Just a teacher reading various topics from Wikipedia, and sometimes from Intuit. I have nothing against these resources, the question is simply the appropriateness of such classes. With the same success, we could just throw links to us, who are interested - would read, listen to the dull flow of information anyway, half-heartedly.
IP life cycle management - a course of lectures was read, like, like, even a part-time teacher from some company who occasionally dropped in at a university for lectures. He just preferred Wikipedia lectures from intuit, who tirelessly read couples all over the place in such a way that it seemed that his teaching was of little interest to what he reads (ISO standards in IT, ITIL / ITSM methodologies) - not in his circle of interests .
Databases - first lectures on SQL and queries, then laboratory on MySQL manuals with tasks for simple queries. Also, especially without explanation, the debugged scheme “here is a training manual - do it” worked.
Designing and developing an IC is a manual with tasks like Pascal, only for Java: “find the number of matching elements in two arrays”. Do you think in the manual there was something about OOP, data structures, sorting algorithms or something like that? Not a word.
Business Process Modeling - the lectures were really about business process modeling, but practical exercises on this subject ... about VBA. Again, for some training manual, it was necessary to perform several laboratory tests on creating various kinds of macros in Excel. As puzzles on VBA are connected with BP modeling, I still don’t know. And not the fact that the compiler of the curriculum knew.
Basics of 1C - several lectures about using the program interface, its components, etc., and during practical classes - entering information into the program (for several years as an irrelevant version) dictated by a teacher.
Payment systems on the Internet - have registered accounts in webmoney. Everything.
E-business is almost the same as with Joomla, only with WordPress.
There were still a lot of subjects that, judging by the name, are related to IT, but their content was more of a humanitarian nature. For example, “ICT Markets and Sales Organization”, “IT Service Management and Content Management”, “IP Development Management” and so on. For the most part, the lectures had nothing to do with reality.
Of course, there are many supporters of the opinion that an Orthodox programmer should be able to take the documentation / manual and immediately learn a particular language / framework / technology or so. Maybe I don’t understand something, but it seemed to me that teaching at a university should not be limited to transferring not knowledge to students, but manuals, which you have to figure out for yourself how everything works. For all the time of training on subjects related to programming, etc., none of the teachers mentioned the data structures, or the known algorithms (search, sorting and others), or design patterns, or optimization or refactoring, or about code testing, neither about OOP principles, nor about other paradigms, nor about CMS alternatives, nor about one popular framework, nor about one library, nor about the differences between static and dynamic typing, compiler and interpreter. In short, about anything that is the subject of conversation at the interviews or at least just useful and applicable in practice.
I do not aim to openly criticize the educational program in this article, just describe how it all happened. Do employers need students with this knowledge? Are applicants interested in such training? Does the university deserve accreditation in this area of study? I don't know, maybe that's how it should be.
I do not rule out that the educational process at HSE or at St. Petersburg State University on business informatics is somewhat different, but at least in my state university, it would not seem like a backwater, but a million-plus city, this is exactly the situation.
About teachers
It is impossible to say unequivocally that this is entirely the fault of the teachers and that it is all the same to everyone ... to a certain extent it does not matter what they teach, how they do it, whether it is relevant material, etc. However, if you look at the situation from the inside, having studied for several years, then, with all the desire, it is not always possible to find positive moments.
What were the teachers:
- The specialists of other sciences - half of the teachers are people in years, associate professors, candidates of sciences, professors. But almost all graduated from Mekhmat or economic areas and they have mathematical or economic specialties / profiles. By the way, mathematical disciplines (mathematical analysis, discrete mathematics, econometrics, and others) were taught by really knowledgeable teachers, who can see that they know and love their subject, but traditionally they do not consider it necessary to tell why and why, in what areas and when integrals come in, limits, regressions, derivatives, etc. Nevertheless, even the completed advanced training courses or retraining (not aware of the details) did not allow them to master the material subjects related to IT and programming in particular, nor teach him all the more. They either followed the topics they knew, and instead of information technologies they talked about something mathematical / economic, or they followed the pattern with the manuals.
- Uninterested - unfortunately, there were quite a few teachers, on monotonous reading of lectures from the Internet, the communication and manner of which, it became obvious
that they come not to teach, but to work. Just work out the day, report something, give topics for reports and go home. They are not motivated by salary? Angry over the memes in the phones at the back of the students? The prospect of teaching topics that do not match their profile? Then why do this? A person of five or six for several years pretended to teach, just reading from the Internet is not always coherent topics in a plaintive tone. - Trying - out of the whole team of teachers (several dozen), only three (all under 30 years old) tried at least to arouse interest in the subject, to tell the maximum of useful things to the best of their ability. One teacher, although he didn’t really understand the intricacies of programming and databases, but he could always be approached with a question, and if he didn’t give an exact answer, he would at least tell you the direction of the search. He also has a mathematical education, but he was interested in the IT field and, unlike many other teachers, he knew that array indexing starts from zero, not from one, that there is also a DBMS other than MySQL, and "cloud services" is not a kingdom of heaven, as one "honored teacher of the department" of 60 years thought, having heard this phrase for the first time.
Another teacher was keen on creating websites, studied it on his own, something from his own experience, something from articles on the Internet. He talked about the basics of SEO optimization, search engine ranking rules, the basics of user-friendly web design, etc. He liked these topics, and it was interesting to listen to him, and this knowledge was useful.
The third teacher, although she was more versed in mathematics in economics, still tried for the subject on IT topics to find something sensible and tell about it. For example, she found short C # programs and showed how to evaluate the quality of a code using various mathematical metrics.
About students
Over time, students (who earlier, and who later) became related to subjects related to IT, first with less interest, and then with minimal enthusiasm. They handed over laboratory workbooks made by other students; in practice reports they wrote artworks about the work done in accordance with the requirements of the department, they also read reports from the wiki, because even teachers did not listen to them, they copied everything from beginning to end from the Internet, paraphrasing several pages to get tested for anti-plagiarism, and nobody read them either, or listened to on defense.
Of course, you can say that you would like to learn something - you would start to study something yourself, there are plenty of resources on the Internet. Well, maybe this is the right approach, but when confronted with the dullness of the material and the manner of teaching, the majority have no longer any desire to participate in the learning process. Everyone was waiting for graduation to go to work or when their parents met, or if ambitions are more modest, just where they will take: call center, pizza delivery, clothing store.
About a possible solution
I was interested in the development of programs and websites (and some other topics) since my school, where I participated in various computer science competitions. Nothing serious, simple contests and tasks. I practically did not know anything, but I did websites for olympiads in
MS FrontPage 2003 . When I enrolled in Business Informatics, which described many IT areas in its description, I hoped to determine my interests and learn something efficient. True, besides what I have done to other laboratory and other tasks, there is little that can be called a valuable experience gained during my time at the university.
By the third year it became obvious that the phrase “if you want to do something well, do it yourself” also applies to education to some extent. When I saw on one of the couples a little C # program I found on the Internet, I decided to try to do something of my own.
At first I tried something simple and unpretentious, I realized that for me to program in C # is an extremely interesting activity, I read and watched video tutorials on youtube and the Microsoft Virtual Academy course from Dmitry Soshnikov. To combine this hobby with studying at the university and personal time, I decided to make a C # program as a regular coursework. Having discussed everything with one of the adequate teachers, who became a supervisor, gave advice and looked for information, I began to do a small project in C # for coursework and, in fact, did.
It was in the process of working on it that I began to learn a lot of different things from programming. Just going to the implementation of some function, wrote in the search how it is implemented, how it looks in the examples, read reference information on MSDN, articles on Habré, tutorials. Of course, this approach does not compare with the systemic study of everything in order and as expected, but it was many times more effective than passive listening to the useless flow of information on pairs from people who are not interested.
For a while I had no idea about the principles of OOP, did not hear about SOLID, wrote the canvas of the code directly in the handler for pressing the winforms button, I thought that working with the database is carried out only through ADO.NET, that exception handling and unit tests are what something far from understanding, etc. Just encountering something new in the articles, seeing the mention of something or a link, I gradually found out about it. Not always in the correct sequence studying topics and questions, missing something serious, important, fundamental.
In this way, I initially studied programming and working with the database. Combined self-study with writing coursework, reports at university conferences, and then a diploma on the development of programs in C #. None of the teachers read this, but those PhDs, associate professors and others who attended the conferences, hearing that when writing the user credentials, the password is hashed with the salt, bewildered at both the word “salt” and “hashing”. However, as well as on "cloud services", "token" for authorization, and the term "asynchronous programming". So I just did it for myself, so that over time I would learn and learn more. (It bore fruit: on the protection of diplomas, one of the invited employers, after listening to the story of the thesis work, offered to undergo an internship, and then, in fact, a permanent job.)
In general, for the remaining two years before the end of the bachelor's program, in addition to finding materials for study on the Internet myself, I resorted to other methods. Habré has a lot of stories of people who went for interviews several times to different companies in order to gain experience in communicating at interviews, find out what employers need, what market trends, etc. Actually, and following these examples I attended several interviews for various C # developer jobs or so, just to understand what I don’t know yet, what topics to learn and so on. I repent, I godlessly spent valuable time of people and distracted them from work, but in many respects it was the questions at the interviews, the advice of competent experts which literature was better studied were sent on the right path and gave more benefits than 4 years of university.
Summarizing, we can say that from articles on Habré, video tutorials on youtube, reference books such as MSDN, documentation for different libraries and programs, books that I recommended on stack overflow and interviews, I learned more about IT than by studying in the core direction in the university. The only available solution is to start the first time, at least just to get acquainted yourself with topics that are of interest, because to wait for the university to somehow help hopelessly. Some universities may, of course, seriously approach the educational process, but their units for the whole country will not be enough for everyone.
Many advisors, for whom it is obvious that the best way is to start working as soon as I entered a university. Allegedly, many organizations are ready to discuss and combine with the university and corporate training. Well, maybe a lot, but not enough. At least in my city if they were ready to teach the first time, then only on the condition of a full day's work.
About the results
Of course, one can say that there are many problems in the educational system, that it is imperfect, that something needs to be changed, and someday everything will change (or maybe not), that teachers are not guilty, neither salary nor prospects, that saving drowning - the work of the students themselves, ostensibly if anyone wants - he will learn. Many sincere opinions, many truthful words, but what about the students? Most of the councils boil down to the fact that everything is in the hands of students, spinning and spinning, and everything will work out, such is life, the strongest survive and so. That is, the chance to achieve something only from people with burning eyes, from those who are fanatically passionate about their work, learn everything independently, grab it on the fly, or have time for everything: work, study, sleep and live? And just people what to do? Not everyone can independently understand everything, understand everything and become a specialist. They are just hoping for a university that they will talk about the basics, point out the direction and help them learn.
What scheme in my opinion is the most effective and "can roll":
- to enter a university, for anyone to say, and in most organizations it is necessary that there is a diploma;
- for the first time, estimate / look at which area is interesting, what is the willingness to make an effort to independently study the chosen topic;
- start self-study, combining with university tasks (coursework,
diplomas), so that there is where to apply all this, and then, on occasion, show employers as a symbol of what is worth dealing with you, and corporate training will not be in vain; - continuously improve, learning, looking for possible ways to learn new things.
As a result, at the next interview there will come a moment when your knowledge, which you received in any available way, will be enough to get to work, and somewhere else you will be ready to offer training.
Honor and praise to those who, without much difficulty, became a self-taught specialist, being a talented and purposeful person, and all the rest - patience, perseverance and good luck in a country where it is easier to get an education from articles on Habré than at a university.