- Created: 2021-05-18 01:19
- Tags: #computer_science
- Link:
- Момент появления: 2021
- Summary: Минимальный набор знаний для любого программиста, который хочет найти себе работу в любой области и быть способным решать любые задачи. По крайней мере я верю в это. Я не просто так написал минимум, это значит что тут приведены лучшие сжатые курсы без воды и прочего ненужного.
- P. S. Сам вектор моих интересов смещен в сторону web development и NLP. Поэтому и вся программа может оказаться косвенно смещенной в эту сторону.
Можно и больше, но нет смысла, лучше просто выбрать тему которая понравилась больше и становиться профи в ней. Планируется что будет изучатся одновременно 5-6 тем параллельно, методично и каждый день без остановки. На какие-то темы по типу редакторов или инструментов уйдет не более часа, а какие-то темы могут стать основной частью этого пути.
Также было замечено что многие понятия и темы из разных повторяют, перекрывают и всячески переиспользуются, поэтому чем больше ты исследуешь ресурсов параллельно, тем более цельную и логичную картину получаешь.
Теория без практики мертва. Поэтому после прохождения уже первого курса стоит задуматься над итоговым проектом. Вероятно для некоторых будет полезно начать делать его парралельно. Но важно помнить, если выбрать какую-то одну тему слишком рано, то все обучение превратится в поход по магазину со списком покупок. Вы не будете видеть неочевидных путей и будете отбрасывать всё остальное, что не приводит к завершению вашего проекта.
Процесс выбора темы проекта может оказаться очень сложным. Поэтому вот несколько идей которые могут помочь в выборе.
- исследование новых областей: биология, физика, химия, преподавание, литература
- arxiv.org предоставляет последние публикации по различным инженерным направлениям, например можно выбрать тему CV или NLP и попытаться повторить чью-то работу, возможно даже улучшить
- с моей точки зрения лучше всего найти какую-то еще не решенную или решенную плохо проблему и попытаться улучшить результат, опять же все зависит от интересов и кругозора
Вероятные проекты по этому курсу:
- составление общей библиотеки, которая бы решала большинство задач из всех разделов этого курса. К примеру с помощью нее можно будет и обратную матрицу посчитать и разложить ее. И потом распараллелить это все. А потом при помощи 3д графики изобразить это все. В общем различные комбинации знаний полученных в процессе.
- Создание копии любой понравившейся игры из play market. Без использования фреймворка. Понятно что лучше делать это для браузера в силу своей интерактивности. Благо последнее развитие webassembly позволит писать ее не только на javascript, но и на c++ и python.
- Использование ИИ для медицинских целей. Обнаружение рака, выявление суицидальных сообщений в соцсетях, исследование импульсов человеческого тела и тд.
- Игровой движок, движок для рендеринга. По моему мнению, для наибольшей интерактивности и наглядности лучше всего делать для веб платформы.
- Создание аналога Ember.js, Vue.js. Но с более продвинутыми функциями, более крутыми state машинами, алгоритмами обновления компонентов, улучшенной архитектурой, более быстрой сборкой.
- Дальше придумайте сами.
- c++ 17
- python 3.8
- JavaScript
- для записей использовать obsidian.md
- для бекапа github
- для организации информации использовать методику Zettelkasten и здравый смысл
- для систематизации использовать gitkraken boards
- желательно для всего этого иметь GitHub Student Developer Pack
- классические алгоритмы
- networking
- матанализ
- статистика
- теорвер
- дифференциальные уравнения
- линейная алгебра
- дискретная математика
- комбинаторная, дискретная, численная оптимизация
- styleguides
- КОРМЕН АЛГОРИТМЫ ПОСТРОЕНИЕ И АНАЛИЗ - Ответы для самопроверки еще ответы на псевдокоде, но с большим количеством звезд
- Олимпиадное программирование 2020 Антти Лааксонен
- Спортивное программирование [2020] Стивен Халим, Феликс Халим
- Стивен С. Скиена Алгоритмы. Руководство по разработке (2е Издание)
- Швец А. Погружение в паттерны проектирования (2018)
- Чистая архитектура. Искусство разработки программного обеспечения Роберт Мартин
- Software Architecture
- Online Computation and Competitive Analysis
- Stanford ENGR108: Introduction to Applied Linear Algebra | 2020 - video lectures - official website
- Introduction to linear algebra - Gilbert Strang
- Advanced Linear Algebra: Foundations to Frontiers
- Math 104 Applied Matrix Theory Fall 20
- Аналитическая геометрия и линейная алгебра
- Calculus 1A: Differentiation
- Calculus 1B: Integration
- Calculus 1C: Coordinate Systems & Infinite Series
- Основы математического анализа. Фистегольц том 1 - Бутузов Лекции 1 - Бутузов Лекции 2 - Бутузов Лекции 3
- Основы математического анализа. Фистегольц том 2
- Краткий курс высшей математики для химбио специальностей.pdf
- Зорич 1 часть
- Discrete Mathematics An Open Introduction
- An Introduction to Combinatorics and Graph Theory David Guichard
- Introduction to Discrete Mathematics for Computer Science Specialization
- Applied Combinatorics
- Теория вероятностей и математическая статистика Кремер
- Вероятность и статистика в примерах и задачах [Том 1] Кельберт, Сухов 2007
- An Introduction to Statistical Learning
- The Elements of Statistical Learning
- Introduction to Probability Harvard
- INTRODUCTION TO PROBABILITY AND STATISTICS FOR ENGINEERS AND SCIENTISTS
- CMSC 764 | ADVANCED NUMERICAL OPTIMIZATION, никаких предварительных знаний не требуется, начинать с него
- Discrete Optimization
- Combinatorial Optimisation (University of Warwick MA252)
- Combinatorial Optimization: Exact and Approximate Algorithms
- Numerical Optimization Teacher: Alberto Bemporad
- Introduction to Numerical Methods
- Лукьяненко Д. В. - Численные методы МГУ
- Прикладная комбинаторная оптимизация (Б.И. Гольденгорин, осень 2020) - только pdf и одна лекция
- Численные методы оптимизации А.Д. Мижидон
- ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ И.К. Васильева, П.Е. Ельцов
- git
- vim & vi
- bash scripting
- linux common tools (автоматизация процессов,)
- сoncurrency (python, c++), решение реальных задач в области обработки данных, а не просто сортировка или числа фибоначи
- sql (postgresql, mysql, mongodb)
- assembler
- regex
- docker/docker-compose
- computer graphics
- security
- The Linux Command Line: A Complete Introduction
- [ОПЕРАЦИОННЫЕ СИСТЕМЫ Н. А. СТАРОВЕРОВА 2021]
- Unit: Intro to SQL: Querying and managing data
- практический курс с решениями на sql (mysql)
- SQL Tutorial for Beginners: Learn SQL in 7 Days
- interative concurrency course
- самый полный общий concurrency course от мфти
- computer science center параллельное программирование
- tiny renderer
- Graphics Workshop
- MongoDB Applied Design Patterns
- mongoDB university
- Web Security, обзор всех веб уязвимостей
- Holistic Info-Sec for Web Developers, полный обзор уязвимостей в вебе