"Fundamentals of programming" set for a free course with examples in JavaScript







Dear fellow engineers and future engineers, the Metarchy community opens a set for the free course "Fundamentals of Programming", which will be available on youtube and github without any restrictions. Some of the lectures have already been recorded at the end of 2018 and the beginning of 2019, and some will be delivered at the Kiev Polytechnic Institute in the fall of 2019 and immediately available on the course channel . The course starts on September 3. The experience of the previous 5 years, when I did more complex lectures, showed the need for lectures for the very beginners. This time, by the numerous requests of students, I will try to add a lot of materials on the basics of programming and, if possible, abstract the course from JavaScript. Of course, most examples will remain in JavaScript, but the theoretical part will be much wider, and not limited to the syntax and API of the language. Some examples will be in TypeScript and C ++. This is not a bare JavaScript course, but a fundamental course on programming basics, including basic concepts and design patterns for different paradigms, functional, procedural, object-oriented, generalized, asynchronous, reactive, parallel, multi-paradigm and metaprogramming, as well as the basis of data structures , testing, principles of building the structure and architecture of projects.













About the course



The course is built without the use of external libraries, dependencies and frameworks, instead we will try to do everything with our own hands, delving into how and why it works. Node.js and a browser will be used as a launch environment for sample code. This year the course will be supplemented with practical tasks that were so lacking before. To master the development process, refactoring and code optimization techniques will be demonstrated, including code reviews of student tasks. Attention will be paid to the style of the code, the use of tools such as version control systems and package managers. I tried to make all the examples as close as possible to real projects, because you want to become specialists not in training examples, but in practical programming. Code examples are in plain text in a github at HowProgrammingWorks , links to the code will be under each video, and backlinks from the code to the video are where video lectures have already been recorded. The github contains a glossary of terms and a table of contents for the course . Questions can be asked in groups in a telegram or immediately below the video. All lectures are open, you can come to them at the KPI and ask questions at seminars after the lectures. The schedule of lectures is published immediately, but may vary slightly.













Exam



In winter, after 1 semester, students will be offered independent tasks to assess the level of knowledge, and if they are successfully completed, you can come to the exam to receive a certificate from Metarhia. My exam is not a university exam with tickets, with theory and practice, but a full exam in all the material where the theory is not divorced from practice. There is no room for simple luck. Not everyone will pass the exam, approximately 1-2 out of 100 students can get a certificate. But we learn not for the sake of pieces of paper, but for the sake of knowledge. You can take the exam again only after a year. Education is free, everyone can. Already registered more than 1200 people. Education can last from 1 to 4 years, depending on the success of the student. If someone does not pass the exam, you can continue to study, but I will devote more time to those who pass. I’ll tell you more about exams closer to the end of the semester, don’t get distracted by it now, don’t need extra questions in groups, focus on mastering the material.













Frequently asked Questions



Q: You can enroll in a course if I’m not from KPI, or from another university, or not a student at all, or from another country, or I can’t come for exams, or I’m already working, or (... a bunch of other reasons ...) ?

A: If you are a person from planet earth - you can. Otherwise, we will not accept the application.







Q: Can I take an exam without attending a course or attend a course without passing an exam?

A: You are incredibly lucky! Stock! I personally authorize you!







Q: I heard that there is an older group (second year of study), but can I go there too?

A: Try, the material is more complicated there, but if it comes in, then I do not forbid to go there either.







Q: Can I take exams remotely?

A: No, you must definitely come.







Q: How to register? I filled out the registration form, what next?

A: Congratulations, that's all, you are registered.







Q: What days will the lectures be and at what time?

A: On Tuesdays for beginners, and on Thursdays complex topics. At 16:10 lectures, and at 18:00 seminars. Usually by 19:00 we will finish.







Q: What if I have windows, poppy or not fedora? Can I learn?

A: You can, but I'm showing everything on fedora. On all other OS you need to understand yourself.







Q: There is an official group. Where's the flood group?

A: A flood is not needed. The group exists only for you to receive news and ask questions, not more than 1 question per hour. Only members of the Metarchy community can reply in a group.













References



Registration form for the course: https://forms.gle/Yo3Fifc7Dr7x1m3EA

Telegram group: https://t.me/Programming_IP9X

Group in mitaps: https://www.meetup.com/HowProgrammingWorks/

Senior Group Channel: https://t.me/metarhia

Node.js Group: https://t.me/nodeua

YouTube Channel: https://www.youtube.com/TimurShemsedinov

Github Organization: https://github.com/HowProgrammingWorks

Lecturer on github: https://github.com/tshemsedinov













Conclusion



I am waiting for suggestions to supplement the course with new topics, I hope for a counter-introduction to code examples, including the translation of examples into other languages. Your feedback will help improve the course.







Thank you for your interest. See you at lectures and seminars!








All Articles