
Chers collègues ingénieurs et futurs ingénieurs, la communauté Metarchy ouvre un ensemble pour le cours gratuit "Fundamentals of Programming", qui sera disponible sur youtube et github sans aucune restriction. Certaines des conférences ont déjà été enregistrées à la fin de 2018 et au début de 2019, et certaines seront prononcées à l' Institut polytechnique de Kiev à l'automne 2019 et immédiatement disponibles sur le canal du cours . Le cours commence le 3 septembre. L'expérience des 5 dernières années, lorsque j'ai fait des conférences plus complexes, a montré le besoin de conférences pour les tout débutants. Cette fois, en fonction des nombreuses demandes des étudiants, j'essaierai d'ajouter beaucoup de matériel sur les bases de la programmation et, si possible, d'abstraire le cours de JavaScript. Bien sûr, la plupart des exemples resteront en JavaScript, mais la partie théorique sera beaucoup plus large et ne se limitera pas à la syntaxe et à l'API du langage. Certains exemples seront en TypeScript et C ++. Ce n'est pas un cours JavaScript simple, mais un cours fondamental sur les bases de la programmation, y compris les concepts de base et les modèles de conception pour différents paradigmes, fonctionnel, procédural, orienté objet, généralisé, asynchrone, réactif, parallèle, multi-paradigme et métaprogrammation, ainsi que la base des structures de données , tests, principes de construction de la structure et de l'architecture des projets.

À propos du cours
Le cours est construit sans l'utilisation de bibliothèques externes, de dépendances et de frameworks, au lieu de cela, nous allons essayer de tout faire de nos propres mains, en étudiant comment et pourquoi cela fonctionne. Node.js et un navigateur seront utilisés comme environnement de lancement pour l'exemple de code. Cette année, le cours sera complété par des tâches pratiques qui manquaient tant auparavant. Pour maîtriser le processus de développement, des techniques de refactorisation et d'optimisation de code seront démontrées, y compris des révisions de code des tâches des étudiants. Une attention particulière sera portée au style du code, à l'utilisation d'outils tels que les systèmes de contrôle de version et les gestionnaires de packages. J'ai essayé de rapprocher le plus possible tous les exemples de vrais projets, car vous voulez devenir des spécialistes non pas des exemples de formation, mais de la programmation pratique. Les exemples de code sont en texte brut dans un github sur HowProgrammingWorks , les liens vers le code seront sous chaque vidéo, et les liens de retour du code vers la vidéo sont ceux où les conférences vidéo ont déjà été enregistrées. Le github contient un glossaire de termes et une table des matières pour le cours . Les questions peuvent être posées en groupe dans un télégramme ou immédiatement en dessous de la vidéo. Toutes les conférences sont ouvertes, vous pouvez venir les voir au KPI et poser des questions lors des séminaires après les conférences. Le calendrier des conférences est publié immédiatement, mais peut varier légèrement.

Examen
En hiver, après 1 semestre, les étudiants se verront proposer des tâches indépendantes pour évaluer le niveau de connaissances, et s'ils sont réussis, vous pouvez venir à l'examen pour recevoir un certificat de Metarhia. Mon examen n'est pas un examen universitaire avec des billets, avec théorie et pratique, mais un examen complet dans tout le matériel où la théorie n'est pas dissociée de la pratique. Il n'y a pas de place pour une simple chance. Tout le monde ne réussira pas l'examen, environ 1 à 2 étudiants sur 100 peuvent obtenir un certificat. Mais nous apprenons non pas pour des morceaux de papier, mais pour des connaissances. Vous ne pouvez reprendre l'examen qu'après un an. L'éducation est gratuite, tout le monde peut. Déjà inscrit plus de 1200 personnes. L'éducation peut durer de 1 à 4 ans, selon la réussite de l'élève. Si quelqu'un ne réussit pas l'examen, vous pouvez continuer à étudier, mais je donnerai plus de temps à ceux qui réussiront. Je vais vous en dire plus sur les examens plus près de la fin du semestre, ne vous laissez pas distraire maintenant, n'avez pas besoin de questions supplémentaires en groupe, concentrez-vous sur la maîtrise du matériel.

Foire aux questions
Q: Vous pouvez vous inscrire à un cours si je ne suis pas de KPI, ou d'une autre université, ou pas du tout étudiant, ou d'un autre pays, ou je ne peux pas venir aux examens, ou je travaille déjà, ou (... un tas d'autres raisons ...) ?
R: Si vous êtes une personne de la planète Terre - vous le pouvez. Sinon, nous n'accepterons pas la demande.
Q: Puis-je passer un examen sans suivre un cours ou suivre un cours sans réussir un examen?
R: Vous êtes incroyablement chanceux! Promotion! Je vous autorise personnellement!
Q: J'ai entendu dire qu'il y avait un groupe plus âgé (deuxième année d'études), mais puis-je y aller aussi?
R: Essayez-le, là le matériel est plus compliqué, mais s'il entre, alors je n'interdis pas d'y aller non plus.
Q: Puis-je passer des examens à distance?
R: Non, vous devez absolument venir.
Q: Comment s'inscrire? J'ai rempli le formulaire d'inscription, et ensuite?
R: Félicitations, c'est tout, vous êtes inscrit.
Q: Quels seront les jours des conférences et à quelle heure?
R: Les mardis pour les débutants et les jeudis sujets complexes. À 16h10 conférences, et à 18h00 séminaires. Habituellement, à 19h00, nous terminons.
Q: Et si j'ai des fenêtres, du pavot ou pas du fedora? Puis-je apprendre?
R: Vous pouvez, mais je montre tout sur Fedora. Sur tous les autres systèmes d'exploitation, vous devez vous comprendre.
Q: Il y a un groupe officiel. Où est le groupe d'inondation?
R: Une inondation n'est pas nécessaire. Le groupe existe uniquement pour que vous puissiez recevoir des nouvelles et poser des questions, pas plus d'une question par heure. Seuls les membres de la communauté Metarchy peuvent répondre dans un groupe.

Les références
Formulaire d'inscription au cours: https://forms.gle/Yo3Fifc7Dr7x1m3EA
Groupe de télégrammes: https://t.me/Programming_IP9X
Groupe dans les mitaps: https://www.meetup.com/HowProgrammingWorks/
Chaîne de groupe senior: https://t.me/metarhia
Groupe Node.js: https://t.me/nodeua
Chaîne YouTube: https://www.youtube.com/TimurShemsedinov
Organisation Github: https://github.com/HowProgrammingWorks
Conférencier sur github: https://github.com/tshemsedinov

Conclusion
J'attends des suggestions pour compléter le cours par de nouveaux sujets, j'espère une contre-introduction aux exemples de code, y compris la traduction d'exemples dans d'autres langues. Vos commentaires aideront à améliorer le cours.
Merci de votre intérêt. Rendez-vous lors de conférences et séminaires!