Git Product home page Git Product logo

computer_science_essentials's Introduction

Computer Science Essentials

  • Created: 2021-05-18 01:19
  • Tags: #computer_science
  • Link:
  • Момент появления: 2021
  • Summary: Минимальный набор знаний для любого программиста, который хочет найти себе работу в любой области и быть способным решать любые задачи. По крайней мере я верю в это. Я не просто так написал минимум, это значит что тут приведены лучшие сжатые курсы без воды и прочего ненужного.
  • P. S. Сам вектор моих интересов смещен в сторону web development и NLP. Поэтому и вся программа может оказаться косвенно смещенной в эту сторону.

Время освоения 1-2 месяца

Можно и больше, но нет смысла, лучше просто выбрать тему которая понравилась больше и становиться профи в ней. Планируется что будет изучатся одновременно 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

Вся базовая высшая математика в одном месте

Styleguides

Algorithms

Network

Linear Algebra

Calculus

Discrete Math

Combinatorics

Statistics

Optimization

en

ru

Практическая часть

обязательные навыки после его прохожения

  • git
  • vim & vi
  • bash scripting
  • linux common tools (автоматизация процессов,)
  • сoncurrency (python, c++), решение реальных задач в области обработки данных, а не просто сортировка или числа фибоначи
  • sql (postgresql, mysql, mongodb)
  • assembler
  • regex
  • docker/docker-compose

опциональные навыки

  • computer graphics
  • security

Cоревновательные сайты для ежедневного оттачивания навыка

Курсы для обязательного прохождения

Common

Linux

Docker

Computer Graphics

Aссемблер

SQL

MongoDB

Security

vim

Networking

Сoncurrency

Regex

Oпциональные курсы

Ссылки на все полезное

Доп Литература

Компьютерная графика

Электроника

Программирование в игровой форме

computer_science_essentials's People

Contributors

dmitrymailk avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.