19 полезных сайтов для начинающих программистов

19 полезных сайтов для начинающих программистов thumbnail

Íî ÷òî æå òàêîå òèïèçàöèÿ? Ñóäÿ ïî áóðíîìó îáñóæäåíèþ ïîä ïîñòîì, ìíîãèå ëþäè, íèêàê íå ñâÿçàííûå ñ ïðîãðàììèðîâàíèåì, çàèíòåðåñîâàëèñü ýòèì âîïðîñîì.

Òàì æå, â êîììåíòàðèÿõ áûëî äàíî ïîÿñíåíèå îò ïîëüçîâàòåëÿ @9poIIIa.

Âñêîðå ïîä ýòèì êîììåíòàðèåì ðàçâåðíóëîñü áóðíîå îáñóæäåíèå, â êîòîðîì ìíîãèå óòâåðæäàëè, ÷òî ýòîò ïîëüçîâàòåëü äîïóñòèë òó æå ñàìóþ îøèáêó, ÷òî è â ïîñòå: ñìåøàë ìåæäó ñîáîé ñîâåðøåííî íå ñâÿçàííûå äðóã ñ äðóãîì ïîíÿòèÿ: ñòàòè÷åñêóþäèíàìè÷åñêóþ òèïèçàöèþ è ñòðîãóþíå ñòðîãóþ (îíà æå — ñèëüíàÿ è ñëàáàÿ òèïèçàöèè).

Ýòè ïîëüçîâàòåëè, â ñâîþ î÷åðåäü, ïûòàëèñü äàòü ñâîè îáúÿñíåíèÿ. Íî îíè áûëè ëèáî ñëèøêîì ñïåöèàëèçèðîâàííûìè (èõ íåâîçìîæíî ïîíÿòü áåç ïðåäâàðèòåëüíîé ïîäãîòîâêè), ëèáî èçëèøíå àáñòðàêòíûìè è óïðîùåííûìè, âðîäå «ÿ ñêëàäûâàþ êðîêîäèëà è âåëîñèïåä — ýòî íå ñòðîãàÿ òèïèçàöèÿ».

ß ëè÷íî ïðèäåðæèâàþñü ìíåíèÿ, ÷òî èçëèøíåå óïðîùåíèå — íè÷óòü íå ëó÷øå ïåðåóñëîæíåííîãî îáúÿñíåíèÿ. Ïîýòîìó õî÷ó ïðåäëîæèòü íà ñóä îáùåñòâåííîñòè ñâîå ïîÿñíåíèå ýòèõ ïîíÿòèé äëÿ íå ïðîãðàììèñòîâ è ðàçáîð òîãî, ÷òî ïðîèñõîäèò íà êàðòèíêå.

ÑÏÎÉËÅÐ äëÿ òåõ, êîìó ëåíü ÷èòàòü âåñü ïîñò:

 øóòî÷íîé êàðòèíêå, âåðîÿòíåå âñåãî, äîïóùåíà îøèáêà. Èìåëîñü ââèäó ëèáî «Äèíàìè÷åñêàÿ òèïèçàöèÿ ëó÷øå ñòàòè÷åñêîé», ëèáî æå «Íå ñòðîãàÿ òèïèçàöèÿ ëó÷øå ñòðîãîé».

À ïîëüçîâàòåëè, ïîñïîðèâøèå ñ @9poIIIa è óêàçàâøèå åìó íà íåòî÷íîñòü åãî îáúÿñíåíèÿ — àáñîëþòíî ïðàâû.

Åñëè ãîâîðèòü î÷åíü ãðóáî, òî ñòàòè÷åñêàÿäèíàìè÷åñêàÿ òèïèçàöèÿ — îïðåäåëÿåò òî, êàêèå äàííûå, â òåîðèè, ìîãóò õðàíèòü ïåðåìåííûå.

À ïîíÿòèå ñòðîãîéíå ñòðîãîé (ñèëüíîéñëàáîé) òèïèçàöèè — îïðåäåëÿåò òî, êàê äâå ðàçëè÷íûå ïåðåìåííûå ìîãóò âçàèìîäåéñòâîâàòü äðóã ñ äðóãîì.

Ò.å. ýòî äâà ñîâåðøåííî ðàçíûõ ïîíÿòèÿ, êîòîðûå íåëüçÿ ñìåøèâàòü.

Òåïåðü, íåïîñðåäñòâåííî, ê îáúÿñíåíèþ:

Ïðåæäå ÷åì ïîíÿòü ðàçíèöó ìåæäó òèïèçàöèÿìè, íåîáõîäèìî ïîíÿòü ÷òî òàêîå «ïåðåìåííàÿ».

 áîëüøèíñòâå ÿçûêîâ ïðîãðàììèðîâàíèÿ, «ïåðåìåííàÿ» — ýòî íåáîëüøàÿ ÿ÷åéêà ïàìÿòè, ïðåäíàçíà÷åííàÿ äëÿ õðàíåíèÿ â ñåáå êàêîé-ëèáî èíôîðìàöèè: ÷èñåë, ñèìâîëîâ, ëîãè÷åñêèõ çíà÷åíèé (èñòèíàëîæü) è ìíîãîãî äðóãîãî (ñîâðåìåííûå ÿçûêè ïðîãðàììèðîâàíèÿ äàæå ïîçâîëÿþò ñîçäàâàòü ñîáñòâåííûå òèïû äàííûõ).

Íàä ïåðåìåííûìè ìîæíî ñîâåðøàòü ðàçëè÷íûå äåéñòâèÿ: ñêëàäûâàòü èõ, âû÷èòàòü, äåëèòü äðóã íà äðóãà, óìíîæàòü.

Ðàçóìååòñÿ, êîëè÷åñòâî îïåðàöèé íàä ïåðåìåííûìè íå îãðàíè÷èâàåòñÿ ýòèìè ÷åòûðüìÿ è ìîæåò î÷åíü ñèëüíî âàðüèðîâàòüñÿ â çàâèñèìîñòè îò òîãî, êàêóþ èíôîðìàöèþ õðàíèò ïåðåìåííàÿ è íà êàêîì ÿçûêå ïðîãðàììèðîâàíèÿ ìû ïèøåì êîä, íî â êîíòåêñòå äàííîãî îáñóæäåíèÿ, ýòî íå èìååò îñîáîãî çíà÷åíèÿ. Äàâàéòå çàêðîåì ãëàçà è íà âðåìÿ ïðåäñòàâèì, ÷òî îïåðàöèé òîëüêî ÷åòûðå.

Îòëè÷íî. Ìû íà øàã ïðèáëèçèëèñü ê ïîíèìàíèþ ïîíÿòèÿ «òèïèçàöèÿ».

Äàâàéòå òåïåðü ðàçáåðåì, ÷òî òàêîå «òèï» â ÿçûêå ïðîãðàììèðîâàíèÿ:

â òèïèçèðîâàííûõ ÿçûêàõ ïðîãðàììèðîâàíèÿ òèï ïåðåìåííîé îïðåäåëÿåò òî, êàêèå çíà÷åíèÿ ýòà ïåðåìåííàÿ ìîæåò â ñåáå õðàíèòü. Íàïðèìåð, â òàêîì ÿçûêå ïðîãðàììèðîâàíèÿ êàê c++ — öåëî÷èñëåííàÿ ïåðåìåííàÿ (int) ìîæåò õðàíèòü òîëüêî öåëûå ÷èñëà (-1, 0, 2, 3 è ò.ä.). À ïåðåìåííàÿ òèïà «ñèìâîë» (char) — òîëüêî ñèìâîëû àíãëèéñêîãî àëôàâèòà (‘a’, ‘z’, è ò.ä.).

Äëÿ äàëüíåéøèõ îáúÿñíåíèé ÿ èñïîëüçóþ äâà ÿçûêà ïðîãðàììèðîâàíèÿ: c++ (ñòàòè÷åñêàÿ è íå ñòðîãàÿ òèïèçàöèÿ) è python (äèíàìè÷åñêàÿ è ñòðîãàÿ).

Ñòàòè÷åñêàÿÄèíàìè÷åñêàÿ òèïèçàöèÿ:

 ÿçûêàõ ñî ñòàòè÷åñêîé òèïèçàöèåé, ïðè ñîçäàíèè ïåðåìåííûõ — ïðîãðàììèñò, çà÷àñòóþ, äîëæåí ÿâíî óêàçàòü, êàêîé òèï ïåðåìåííîé îí õî÷åò ñîçäàòü.

C++:

int a = 2;

«int» — ýòî îáîçíà÷åíèå òèïà ïåðåìåííîé.  äàííîì ñëó÷àå — òèï «öåëîå ÷èñëî».

«a» — èìÿ ñîçäàííîé ïåðåìåííîé (ìîæåò áûòü ëþáûì). Åñëè ìû çàõîòèì, â äàëüíåéøåì â êîäå ïîëó÷èòü ñîäåðæèìîå ýòîé ïåðåìåííîé, ìû ñìîæåì îáðàòèòüñÿ ê íåé ïî ýòîìó èìåíè.

Çíàê «=» — ãîâîðèò íàì î òîì, ÷òî ïåðåìåííàÿ «a» ïîñëå ñâîåãî ñîçäíàèÿ ïðèìåò çíà÷åíèå, ñòîÿùåå ñïðàâà îò ýòîãî çíàêà — â äàííîì ñëó÷àå — ýòî «2».

Êàê ìû âèäèì, íàì ïðèøëîñü ÿâíûì îáðàçîì óêàçàòü, ÷òî ïåðåìåííàÿ «a» ìîæåò õðàíèòü â ñåáå òîëüêî öåëûå ÷èñëà.  òàêîé ïåðåìåííîé ìû íå ñìîæåì õðàíèòü ñèìâîëû èëè æå äðîáíûå ÷èñëà.

int a = 2.3; // Òàêîé êîä âûäàñò îøèáêó

Ýòî ÿçûê ñî Ñòàòè÷åñêîé òïèçàöèåé.

Python:

a = 2

À âîò òàê ýòîò æå êîä áóäåò âûãëÿäåòü íà Python. Çäåñü íàì íå ïðèøëîñü óêàçûâàòü òèï ïåðåìåííîé «a». Ýòîò ÿçûê ïðîãðàììèðîâàíèÿ ñàìîñòîÿòåëüíî îïðåäåëèë, áåç ïîìîùè ïðîãðàììèñòà, ÷òî «a» áóäåò èìåòü öåëî÷èñëåííûé òèï. Ïîñêîëüêó ïðè ñîçäàíèè ýòîé ïåðåìåííîé, â íåå áûëî çàïèñàíî çíà÷åíèå ñîîòâåòñòâóþùåãî òèïà.

Ê òîìó æå, åñëè âäðóã ó íàñ âîçíèêíåò íåîáõîäèìîñòü ñîõðàíèòü â ýòîé ïåðåìåííîé ÷òî-òî ïîìèìî öåëûõ ÷èñåë — ìû ñìîæåì ëåãêî ïåðåçàïèñàòü äàííûå â ýòîé íåé.

a = 2.3 # Åñëè íàïèñàòü ýòîò êîä ïîñëå «a = 2», îí ñðàáîòàåò. Çíà÷åíèå a èçìåíèòñÿ, à Python ñàìîñòîÿòåëüíî îïðåäåëèò íîâûé òèï ïåðåìåííîé «a».

Ýòî ÿçûê ñ Äèíàìè÷åñêîé òèïèçàöèåé.

ÑòðîãàÿÍå ñòðîãàÿ òèïèçàöèÿ

Îïðåäåëÿåò òî, ìîæåò ëè ÿçûê íåÿâíî ïðåîáðàçîâàòü äàííûå ðàçëè÷íûõ òèïîâ.

Ñ++:

int a = 2;
char b = ‘L’;
int c = a + b;

Äà, äà, âàì íå ïîêàçàëîñü. Ìû ñëîæèëè ÷èñëî è ñèìâîë (!) è ïîëó÷èëè íîâîå ÷èñëî.

Êàê ýòî ðàáîòàåò? C++ íåÿâíî ïðåîáðàçîâàë ñèìâîë ‘L’ â ÷èñëî — à èìåííî â íîìåð, êîòîðûé ñîîòâåòñòâóåò ýòîìó ñèìâîëó â òàáëèöå êîäèðîâîê ASCII. Íîìåð, ñîîòâåòñòâóþùèé ñèìâîëó ‘L’ â ýòîé òàáëèöå — 76. Òàêèì îáðàçîì, â «c» ó íàñ îêàæåòñÿ çíà÷åíèå 2+76=78

Ñ++ — ýòî ÿçûê ñ Íå ñòðîãîé òèïèçàöèåé.

Python:

a = 2
b = ‘L’
c = a + b # Çäåñü áóäåò îøèáêà

Python íå ïîçâîëÿåò íàì ñêëàäûâàòü òàêèå äâå ðàçíûå ñóùíîñòè êàê «öåëîå ÷èñëî» è «ñèìâîë».

Python — ÿçûê ñî ñòðîãîé òèïèçàöèåé.

Òàêèì îáðàçîì, ÿçûêè ñî ñòðîãîé òèïèçàöèåé íå ïîçâîëÿþò ñìåøèâàòü ñóùíîñòè ðàçíûõ òèïîâ â âûðàæåíèÿõ è íå âûïîëíÿþò íèêàêèõ àâòîìàòè÷åñêèõ ïðåîáðàçîâàíèé, à ÿçûêè íå ñòðîãîé òèïèçàöèåé, íàîáîðîò âñÿ÷åñêè ñïîñîáñòâóþò, ÷òîáû ïðîãðàììèñò ñìåøèâàë ðàçíûå òèïû â îäíîì âûðàæåíèè.

Èòîã:
Òî, êàêàÿ â ÿçûêå òèïèçàöèÿ — âî ìíîãîì îïðåäåëÿåò êàê áóäåò ïèñàòüñÿ êîä íà ýòîì ÿçûêå ïðîãðàììèðîâàíèÿ.
È â èçíà÷àëüíîé êàðòèíêå, êàê ÿ ïîäîçðåâàþ, ïîïûòàëèñü îòîáðàçèòü äàâíèé ñïîð ìåæó ïðåäñòàâèòåëÿìè ðàçëè÷íûõ «ëàãåðåé» ïðîãðàììèñòîâ. ×àñòü ñïåöèàëèñòîâ âûñòóïàåò çà äèíàìè÷åñêóþ òèïèçàöèþ â ÿçûêàõ ïðîãðàììèðîâàíèÿ, ÷àñòü çà ñòàòè÷åñêóþ. Àíàëîãè÷íî ñî ñòðîãîé è íå ñòðîãîé òèïèçàöèåé. Ïðàâäà æå, êàê èçâåñòíî, ãäå-òî ïîñåðåäèíå.

Íî øóòêà íå óäàëàñü èç-çà äîïóùåííîé íåòî÷íîñòè.

Áîíóñ îò ìåíÿ ëè÷íî:

P.S. íåñìîòðÿ íà ìîå çàÿâëåíèå â ñàìîì íà÷àëå ïîñòà, ÿ âñå-æå èñïîëüçîâàë ðÿä íåáîëüøèõ óïðîùåíèé ïðè îáúÿñíåíèè ðàçëè÷íûõ ïîíÿòèé â ïðîãðàììèðîâàíèè (ïðîñòî, ÷òîáû íå ïåðåãðóæàòü ÷èòàòåëåé íåíóæíîé èíôîðìàöèåé). Íàäåþñü, ñîîáùåñòâî ïðîãðàììèñòîâ ïðîñòèò ìíå íåòî÷íîñòè.

Èñòî÷íèêè:

Ñòàòè÷åñêàÿ è äèíàìè÷åñêàÿ òèïèçàöèÿ

Ëèêáåç ïî òèïèçàöèè â ÿçûêàõ ïðîãðàììèðîâàíèÿ

Источник

Сегодня каждый может начать изучать программирование онлайн. Как говорится, было бы желание и время. Любую информацию и готовые инструкции с примерами кода можно найти абсолютно бесплатно.

Есть масса сайтов, которые помогают изучать программирование, читать полезные статьи, набираться опыта и обмениваться идеями как начинающим программистам, так и опытным.

Даже если вы не собираетесь изучать программирование, но просто хотите быть в курсе событий происходящих в IT сфере, то следующий список сайтов может быть очень полезным.

Популярный сайт в формате коллективного блога с элементами новостного сайта. Используется для публикации статей и новостей связанных с информационными технологиями и бизнесом в интернете. Ресурс включает в себя отдельные проекты: Geektimes, Тостер, Мой круг, Фрилансим.

Плюсы

  • Публикации от крупнейших международных IT компаний: Microsoft, Google, Яндекс, Mail.ru и т.д.
  • Много полезной информации, инструкций и советов о программировании.
  • Удобные фильтры позволяют настроить отображение статей только из интересующих категорий.
  • Есть англоязычная версия сайта.

Минусы

  • Большие ограничения на аккаунты пользователей.
  • Новые пользователи могут добавлять статьи только в раздел «Песочница», где статья будет долго висеть до момента одобрения модератором или опытными пользователями.
  • Свои блоги могут вести только компании на платной основе.
  • Много новостного мусора и холиварного срача, вплоть до политики в IT.
  • Непродуманный механизм кармы и рейтинга.
  • Упоминание аналогов Хабра встречает негативную реакцию. Считают, что аналогов Хабра нет.
  • Не трезвость аудитории сайта. За не понравившуюся статью или отличающееся от других мнение, могут наложить отрицательную карму, что накладывает серьезные ограничения на аккаунт.

Портал для развития сотрудничества между компаниями и IT-специалистами. На сайте начинающие и профессиональные программисты могут набираться знаний и рассказывать о своем опыте.

Плюсы

  • Добавлять статьи без ограничений могут как обычные пользователи, так и IT компании.
  • На сайте есть полезные туториалы и инструкции по программированию.
  • Для пользовательских аккаунтов нет никаких ограничений.
  • В правилах прописан запрет на публикации с обсуждением политики.

Минусы

  • Небольшое количество публикаций. Статьи пишут несколько авторов.
  • Многие разделы сырые и не доработанные.
  • Нельзя отфильтровать интересующие статьи по категориям.

Украинское сообщество программистов с элементами коллективного блога, созданный для распространения новостей, аналитических статей и свежей информации связанной с IT. На сайте размещаются различные исследования зарплат работников, а также рейтинг компаний.

Плюсы

  • Масса полезных статей и интервью на русском и украинском языках.
  • Исследования зарплат по разным языкам программирования и профессиям.
  • Проводят опросы среди пользователей, на основе которых ведут статистику и рейтинги об IT-компаниях.
  • Календарь событий и мероприятий.
  • Каталог вакансий.
  • Удобная система комментирования.

Минусы

Интернет-издание о компьютерной технике, информационных технологиях и программных продуктах. На сайте публикуются новости IT, статьи с обзорами и тестами компьютерных комплектующих и программного обеспечения.

Плюсы

  • Качественные обзоры об аппаратном обеспечении компьютеров.
  • Корпоративные блоги компаний.
  • Множество проектов компьютерной тематики.
  • Простая система комментирования.
  • Есть англоязычная версия сайта.

Минусы

  • Не современный дизайн.
  • Страницы сайта перегружены ненужной информацией.
  • Англоязычная версия не обновляется с 2013 года.

Белорусское сообщество программистов представляющее коллективные блоги с публикациями об IT-индустрии в Беларуси и мире. На сайте размещаются новости, интервью, репортажи, аналитика.

Плюсы

  • Каталог белорусских IT-компаний и отзывы.
  • Календарь IT-событий и статистика зарплат.
  • Список вакансий компаний.

Минусы

  • Для регистрации необходим номер телефона.

Интернет издание о разработке, публикуют актуальные новости, авторские статьи и переводы.

Плюсы

  • Много полезных статей по программированию.
  • Размещают анонсы конференций и других событий.
  • Эксперты компаний отвечают на популярные вопросы читателей.
  • Каталог с вакансиями от компаний.

Минусы

  • Обычные пользователи не могут бесплатно публиковать статьи.
  • Нет регистрации через email (только соцсети).
  • Комментирование статей только через ВКонтакте.

{
«author_name»: «Роман»,
«author_type»: «self»,
«tags»: [],
«comments»: 15,
«likes»: 1,
«favorites»: 55,
«is_advertisement»: false,
«subsite_label»: «dev»,
«id»: 85205,
«is_wide»: true,
«is_ugc»: true,
«date»: «Sat, 28 Sep 2019 14:44:23 +0300»,
«is_special»: false }

Источник

1) Общие ресурсы независимо от языка программирования:

https://github.com крупнейший веб-сервис для хостинга IT-проектов и их совместной разработки. На сайте представлен свободный исходный код, с которым вы можете ознакомиться.

https://ru.pdfdrive.com Ресурс поиска файлов pdf (Электронных книг).

https://proklondike.net/Электронные книги по программированию.

https://www.cyberforum.ruФорум программистов и сисадминов “Киберфорум”.

https://habr.com/ru/сайт в формате системы тематических коллективных блогов (именуемых хабами) с элементами новостного сайта, созданный для публикации новостей, аналитических статей, мыслей, связанных с информационными технологиями и интернетом.

https://www.geeksforgeeks.org/Различные математические алгоритмы (Представлены обычно несколькими языками программирования (C++, Java, Pytchon, C#, PHP)). Сайт на английском языке.

https://proglib.io – Библиотека программиста (материалы, которые научат и помогут программировать. Книги и лекции, видеоуроки и советы, тесты знаний и обсуждение горячих тем).

https://www.gamedev.ru/code/forumРазработка игр (форум)

https://gamedev.stackexchange.com/questions Разработка игр (Вопросы -ответы (в основном на английском))

https://otvet.mail.ruОтветы на вопросы по разным тематикам.

https://ru.stackoverflow.com/ система вопросов и ответов о программировании.

https://stackoverflow.com/questionsсистема вопросов и ответов о программировании (на английском).

https://fooobar.com/questionsСервис вопросов и ответов о программировании.

https://4pda.ru/forumФорум (разработки под мобильные устройства).

https://blog.csdn.net — Китайская Сеть Разработчиков Chinese Software Developer Network, China Software Developer Network, CSDN) , одна из крупнейших сетей для программистов в Китае. CSDN представляет собой форумы, блоги, новости ИТ и другие сервисы. На данный момент в CSDN насчитывается около 10 миллионов зарегистрированных пользователей. (там все на китайском и английском).

https://www.euclideanspace.com/maths/geometry/rotations/index.htmМатематические алгоритмы (код обычно представлен на Java).

2) Для Java и Android разработчиков:

https://developer.android.com/guide/документация для разработчиков под Android

https://developer.alexanderklimov.ru/androidСайт Александра Климова(Уроки и статьи по программированию под Android).

https://www.javatips.net JavaTips.net предоставляет статьи о Java и смежных технологиях (на английском).

https://javatalks.ru Форум Java программистов. Обсуждение вопросов программирования на языке Java. Примеры и советы экспертов. Вакансии для java-программистов.

https://metanit.com/java/android — Сайт о программировании. (раздел “Программирование под ОС Андроид”).

https://startandroid.ru — Start Android — учебник по Android для начинающих и продвинутых.

https://www.java2s.com/example/java — Java свободный код (на английском).

https://www.libgdx.com/ — libgdx (https://github.com/libgdx/libgdx) Кроссплатформенный фреймворк для разработки игр на основе OpenGL (ES), работает под Windows, Linux, Mac OS X, Android, iOS и в браузерах с WebGL.

https://docs.oracle.com/javase/tutorialУчебные руководства по Java представляют собой практические руководства для программистов, которые хотят использовать язык программирования Java для создания приложений. Они включают в себя сотни полных рабочих примеров и десятки уроков. (на английском).

https://www.java.com/ — официальный сайт.
https://docs.oracle.com/javase/ — официальная документация по Java (на английском).
https://www.javable.com/club/members/register.jsp — русский Перевод Java Tutorial.
https://www.oracle.com/technetwork/java/javase/documentation/codeconvtoc-136057.html — соглашения по оформлению кода Java (на английском).

3) Обычные поисковые системы

https://yandex.ru

https://www.google.ru

https://www.bing.com

https://go.mail.ru

Подписывайтесь на канал, не пропустите новые публикации. Ставьте палец вверх. 🙂

Источник

Ïîõîæèå ïîñòû

Øåðëîê Õîëìñ: ×åðåï êàê ñïîñîá Øåðëîê Õîëìñ, Äåòåêòèâ, ×åðåï, Èíòåðåñíîå, Ïðèåì, Ïðîãðàììèðîâàíèå, Ïñèõîëîãèÿ

Ìåòîä óòåíêà

Ìåòîä óò¸íêà — ïñèõîëîãè÷åñêèé ìåòîä ðåøåíèÿ çàäà÷è, äåëåãèðóþùèé å¸ ìûñëåííîìó ïîìîùíèêó. Ìåòîä îïèñàí â êíèãå «Ïðîãðàììèñò-ïðàãìàòèê».

Òåñòèðóåìûé ñòàâèò íà ðàáî÷åì ñòîëå èãðóøå÷íîãî óò¸íêà (èëè ïðåäñòàâëÿåò åãî ìûñëåííî; íà ñàìîì äåëå óòî÷êà — ýòî óñëîâíî, ïðåäìåò ìîæåò áûòü ëþáûì), è êîãäà ó íåãî âîçíèêàåò âîïðîñ, íà êîòîðûé òðóäíî îòâåòèòü, òî îí çàäà¸ò åãî èãðóøêå, êàê æèâîìó ÷åëîâåêó, ñëîâíî îíà äåéñòâèòåëüíî ìîæåò îòâåòèòü. Ñ÷èòàåòñÿ, ÷òî ïðàâèëüíàÿ ôîðìóëèðîâêà âîïðîñà ñîäåðæèò êàê ìèíèìóì ïîëîâèíó îòâåòà, à òàêæå ýòî äàåò òîë÷îê ìûñëÿì, íàïðàâëÿÿ èõ â íóæíîå ðóñëî.

Ìåòîä òàêæå èñïîëüçóåòñÿ ïðè îòëàäêå. Åñëè îïðåäåë¸ííàÿ ÷àñòü ïðîãðàììû íå ðàáîòàåò, ïðîãðàììèñò ïûòàåòñÿ îáúÿñíèòü óò¸íêó, ÷òî äåëàåò êàæäàÿ ñòðîêà ïðîãðàììû, è â ïðîöåññå ýòîãî ñàì íàõîäèò îøèáêó.

Àíàëîãè÷íûé ïðèåì èñïîëüçîâàë Øåðëîê Õîëìñ. Äî ïîÿâëåíèÿ äîêòîðà Âàòñîíà âìåñòî óòåíêà ó íåãî äðóãîì áûë ÷åðåï. Ìíîãèå íàâåðíîå Øåðëîêà ïîñ÷èòàëè ñòðàííûì, ìèíèìóì íå ïîíÿëè î ÷åì îí ãîâîðèò.

Ñêèäûâàþ èíòåðåñíóþ ññûëêó  íà âèäåî ïðî Øåðëîêà ñ ÷åðåïîì è åãî ìåòîäàõ ïî ñêîëüêó íå ìîãó ñðàçó òóò äîáàâëÿòü âèäåî.

Âñåì ïðèâåò! Ìåíÿ äîâîëüíî ÷àñòî ñïðàøèâàëè â êîììåíòàðèÿõ ê íàó÷íûì ïîñòàì, îòêóäà ëó÷øå ñòàðòîâàòü â ìàøèííîì îáó÷åíèè è àíàëèçå äàííûõ. Íó ÷òî æå. Ïîïðîáóåì ñîáðàòü âîåäèíî ìîé îïûò è ïîñâÿòèòü ïîñò òåõíè÷åñêèì âîïðîñàì.

Îãëàâëåíèå:

0. Êàê âîîáùå èçó÷àòü

1. Òåìàòè÷åñêèå ðåñóðñû.

2. Òåõíè÷åñêàÿ ÷àñòü.

3. Ïëîùàäêè

Êàê âîîáùå èçó÷àòü ýòî äåëî?

Ëþáàÿ íàóêà äâèãàåòñÿ ëþäüìè. Êàæäûé ó÷¸íûé èìååò ñâîþ îáëàñòü èíòåðåñîâ, ïîýòîìó íàäî â ïåðâóþ î÷åðåäü îïðåäåëèòüñÿ, ÷òî òåáå èíòåðåñíî. Âîîáùå, â Ðîññèè ñàìûé-ñàìûé ãëàâíûé ïî ìàøèííîìó îáó÷åíèþ — ýòî Âîðîíöîâ Êîíñòàíòèí Âÿ÷åñëàâîâè÷. Îí íàïèñàë ðÿä ëåêöèé, êàæäàÿ èç êîòîðûõ îò «À» äî «ß» âñ¸ îáúÿñíÿåò.

Ëó÷øå âñåãî íà÷àòü ñ ýòèõ ëåêöèé. Çäåñü çàòðàãèâàþòñÿ îñíîâû îñíîâ, ëèíåéíûå ìåòîäû êëàññèôèêàöèè, íåìíîãî ïðî íåéðîííûå ñåòè, êëàñòåðèçàöèÿ è ðåãðåññèÿ. Âîîáùå, ó íåãî åñòü îáùèå ëåêöèè, íà ìàíåð òåõ, ÷òî ÿ ïðèâ¸ë â ïðèìåð, à åñòü ëåêöèè, ñïåöèàëüíî ïîñâÿù¸ííûå êàêîìó-òî ëèáî ðàçäåëó. Íàïðèìåð, òåìàòè÷åñêîå ìîäåëèðîâàíèå (âîïðîñû ìîäåëèðîâàíèÿ òåêñòîâ), àíñàìáëè àëãîðèòìîâ (ïîìîãàåò ïîíÿòü, ÷òî òàêîå ñëó÷àéíûé ëåñ èëè ãðàäèåíòûé áóñòèíã). Ýòè çíàíèÿ ïîìîãóò âàì ïîíÿòü, ÷òî ñêðûâàåòñÿ ïîä êîïîòîì ó âàøèõ àëãîðèòìîâ. Íî åñòü è ÷èñòî íàó÷íûå âîïðîñû, êîòîðûå áåç… îïðåäåë¸ííîé äîëè óñèä÷èâîñòè è çíàíèé íå ïîíÿòü.

Âîðîíöîâ â ñâîåé äèññåðòàöèè çàòðàãèâàåò âîïðîñû ïåðåîáó÷åíèÿ. Åñëè âêðàòöå, òî îí îïèñûâàåò ìåòîäû, ïî êîòîðûì ìîæíî ïîíÿòü, à õîðîø ëè âàø àëãîðèòì? Íå ïåðåîáó÷èëñÿ ëè? Çíàíèÿ òóò… î÷åíü è î÷åíü íåòðèâèàëüíûå.  êà÷åñòâå áîíóñà, ðåêîìåíäóþ ïðî÷èòàòü åãî ïðèëîæåíèå. Òàì îí îïèñûâàåò êàê èññëåäîâàíèå äëèííîþ â 10 ëåò ìîæíî áûëî… ïðîâåñòè çà îäèí ÷àñ, åñëè ñäåëàòü ïðàâèëüíûé ýêñïåðèìåíò.  îáùåì, ðåêîìåíäóþ.

À ìîæåò âû õîòèòå âîîáùå óçíàòü îòêóäà ýòî äåëî ïîøëî? Èëè ïîëó÷èòü ïàðó óìíûõ ïðàêòè÷åñêèõ ñîâåòîâ? Íó, òîãäà âû îáÿçàíû ïðî÷èòàòü ýòó êëàññè÷åñêóþ ñòàòåéêó îò ó÷èòåëÿ Âîðîíöîâà.

ß ïîõîäó ñâîåé äåÿòåëüíîñòè çàíèìàëñÿ êîìïüþòåðíîé ëèíãâèñòèêîé.  êîìïüþòåðíîé ëèíãâèñòèêå ïðàâèò áàë ñåé÷àñ ìîäåëü word2vec. Ïîýòîìó, áåð¸ì ðàáîòû Tomasa Mikolova è ãóãëèì åãî òðóäû. Ýòî  äàñò âàì íåîáõîäèìûé ìèíèìóì.

Òåìàòè÷åñêèå ðåñóðñû.

Âîîáùå, ëèòåðàòóðû ïî ýòîìó äåëó â èíòåðíåòå ìàññà. Îäíàêî,÷òî ðåäêîñòü, â ðóññêîÿçû÷íîì ñåãìåíòå åñòü âåñüìà äîñòîéíûé ñàéò. Òàì ìîæíî íàéòè ïî÷òè âñ¸! Âîîáùå, òàêèå ñàéòû áîëüøàÿ ðåäêîñòü. Äóìàþ, ÷òî ìíîãèå âñïîìíÿò õàáð… Íó òàì… Òàì áîëüøå òåõíè÷åñêèå ìîìåíòû îïèñûâàþòñÿ. Ñ òî÷êè çðåíèÿ ïðîãðàììèñòà, õàáð âåùü íåçàìåíèìàÿ, íî ñ íàó÷íîé… Ìíå ïîïàäàëèñü òàì äåéñòâèòåëüíî óäà÷íûå öèêëû íàó÷ïîïà ïðî òåìàòè÷åñêîå ìîäåëèðîâàíèå. Åñëè âàì íàäî ïîñòàðàòüñÿ ñìîäåëèðîâàòü ïîâåäåíèå ïîëüçîâàòåëÿ, îïèðàÿñü íà òåìàòèêè, òî ðåêîìåíäóþ èõ áëîã. Íà ïàëüöàõ îáúÿñíÿþò êàê ýòî ñäåëàòü è ïî÷åìó ýòî áóäåò ðàáîòàòü. Ðåçóëüòàòû ýêñïåðèìåíòîâ ïðèëàãàþòñÿ.

 ïîñëåäíåå âðåìÿ, äåòèùå Ãðåôà ñòàëî ïðîÿâëÿòü èíòåðåñ ê ìàøèííîìó îáó÷åíèþ. Âòîðîé ãîä ïîäðÿä ïðîâîäÿò êîíêóðñû ñ î÷åíü íåïëîõèìè ïðèçîâûìè, à ðåçóëüòàòû ïóáëèêóþò çäåñü. Òàêæå ìîãó ïîðåêîìåíäîâàòü íåïëîõóþ êîíôó «ÀÈÑÒ».  ÂÍÈÌÀÍÈÅ, å¸ ðåçóëüòàòû èäóò â Scopus!!! Òî åñòü — íåïëîõàÿ âîçìîæíîñòü ïîëó÷èòü ïóáëèêàöèþ â çàðóáåæíîì æóðíàëå. Ïðèìèòå ê ñâåäåíèþ. Ïîìèìî ÷èñòî ïðàêòè÷åñêèõ èíòåðåñîâ (ïóáëèêàöèÿ) òàì ïðîñêàêèâàþò âåñüìà è âåñüìà èíòåðåñíûå ðàáîòû.

 ïîñëåäíåå âðåìÿ ðàçâèëñÿ îãðîìíûé èíòåðåñ ê ñâ¸ðòî÷íûì íåéðîñåòÿì. Õîäèò óñòîé÷èâîå ìíåíèå, ÷òî ýòî ïàíàöåÿ äëÿ ñîçäàíèÿ ñèëüíîãî èñêóññòâåííîãî èíòåëëåêòà. Âûãëÿäèò ìíîãîîáåùàþùå, íî… ÿ ñ ýòèì íå ðàáîòàë è ìîãó ñêàçàòü, ÷òî òàì äà êàê. Ïî èäåå, â ýòîé îáëàñòè êàæäûé äåíü âûõîäÿò ñòàòüè è  âûáðàòü ñòîÿùåå… äîâîëüíî òðóäíî.

ØÀÄ/êóðñû

ØÀÄ — ýòî áðåíä. ß íå çíàþ, ÷òî òàì ïðîõîäÿò òî÷íî, íî ÿ óâåðåí, ÷òî òàì êðóòî. Î÷åíü êðóòî. Ïîñòóïëåíèå áåñïëàòíîå, íî î÷åíü òðóäíîå. Ïîäðîáíåå ñ çàäà÷àìè ìîæíî îçíàêîìèòüñÿ çäåñü. Èç îíëàéí êóðñîâ ÿ áû ïîðåêîìåíäîâàë ìîíèòîðèòü stepic. Òàì ìîæíî âûöåïèòü âåñüìà ëþáîïûòíûå êóðñû. Ìåæäó ïðî÷èì,  ñ ñåðòèôèêàòàìè, ÷òî âåñüìà ïðèÿòíî. È áåñïëàòíî.

Òåõíè÷åñêàÿ ÷àñòü

Íó, òóò âñ¸ ïðîñòî. Èä¸ì è ñìîòðèì íà hh/linkedin/stackoverflow ÷òî èíòåðåñóåò ïîòåíöèàëüíîãî ðàáîòîäàòåëÿ.

1. SQL/NoSQL

2. Ñòýê: Big Data: Hadoop, Hive, Spark (äëÿ èíæåíåðîâ)

3. Python — ïðîñòî ìàñò õýâ. Îñîáåííî åãî áèáëèîòåêè äëÿ ìàøèííîãî îáó÷åíèÿ.

4. Æåëàòåëüíî java

5. R, mathlab

Åñëè èíòåðåñíî äëÿ ñåáÿ, òî:

1. h20. Èíòóèòèâíî ïðîñòî è ïîíÿòíî. ß âñåãäà èñïîëüçóþ äëÿ ðàçíûõ êîíêóðñîâ 🙂

2. MS Azure. Äåòèùå ìàéêðîñîôòà. Èíòåðôåéñîì íàïîìèíàåò RapidMiner, ðàíüøå áûëà ïëàòíîé, êàê ñåé÷àñ — õç. Åñòü âñ¸.  ñåòè äîâîëüíî ìíîãî óðîêîâ, êîòîðûå ðàññêàçûâàþò, êàê ýòèì ïîëüçîâàòüñÿ.

3. RapidMIner. Øòóêà ïðèêîëüíàÿ. Èíòåðôåéñ äîâîëüíî ïðîñòîé è äðóæåëþáíûé. Èç ìèíóñîâ: â áåñïëàòíîé âåðñèè âñåãî 1 ãèã îïåðàòèâêè ìîæíî èñïîëüçîâàòü, ÷òî äîâîëüíî ïå÷àëüíî.

Ïëîùàäêè

Íó âîò âû íàòðåíèðîâàëèñü, âûó÷èëè âñ¸, ÷òî ìîæíî è âàì íå òåðïèòñÿ ïîïðîáîâàòü ñâîè ñèëû? Íó òîãäà âàì

1. Kaggle. Ñàìàÿ-ñàìàÿ ïëàòôîðìà äëÿ êîíêóðñîâ ïî ìàøèííîìó îáó÷åíèþ. Äëÿ ñèëüíûõ äóõîì. Âîîáùå, ïîìèìî êîíêóðñîâ, ìîæíî ïî÷èòàòü ôîðóìû, ïîñìîòðåòü òåñòîâûå ïðîåêòû è ïîèñêàòü ðàáîòó.

2. Ãóãë íàø äðóã. Âáèâàåì machine learning contest è ñìîòðèì, ÷òî åñòü.

Ïîêàçàòü ïîëíîñòüþ

Âñåì ïðèâåò! Ìû ïðîäîëæàåì ïóáëèêîâàòü ëåêöèè ëåãåíäàðíîãî Ãàðâàðäñêîãî êóðñà CS50, êîòîðûå ìû ïåðåâîäèì è îçâó÷èâàåì ñïåöèàëüíî äëÿ JavaRush.

Ñåãîäíÿ ìû âûïóñòèëè 5-þ ëåêöèþ, ýòî ïåðâàÿ ëåêöèÿ 2-îé íåäåëè, äî ýòîãî ìû ïóáëèêîâàëè 0-þ è 1-þ íåäåëè. Âñåãî â êóðñå 24 ëåêöèè, ïîñòåïåííî ìû ïåðåâåäåì âñå.

1-ÿ ëåêöèÿ: https://pikabu.ru/story/osnovyi_programmirovaniya_lektsiya_0_…

2-ÿ ëåêöèÿ: https://pikabu.ru/story/garvardskiy_kurs_cs50_na_russkom_vtor…

3-ÿ ëåêöèÿ: https://pikabu.ru/story/garvardskiy_kurs_cs50_na_russkom_tret…

4-ÿ ëåêöèÿ: https://pikabu.ru/story/garvardskiy_kurs_cs50_na_russkom_chet…

À òåïåðü ïîäðîáíåå î CS50

Íà êîãî ðàññ÷èòàí

Åñëè âû — íîâè÷îê, ïðîéäèòå CS50. Åñëè êòî-òî èç âàøèõ çíàêîìûõ ïðèãëÿäûâàåòñÿ ê ÈÒ è ïðîãðàììèðîâàíèþ, ñîâåòóéòå CS50 íå ãëÿäÿ. ß ñåðüåçíî.

CS50 ïîäîéäåò ëþáîìó ÷åëîâåêó, êòî ðåøèë ñòàòü «àéòèøíèêîì». Ïîæàëóé, åãî ìîæíî ðåêîìåíäîâàòü è ñïîñîáíûì 12-ëåòíèì, è óìóäðåííûì îïûòîì «ïåðåáåæ÷èêàì» èç äðóãèõ ïðîôåññèé. Èäåàëüíî — ñòàðøåêëàññíèêàì è ñòóäåíòàì.

Êóðñ î÷åíü ïðîãðåññèâíûé è îáíîâëÿåòñÿ èç ãîäà â ãîä. Ïðè ýòîì â îòëè÷èå îò áîëüøèíñòâà ïîäîáíûõ óíèâåðñèòåòñêèõ îáó÷àþùèõ ïðîãðàìì (íàïðèìåð, MIT 6.00X) îò ñëóøàòåëÿ íå òðåáóþòñÿ çíàíèÿ óíèâåðñèòåòñêîé ìàòåìàòèêè, äîñòàòî÷íî øêîëüíîãî óðîâíÿ.

×òî èçó÷àþò íà CS50

— Îñíîâû êîìïüþòåðíûõ íàóê è ïðîãðàììèðîâàíèÿ. Ñèñòåìû ñ÷èñëåíèÿ, ðàáîòà ñ êîìàíäíîé ñòðîêîé â Linux, öèêëû, óñëîâíûå ïåðåõîäû è ïðî÷èå ðàäîñòè.

— Êîíöåïöèè àëãîðèòìîâ è àëãîðèòìè÷íîñòè ìûøëåíèÿ. Âû óçíàåòå î òîì, êàêèå çàäà÷è ìîæíî ðåøàòü ñ ïîìîùüþ ïðîãðàììèðîâàíèÿ è êàêèì îáðàçîì. Î áèíàðíîì ïîèñêå, ïðîñòîì ïî ñóòè, íî î÷åíü ýôôåêòèâíîì è òðåáóþùåì òùàòåëüíîñòè â ðåàëèçàöèè, Äýâèä Ìàëàí ðàññêàæåò ñõîäó, ïðÿìî íà íóëåâîé ëåêöèè. È ïîïðîáóéòå ïîòîì çàáûòü ñöåíó ñ ðàçðûâîì òåëåôîííîãî ñïðàâî÷íèêà, à âìåñòå ñ íåé — è ïîëó÷åííûå çíàíèÿ! Âîîáùå, êóðñ îõâàòûâàåò âñå îñíîâíûå àëãîðèòìû, êîòîðûå íóæíî çíàòü è ïîíèìàòü «àéòèøíèêàì».

— Êîíöåïöèè àáñòðàêöèè, ñòðóêòóðû äàííûõ, èíêàïñóëÿöèè, óïðàâëåíèÿ ïàìÿòüþ. Îñíîâû êîìïüþòåðíîé áåçîïàñíîñòè. Ïðîöåññ ðàçðàáîòêè ÏÎ è âåá-ðàçðàáîòêà.

— Îñíîâû ÿçûêà ïðîãðàììèðîâàíèÿ C è âèçóàëüíîãî ÿçûêà Scratch. Ñîáñòâåííî, âñå îñíîâíûå ïðèìåðû è çàäàíèÿ ñòóäåíòû äåëàþò íà ÿçûêå C.

— Îñíîâû áàç äàííûõ è SQL.

— Âåá-ðàçðàáîòêà: îñíîâû CSS, HTML, JavaScript è PHP. Åñòåñòâåííî, òîëüêî ñàìûå àçû.

— Îñíîâû ïîäãîòîâêè ïðåçåíòàöèè ïðîåêòîâ ïî ïðîãðàììèðîâàíèþ.

Ïîääåðæèòå íàñ ïëþñîì è ïîäïèñûâàéòåñü íà íàñ è ñîîáùåñòâî «Íàóêà».  

Ïîêàçàòü ïîëíîñòüþ

Âñåì ïðèâåò! Ìû ïðîäîëæàåì ïóáëèêîâàòü ëåêöèè ëåãåíäàðíîãî Ãàðâàðäñêîãî êóðñà CS50.

Ñåãîäíÿ ìû âûïóñòèëè 4-þ ëåêöèþ, ýòî âòîðàÿ ëåêöèÿ 1-îé íåäåëè, äî ýòîãî ìû ïóáëèêîâàëè 0-þ íåäåëþ, òî åñòü ââåäåíèå. Âñåãî â êóðñå 24 ëåêöèè, ïîñòåïåííî ìû ïåðåâåäåì âñå.

1-ÿ ëåêöèÿ: https://pikabu.ru/story/osnovyi_programmirovaniya_lektsiya_0_…

2-ÿ ëåêöèÿ: https://pikabu.ru/story/garvardskiy_kurs_cs50_na_russkom_vtor…

3-ÿ ëåêöèÿ: https://pikabu.ru/story/garvardskiy_kurs_cs50_na_russkom_tret…

À òåïåðü ïîäðîáíåå î CS50

Íà êîãî ðàññ÷èòàí

Åñëè âû — íîâè÷îê, ïðîéäèòå CS50. Åñëè êòî-òî èç âàøèõ çíàêîìûõ ïðèãëÿäûâàåòñÿ ê ÈÒ è ïðîãðàììèðîâàíèþ, ñîâåòóéòå CS50 íå ãëÿäÿ. ß ñåðüåçíî.

CS50 ïîäîéäåò ëþáîìó ÷åëîâåêó, êòî ðåøèë ñòàòü «àéòèøíèêîì». Ïîæàëóé, åãî ìîæíî ðåêîìåíäîâàòü è ñïîñîáíûì 12-ëåòíèì, è óìóäðåííûì îïûòîì «ïåðåáåæ÷èêàì» èç äðóãèõ ïðîôåññèé. Èäåàëüíî — ñòàðøåêëàññíèêàì è ñòóäåíòàì.

Êóðñ î÷åíü ïðîãðåññèâíûé è îáíîâëÿåòñÿ èç ãîäà â ãîä. Ïðè ýòîì â îòëè÷èå îò áîëüøèíñòâà ïîäîáíûõ óíèâåðñèòåòñêèõ îáó÷àþùèõ ïðîãðàìì (íàïðèìåð, MIT 6.00X) îò ñëóøàòåëÿ íå òðåáóþòñÿ çíàíèÿ óíèâåðñèòåòñêîé ìàòåìàòèêè, äîñòàòî÷íî øêîëüíîãî óðîâíÿ.

×òî èçó÷àþò íà CS50

— Îñíîâû êîìïüþòåðíûõ íàóê è ïðîãðàììèðîâàíèÿ. Ñèñòåìû ñ÷èñëåíèÿ, ðàáîòà ñ êîìàíäíîé ñòðîêîé â Linux, öèêëû, óñëîâíûå ïåðåõîäû è ïðî÷èå ðàäîñòè.

— Êîíöåïöèè àëãîðèòìîâ è àëãîðèòìè÷íîñòè ìûøëåíèÿ. Âû óçíàåòå î òîì, êàêèå çàäà÷è ìîæíî ðåøàòü ñ ïîìîùüþ ïðîãðàììèðîâàíèÿ è êàêèì îáðàçîì. Î áèíàðíîì ïîèñêå, ïðîñòîì ïî ñóòè, íî î÷åíü ýôôåêòèâíîì è òðåáóþùåì òùàòåëüíîñòè â ðåàëèçàöèè, Äýâèä Ìàëàí ðàññêàæåò ñõîäó, ïðÿìî íà íóëåâîé ëåêöèè. È ïîïðîáóéòå ïîòîì çàáûòü ñöåíó ñ ðàçðûâîì òåëåôîííîãî ñïðàâî÷íèêà, à âìåñòå ñ íåé — è ïîëó÷åííûå çíàíèÿ! Âîîáùå, êóðñ îõâàòûâàåò âñå îñíîâíûå àëãîðèòìû, êîòîðûå íóæíî çíàòü è ïîíèìàòü «àéòèøíèêàì».

— Êîíöåïöèè àáñòðàêöèè, ñòðóêòóðû äàííûõ, èíêàïñóëÿöèè, óïðàâëåíèÿ ïàìÿòüþ. Îñíîâû êîìïüþòåðíîé áåçîïàñíîñòè. Ïðîöåññ ðàçðàáîòêè ÏÎ è âåá-ðàçðàáîòêà.

— Îñíîâû ÿçûêà ïðîãðàììèðîâàíèÿ C è âèçóàëüíîãî ÿçûêà Scratch. Ñîáñòâåííî, âñå îñíîâíûå ïðèìåðû è çàäàíèÿ ñòóäåíòû äåëàþò íà ÿçûêå C.

— Îñíîâû áàç äàííûõ è SQL.

— Âåá-ðàçðàáîòêà: îñíîâû CSS, HTML, JavaScript è PHP. Åñòåñòâåííî, òîëüêî ñàìûå àçû.

— Îñíîâû ïîäãîòîâêè ïðåçåíòàöèè ïðîåêòîâ ïî ïðîãðàììèðîâàíèþ.

Ïîääåðæèòå íàñ ïëþñîì è ïîäïèñûâàéòåñü íà íàñ è ñîîáùåñòâî «Íàóêà».  

Ïîêàçàòü ïîëíîñòüþ

Âñåì ïðèâåò! Ïðîøëûé ïîñò íàáðàë áîëåå 3000 ïëþñîâ, ïîýòîìó ìû ïðîäîëæàåì ïóáëèêîâàòü ëåêöèè ëåãåíäàðíîãî Ãàðâàðäñêîãî êóðñà CS50.

Ñåãîäíÿ ìû âûïóñòèëè 3-þ ëåêöèþ, ýòî ïåðâàÿ ëåêöèÿ 1-îé íåäåëè, äî ýòîãî ìû ïóáëèêîâàëè 0-þ íåäåëþ, òî åñòü ââåäåíèå. Âñåãî â êóðñå 24 ëåêöèè, ïîñòåïåííî ìû ïåðåâåäåì âñå.

1-ÿ ëåêöèÿ: https://pikabu.ru/story/osnovyi_programmirovaniya_lektsiya_0_…

2-ÿ ëåêöèÿ: https://pikabu.ru/story/garvardskiy_kurs_cs50_na_russkom_vtor…

À òåïåðü ïîäðîáíåå î CS50

Íà êîãî ðàññ÷èòàí

Åñëè âû — íîâè÷îê, ïðîéäèòå CS50. Åñëè êòî-òî èç âàøèõ çíàêîìûõ ïðèãëÿäûâàåòñÿ ê ÈÒ è ïðîãðàììèðîâàíèþ, ñîâåòóéòå CS50 íå ãëÿäÿ. ß ñåðüåçíî.

CS50 ïîäîéäåò ëþáîìó ÷åëîâåêó, êòî ðåøèë ñòàòü «àéòèøíèêîì». Ïîæàëóé, åãî ìîæíî ðåêîìåíäîâàòü è ñïîñîáíûì 12-ëåòíèì, è óìóäðåííûì îïûòîì «ïåðåáåæ÷èêàì» èç äðóãèõ ïðîôåññèé. Èäåàëüíî — ñòàðøåêëàññíèêàì è ñòóäåíòàì.

Êóðñ î÷åíü ïðîãðåññèâíûé è îáíîâëÿåòñÿ èç ãîäà â ãîä. Ïðè ýòîì â îòëè÷èå îò áîëüøèíñòâà ïîäîáíûõ óíèâåðñèòåòñêèõ îáó÷àþùèõ ïðîãðàìì (íàïðèìåð, MIT 6.00X) îò ñëóøàòåëÿ íå òðåáóþòñÿ çíàíèÿ óíèâåðñèòåòñêîé ìàòåìàòèêè, äîñòàòî÷íî øêîëüíîãî óðîâíÿ.

×òî èçó÷àþò íà CS50

— Îñíîâû êîìïüþòåðíûõ íàóê è ïðîãðàììèðîâàíèÿ. Ñèñòåìû ñ÷èñëåíèÿ, ðàáîòà ñ êîìàíäíîé ñòðîêîé â Linux, öèêëû, óñëîâíûå ïåðåõîäû è ïðî÷èå ðàäîñòè.

— Êîíöåïöèè àëãîðèòìîâ è àëãîðèòìè÷íîñòè ìûøëåíèÿ. Âû óçíàåòå î òîì, êàêèå çàäà÷è ìîæíî ðåøàòü ñ ïîìîùüþ ïðîãðàììèðîâàíèÿ è êàêèì îáðàçîì. Î áèíàðíîì ïîèñêå, ïðîñòîì ïî ñóòè, íî î÷åíü ýôôåêòèâíîì è òðåáóþùåì òùàòåëüíîñòè â ðåàëèçàöèè, Äýâèä Ìàëàí ðàññêàæåò ñõîäó, ïðÿìî íà íóëåâîé ëåêöèè. È ïîïðîáóéòå ïîòîì çàáûòü ñöåíó ñ ðàçðûâîì òåëåôîííîãî ñïðàâî÷íèêà, à âìåñòå ñ íåé — è ïîëó÷åííûå çíàíèÿ! Âîîáùå, êóðñ îõâàòûâàåò âñå îñíîâíûå àëãîðèòìû, êîòîðûå íóæíî çíàòü è ïîíèìàòü «àéòèøíèêàì».

— Êîíöåïöèè àáñòðàêöèè, ñòðóêòóðû äàííûõ, èíêàïñóëÿöèè, óïðàâëåíèÿ ïàìÿòüþ. Îñíîâû êîìïüþòåðíîé áåçîïàñíîñòè. Ïðîöåññ ðàçðàáîòêè ÏÎ è âåá-ðàçðàáîòêà.

— Îñíîâû ÿçûêà ïðîãðàììèðîâàíèÿ C è âèçóàëüíîãî ÿçûêà Scratch. Ñîáñòâåííî, âñå îñíîâíûå ïðèìåðû è çàäàíèÿ ñòóäåíòû äåëàþò íà ÿçûêå C.

— Îñíîâû áàç äàííûõ è SQL.

— Âåá-ðàçðàáîòêà: îñíîâû CSS, HTML, JavaScript è PHP. Åñòåñòâåííî, òîëüêî ñàìûå àçû.

— Îñíîâû ïîäãîòîâêè ïðåçåíòàöèè ïðîåêòîâ ïî ïðîãðàììèðîâàíèþ.

Ïîääåðæèòå íàñ ïëþñîì è ïîäïèñûâàéòåñü íà íàñ è ñîîáùåñòâî «Íàóêà».  

Ïîêàçàòü ïîëíîñòüþ

Âñåì ïðèâåò! Ìû íàêîíåö-òî îáçàâåëèñü ñîáñòâåííûì àêêàóíòîì íà Ïèêàáó êîòîðûé ìîæåò ïóáëèêîâàòü âèäåî. Ïðåäñòàâëÿåì âàøåìó âíèìàíèþ âòîðóþ ëåêöèþ ëåãåíäàðíîãî Ãàðâàðäñêîãî êóðñà CS50.

Ðàíåå ìû ïóáëèêîâàëè ââîäíóþ ëåêöèþ: https://pikabu.ru/story/osnovyi_programmirovaniya_lektsiya_0_…

Âñåãî â êóðñå 24 ëåêöèè, ïîñòåïåííî ìû ïåðåâåäåì âñå.

À òåïåðü ïîäðîáíåå î CS50

Íà êîãî ðàññ÷èòàí

Åñëè âû — íîâè÷îê, ïðîéäèòå CS50. Åñëè êòî-òî èç âàøèõ çíàêîìûõ ïðèãëÿäûâàåòñÿ ê ÈÒ è ïðîãðàììèðîâàíèþ, ñîâåòóéòå CS50 íå ãëÿäÿ. ß ñåðüåçíî.

CS50 ïîäîéäåò ëþáîìó ÷åëîâåêó, êòî ðåøèë ñòàòü «àéòèøíèêîì». Ïîæàëóé, åãî ìîæíî ðåêîìåíäîâàòü è ñïîñîáíûì 12-ëåòíèì, è óìóäðåííûì îïûòîì «ïåðåáåæ÷èêàì» èç äðóãèõ ïðîôåññèé. Èäåàëüíî — ñòàðøåêëàññíèêàì è ñòóäåíòàì.

Êóðñ î÷åíü ïðîãðåññèâíûé è îáíîâëÿåòñÿ èç ãîäà â ãîä. Ïðè ýòîì â îòëè÷èå îò áîëüøèíñòâà ïîäîáíûõ óíèâåðñèòåòñêèõ îáó÷àþùèõ ïðîãðàìì (íàïðèìåð, MIT 6.00X) îò ñëóøàòåëÿ íå òðåáóþòñÿ çíàíèÿ óíèâåðñèòåòñêîé ìàòåìàòèêè, äîñòàòî÷íî øêîëüíîãî óðîâíÿ.

×òî èçó÷àþò íà CS50

— Îñíîâû êîìïüþòåðíûõ íàóê è ïðîãðàììèðîâàíèÿ. Ñèñòåìû ñ÷èñëåíèÿ, ðàáîòà ñ êîìàíäíîé ñòðîêîé â Linux, öèêëû, óñëîâíûå ïåðåõîäû è ïðî÷èå ðàäîñòè.

— Êîíöåïöèè àëãîðèòìîâ è àëãîðèòìè÷íîñòè ìûøëåíèÿ. Âû óçíàåòå î òîì, êàêèå çàäà÷è ìîæíî ðåøàòü ñ ïîìîùüþ ïðîãðàììèðîâàíèÿ è êàêèì îáðàçîì. Î áèíàðíîì ïîèñêå, ïðîñòîì ïî ñóòè, íî î÷åíü ýôôåêòèâíîì è òðåáóþùåì òùàòåëüíîñòè â ðåàëèçàöèè, Äýâèä Ìàëàí ðàññêàæåò ñõîäó, ïðÿìî íà íóëåâîé ëåêöèè. È ïîïðîáóéòå ïîòîì çàáûòü ñöåíó ñ ðàçðûâîì òåëåôîííîãî ñïðàâî÷íèêà, à âìåñòå ñ íåé — è ïîëó÷åííûå çíàíèÿ! Âîîáùå, êóðñ îõâàòûâàåò âñå îñíîâíûå àëãîðèòìû, êîòîðûå íóæíî çíàòü è ïîíèìàòü «àéòèøíèêàì».

— Êîíöåïöèè àáñòðàêöèè, ñòðóêòóðû äàííûõ, èíêàïñóëÿöèè, óïðàâë?