-13

Язык мирового значения

Может кому будет интересно почитать, мини статья немного обо всё, даже о Pascal, который очень многие считают уже не актуальным и мёртвым языком!

Сама статья:

Сообщение о том, что язык программирования Kotlin, разработанный российскими программистами из Санкт-Петербурга, стал одним из официальных языков американского Google, зал в Маунтин-Вью (Калифорния), собравший видных разработчиков в мае этого года, встретил овацией.



Появление нового языка на столь высоком уровне — знаковое событие для IT-мира. А тот факт, что на этом поприще отличились именно наши соотечественники, особо приятен: в последний раз нечто подобное имело место в 1966-м. Именно тогда, полвека назад, появился созданный кибернетиком Валентином Турчиным язык РЕкурсивных Функций Алгоритмический, он же — Рефал (название до сих пор часто пишется по-русски, как и в случае с другими языками, созданными в советское время).



Это один из старейших языков программирования, который со временем получил мировую известность. Его до сих пор иногда используют для решения специфических задач в науке, например, различные лаборатории ядерной физики в Обнинске, военные и математические центры, но в основном все же в России.



Kotlin (или Котлин — по имени острова, где расположен Кронштадт), особенно после признания таким гигантом, как Google, известен значительно шире. Если раньше при соответствующем запросе в поисковой строке на слово "Котлин" выпадало "небольшой остров в Финском заливе Балтийского моря" или, в крайней случае, информация об одноименном польском кетчупе "Котлин", то теперь на первом месте — российский программный продукт. Сейчас им пользуются сотни тысяч человек по всему миру, включая программистов из КНР, США, России, Германии, Индии, Японии, Великобритании и даже экзотического Тринидада и Тобаго.



— Мы изначально ставили перед собой задачу создать универсальный язык программирования, который будет удобен для применения в самых разных сферах,— говорит "Огоньку" руководитель проекта Kotlin компании JetBrains, один из создателей языка Андрей Бреслав.— Это могут быть и разработки для мобильных телефонов, сервисные и клиентские приложения. К тому же в нем есть много средств для взаимодействия с другими языками, он полностью совместим с Java — одним из самых популярных на сегодняшний день языков программирования. Мы изначально хотели сделать не исследовательский проект, а прикладной инструмент для работы, чтобы облегчить жизнь программистам.



Умножение сущностей



Надо признать, что у программистов по этой части проблем и в самом деле хватает. Сегодня в ходу около 2 тысяч языков программирования, но в мейнстриме из них только пять или шесть.



— Конечно, для разных задач следует выбирать разные языки программирования,— объясняет директор центра студенческих олимпиад факультета компьютерных наук НИУ ВШЭ Михаил Густокашин.— Например, для военной промышленности лучше всего писать на старом добром Pascal — языке, который родился еще в 1970 году. Почему? Да просто потому, что он надежней... Приложения для бизнеса можно писать на Java — этот язык тоже достаточно надежен, но гораздо более прост в использовании.



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



— Сегодня специалистам во всем мире очевидно, что в программировании "что-то пошло не так",— рассказал "Огоньку" преподаватель кафедры компьютерных технологий Университета информационных технологий, механики и оптики (ИТМО) Роман Елизаров.— Лет двадцать назад можно было на одном языке Pascal решить практически любую задачу, не относящуюся к узким направлениям деятельности. Но с тех пор рынок очень сегментировался. Если я хочу создать в современном мире универсальный продукт, который будет доступен и на мобильном телефоне, и в различных приложениях, мне нужно писать одно и то же на разных языках программирования. Это тяжело даже для больших компаний, потому что приходится содержать несколько команд. Сегодня обычная ситуация, когда рядом сидит группа людей, которая пишет приложения под Android и тут же другие люди пишут то же самое под Apple. Налицо чудовищная неэффективность, которую пытаются исправить во всем мире.



Каким же чудом именно россияне оказались успешнее других в решении этой задачи? Ученые из Санкт-Петербурга отвечают на этот вопрос с вызовом: они убеждены, что в России можно развивать наукоемкий бизнес мирового уровня, даже несмотря на отсутствие госфинансирования, связей науки с предприятиями и постоянную утечку умов. Все, что нужно,— мотивированный частный капитал и желание всерьез вложиться в систему образования, как это сделала, к примеру, та же JetBrains, вложившая за последние пять лет 6 млн долларов в систему подготовки IT-кадров в России.



Код прибыли



Так и тянет сказать, что российские программисты — самые талантливые в мире. Но это не так: талантливые специалисты в IT-области в разных странах появляются на свет примерно с одинаковой частотой. Другое дело, что чем больше плотность населения, тем, по определению, таких талантов больше. Поэтому, если сегодня пройтись по коридорам компаний и научных центров в американской Кремниевой долине, то там будет больше китайцев или индийцев, приехавших из мекки компьютерного мира — технопарка в Бангалоре. (Правда, в последние несколько лет Китай все больше делает акцент на качество образования студентов, а индийцы ставят по-прежнему на количество). Впрочем, и русских в Кремниевой долине тоже много, до сих пор считается, что у россиян хорошая научная база.



Не секрет, что программирование уже несколько лет в топе самых престижных и высокооплачиваемых профессий. Даже в России, несмотря на кризис, средний ценник высококлассных специалистов в районе отметки 300 тысяч рублей в месяц и выше.



— Вообще, все, что касается денег в программировании, "устроено" сегодня довольно странно,— рассказал "Огоньку" старший вице-президент по инвестициям, исследованиям и образовательным проектам в компании JetBrains Андрей Иванов.— Большие суммы крутятся вокруг стартапов. Выглядит это так: программисту приходит в голову гениальная идея, он выходит с нею на рынок, находит инвестора, который дает, предположим, 10 млн долларов и говорит: развивай свою идею. Теоретически это не ваши деньги, но вы их можете потратить именно на развитие бизнеса. Если вы успешный программист, то в какой-то момент ваш стартап вдруг покупают и вы в одночасье становитесь долларовым миллионером. При этом понять, почему выстрелил именно тот, а не другой проект, иногда достаточно сложно.



Из таких неожиданных взлетов последнего времени специалисты называют — Instagram. По сути, это довольно банальный инструмент для хранения и выкладывания фото, который Facebook купил за огромные деньги. Почему? Это загадка, ведь ничего особенно сложного в этой программе нет. Или Uber — успешнейший бизнес, который вообще не про программирование. Изначально это была программа, которая распознавала, где вы находитесь, и вызывала такси по геолокации.



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



Среди создателей самых известных и популярных бизнесов тоже полно программистов. Вот только некоторые: создатель самого большого IT-проекта XX века — сети "Интернет" Тим Бернерс-Ли; один из создателей компании Microsoft Билл Гейтс; создатель языка программирования C (Си) и ключевой разработчик операционной системы UNIX Деннис Ритчи; создатель ядра операционной системы GNU/Linux Линус Торвальдс; разработчик и сооснователь поисковой системы Google Сергей Брин...



Покажите язык



И тем не менее среди всех компьютерных наук создание новых языков программирования остается элитной областью. В том смысле, что никто просто так ею заниматься не будет: это слишком затратно, а уверенности, что на выходе получится хоть что-то стоящее, никакой. Популярные языки создают, как правило, либо очень талантливые энтузиасты, как, например, гениальный швейцарец, специалист по информационным технологиям Никлаус Вирт, написавший в одиночку популярнейший язык Pascal. Либо очень крупные компании, наподобие Microsoft, у которых есть свои платформы для разработок и большое количество денег. В России пошли по другому пути, собрав "поштучно" команду молодых профессионалов, которые восприняли Kotlin как дело своей жизни — каждый программист на самом деле мечтает создать свой язык. Андрей Бреслав до прихода в компанию в 2010-м стажировался в Microsoft Research и выбирал между карьерой в США и в России. Программист Михаил Глухих вернулся в Питер после работы в Германии, Денис Жарков — из Томска, кто-то переехал из Екатеринбурга, некоторые специалисты — из Москвы. В итоге сегодня над языком работает команда примерно из 40 человек, среди которых больше всего профессиональных программистов и математиков, но программируют здесь и физики, и менеджеры по продажам, и даже психолог по основному образованию.



— На самом деле ценность математического образования для программиста в целом сильно преувеличивают,— говорит Андрей Иванов из JetBrains.— Высшая математика в вузе оперирует серьезными сложными абстракциями, которые в программировании применимы в 2 процентах случаев. Программирование — вещь вполне конкретная. И вот этой конкретики в нашем высшем образовании в сфере информационных технологий еще совсем недавно не было. В России преподавали то, что в жизни никак не могло пригодиться. Мы попробовали переломить эту ситуацию, сложившуюся еще в советское время.



По советскому счету



В СССР с преподаванием информатики все складывалось очень причудливо. Как известно, советские компьютерные технологии развивались за тяжелым железным занавесом, поэтому многое приходилось создавать в отрыве от мировой научной мысли — практически заново. Сильно затормозила и борьба с кибернетикой, которую в 1950-е годы признали реакционной буржуазной теорией. В итоге в СССР продолжала семимильными шагами развиваться вычислительная техника, необходимая в первую очередь для оборонки, а все, что связано с внедрением компьютерной обработки информации в разные сферы жизни, застыло на уровне все тех же 1950-х.



Компьютеров в Союзе всегда было катастрофически мало. В книге "Понедельник начинается в субботу" главный герой на просьбу выполнить некую задачу отвечает: "Это стоит два часа машинного времени". Машинное время, то есть доступ к компьютеру, было валютой, которой на всех не хватало. В крупном институте на 500 человек мог стоять всего один компьютер.



Уже в 1970-е знаменитый основатель сибирской школы информатики академик Андрей Ершов сравнил уровень преподавания компьютерных наук в советских и американских школах и сделал удручающий вывод: мы отстали, увы, безнадежно.



— Тем не менее вплоть до 1980-х бытовала чья-то фраза, что "отсутствие компьютеров не снижает ценности занятий информатикой в школе",— рассказывает Андрей Иванов.— Поэтому учителя информатики проверяли домашнее задание у учеников, как учитель литературы проверял сочинения — по бумажке. Именно в таком варианте дети знакомились с языками программирования — Fortran и Algol.



Обязательным предметом в советских школах информатика стала лишь с 1 сентября 1985 года. Тогда в школы пришли преподавать инженеры и программисты профильных НИИ. В это время из-за рубежа уже стала просачиваться информация, и наши программисты смогли развивать не только свои идеи, но и сверяться с тем, что происходило на Западе. А потом пришли 1990-е. По оценке директора Института системного программирования РАН Арутюна Аветисяна, с 1994 по 2000 год в США, Западную Европу, Израиль и даже в Новую Зеландию уехало около 80 процентов (!) и без того немногочисленных отечественных IT-специалистов. "Когда мы были не так давно в израильской "кремниевой долине", ее руководители не скрывали, что одним из пяти факторов, определивших бурное развитие программирования в Израиле, была именно эмиграция классных программистов из СССР и России в 1990-е годы",— говорит Арутюн Аветисян.



— В это время образовалась своеобразная яма в высшем образовании программистов,— говорит Андрей Иванов.— Весь мощный программистский преподавательский состав, который двигал какие-то фундаментальные аспекты науки вперед, уехал. А остались в основном те, кого никуда не позвали. Они, кстати, так и преподают во многих вузах по сей день. Выпуски рубежа нулевых представляли собой печальное зрелище, и тогда стало понятно, что нормальному программированию в России практически нигде не учат. Чтобы как-то изменить ситуацию, в 2005-м году мы создали на частные деньги первый образовательный проект — "Академию современного программирования". Это были вечерние курсы, где студентов (отбирали самых талантливых) учили базовым вещам, которые должен давать любой бакалавриат. На двухгодичных курсах мы помогали умным ребятам с желанием учиться систематизировать имеющиеся знания, получить недостающие и применить все это на практике в реальных проектах. Наших выпускников охотно брали на работу в ведущие российские и мировые компании. Ведь на самом деле, чтобы изучить программирование на уровне, необходимом для того, чтобы работать в хорошей компании, хватает двух лет.



В итоге что-то сдвинулось ближе к концу двухтысячных, когда в образование программистов начали вкладывать солидные средства частные компании и государство. Во многих вузах возникли небольшие магистратуры, где талантливая молодежь может учиться бесплатно практически по тем же программам, что в ведущих мировых IT-вузах. Курсы здесь составляют компании-меценаты исходя из того, что актуально на рынке именно сейчас и что интересно им самим. Например, сегодня один из самых больших конкурсов среди программистов на факультете компьютерных наук в Высшей школе экономики в Москве (по сути, это факультет "Яндекса"), на факультете инноваций и высоких технологий в МФТИ (проект базовых кафедр различных компаний) и на кафедре математических и информационных технологий Академического университета РАН — здесь при активном участии JetBrains создана программа полного шестигодичного обучения. Поступить в подобные места чрезвычайно трудно, потому что молодежь съезжается сюда со всей России — это вполне реальный шанс попасть из провинциального города в число лучших программистов мира



— Я поступил в Академический университет после Томского государственного университета,— рассказывает один из разработчиков Kotlin Денис Жарков.— Вначале учиться было довольно сложно из-за интенсивности программы и необычного подхода. У студентов было много вариантов для курсов по выбору. Что и в каком семестре слушать, нужно было выбирать индивидуально вместе с куратором. Именно он рекомендовал какие-то курсы в зависимости от того, что интересного происходило в мире на рынке программирования. В итоге мы получали актуальные знания, которые можно было сразу применять на деле, практика — обязательный элемент обучения. Именно тогда я услышал про создание новых языков, это показалось мне интересной и очень красивой областью, в которой я занят по сей день.



— Программа обучения в том же Академическом университете составлена на основе международных стандартов в области программной инженерии,— рассказывает старший вице-президент по инвестициям, исследованиям и образовательным проектам в компании JetBrains Андрей Иванов.— Опыт в целом пока очень удачный. Программирование оказалось той сферой, где пересеклись образовательные инициативы государства и бизнеса. Мы ищем такие вузы, где готовы не только брать деньги и давать стипендии талантливым студентам, но и пускать нас в образовательный процесс. Мне кажется, что за таким подходом, в принципе, будущее. На самом деле большая часть команды Kotlin сформирована как раз из таких вчерашних студентов, которые обучались по индивидуальной траектории. Известно, что большую часть знаний, приобретенных в университете, мы со временем забываем. Тем не менее что-то в головах у студентов остается надолго. Мы задались вопросом, что объединяет знания, которые не улетучились, а закрепились, и в результате выделили два основных критерия. Во-первых, предмет должен быть студенту интересен. Во-вторых, теоретические знания должны быть подкреплены практикой. Эти два наблюдения и положены в основу образовательной системы в наших проектах. Число обязательных курсов минимально. Обучение подкрепляется обязательной практической работой, которая в той или иной форме представлена в программе с самого начала, от "игрушечных" проектов, выполняемых под постоянным контролем старших товарищей на младших курсах, до участия в реальной промышленной разработке или научных исследованиях в рамках подготовки диссертаций.



Интересно, что если в России такое индивидуально-штучное образование родилось во многом не от хорошей жизни, то на Западе к такой системе пришли параллельно с нами как раз от хорошей. Иванов видит в этом принципиальную закономерность.



— Главный вызов современного мира,— говорит Андрей Иванов,— в том, что знания стали какими-то слишком сложными и приобрели колоссальные масштабы. Например, накопленные человечеством знания передовому инженеру физически невозможно передать за всю жизнь. Вывод: нужно выстраивать достаточно строгую систему отбора знаний. Недавно мы слушали мастер-класс в Массачусетском технологическом институте (MIT), где говорилось о том, что нужно глобально перенастраивать все мировое инженерное образование. И в его основу должно лечь индивидуальное образование студентов.



Надо признать, что, несмотря на то что у нас объявлен курс на цифровую экономику, которая должна расцвести к 2024 году, пока в России ситуация такова, что сильных студентов оказывается больше, чем мест, где им могли бы дать образование на том уровне, который сегодня является высшим.



Праздник N 256



Осенью в США пройдет большая конференция по языку Kotlin, которая соберет поклонников нового продукта со всего мира. Можно не сомневаться, что собравшиеся там специалисты заодно поздравят друг друга и с профессиональным праздником, его программисты отмечают в 256-й день каждого года (обычно приходится на 12 или 13 сентября). Почему выбран именно 256-й день? Это вопрос для непосвященных: для всех собравшихся ответ очевиден: ну как же, два в 8-й степени — то количество чисел, которые можно выразить с помощью восьмиразрядного байта и максимальная степень числа 2, которая меньше 365 (дней в году).



— Программирование со времен падения железного занавеса в 1990-е стало тем языком, который объединяет людей по всему миру,— говорят разработчики Kotlin.— А программисты — той движущей силой, которая меняет мир на наших глазах.



Очевидно, пришло время, когда понимать тех, кто пишет новые языки мирового общения, должны уже не только профессионал

источник: http://nnm-club.name/forum/viewtopic.php?t=1176036

баяноискатель не нашёл похожих статей, если что призываете модератора!

Дубликаты не найдены

+4
Столько "воды". Все читал и читал и думал когда ж раскроют карты и я узнаю что же такого напридумывали в kotlin-е . Так и не написали ( хоть немного о нем было б. Буду по старинке программировать в с#
+1

В It нельзя гарантировать будущую популярность языка или технологии, модель osi  и XHTML тоже долго разрабатывались но остались лишь в теории.   

-2
Действительно новые языки программирования будут двигаться в сторону человеческого языка.
раскрыть ветку 6
-1
ну так ИИ постепенно развиваются, так что со временем в задачу программиста будет входить объяснение ИИ кодеру что именно должна делать и чего не должна делать программа
раскрыть ветку 5
-2

Именно входить, наряду со всем остальным.

-1

а ИИ такой: как скажешь бро) а сам в это время взламывать коды от запуска ядерных ракет по всему миру)

раскрыть ветку 3
-6
чем больше плотность населения, тем, по определению, таких талантов больше

Ну да, ну да..

Среди ребят: гении в музыке, физике, математике, литературе...

Иллюстрация к комментарию
раскрыть ветку 1
0

ну ебанько везде хватает и всегда будут!

ещё комментарии
Похожие посты
1779

Шерлок Холмс: Череп как способ

Шерлок Холмс: Череп как способ Шерлок Холмс, Детектив, Череп, Интересное, Прием, Программирование, Психология

Метод утенка


Метод утёнка — психологический метод решения задачи, делегирующий её мысленному помощнику. Метод описан в книге «Программист-прагматик».


Тестируемый ставит на рабочем столе игрушечного утёнка (или представляет его мысленно; на самом деле уточка - это условно, предмет может быть любым), и когда у него возникает вопрос, на который трудно ответить, то он задаёт его игрушке, как живому человеку, словно она действительно может ответить. Считается, что правильная формулировка вопроса содержит как минимум половину ответа, а также это дает толчок мыслям, направляя их в нужное русло.


Метод также используется при отладке. Если определённая часть программы не работает, программист пытается объяснить утёнку, что делает каждая строка программы, и в процессе этого сам находит ошибку.

Аналогичный прием использовал Шерлок Холмс. До появления доктора Ватсона вместо утенка у него другом был череп. Многие наверное Шерлока посчитали странным, минимум не поняли о чем он говорит.

Скидываю интересную ссылку  на видео про Шерлока с черепом и его методах по скольку не могу сразу тут добавлять видео.
https://www.youtube.com/watch?v=IENyti5C_Cw&list=PLZH8x2...

313

Машинное обучение. Технический пост: с чего начинать и на что обратить внимание.

Всем привет! Меня довольно часто спрашивали в комментариях к научным постам, откуда лучше стартовать в машинном обучении и анализе данных. Ну что же. Попробуем собрать воедино мой опыт и посвятить пост техническим вопросам.

Оглавление:

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 и смотрим, что есть.

Показать полностью
1067

Похождения кота в шляпе

Во время учебы в колледже увлекся я программированием. Настолько, что писал для других курсовые работы на заказ. Практическая часть курсовика состояла из трех программ на Турбо Паскаль 5.5, последней из которых была программа с графикой. Задания были интересными: создать несложную игрушку вроде "ипподрома" или какую-нибудь простенькую анимацию. Все средствами паскаля.

Для автоматизации рутины я даже сделал специальный графический редактор, который сохранял нарисованные картинки в листинг команд Line, LineTo, Circle и т.д. для дальнейшей вставки в тело программы.

На фоне незамысловатого кубизма других студентов моя анимация смотрелась Союзмультфильмом.


Одно задание меня поразило особо: "Организовать перемещение кота в шляпе". Какая шляпа? Как внутри нее кот должен перемещаться? Наркоман штоле.

Уточнять желания препода было некогда, время-деньги. Решил рисовать, как вижу.


Сдача курсовика моим клиентом прошла на ура. Преподаватель ржал и бился в истерике. Запустив программу он ожидал, что на экране появится фигура кота с надетой на голову шляпой и этот кот переместится от одного края экрана до другого. Но увидел другое.


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

В творческом угаре я хотел еще заставить кота жонглировать бутылками и играть на волынке. Слава Богу, вовремя одумался.

620

Гарвардский курс CS50 на русском: пятая лекция

Всем привет! Мы продолжаем публиковать лекции легендарного Гарвардского курса CS50, которые мы переводим и озвучиваем специально для JavaRush.


Сегодня мы выпустили 5-ю лекцию, это первая лекция 2-ой недели, до этого мы публиковали 0-ю и 1-ю недели. Всего в курсе 24 лекции, постепенно мы переведем все.


1-я лекция: http://pikabu.ru/story/osnovyi_programmirovaniya_lektsiya_0_...

2-я лекция: http://pikabu.ru/story/garvardskiy_kurs_cs50_na_russkom_vtor...

3-я лекция: http://pikabu.ru/story/garvardskiy_kurs_cs50_na_russkom_tret...

4-я лекция: http://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. Естественно, только самые азы.

- Основы подготовки презентации проектов по программированию.


Поддержите нас плюсом и подписывайтесь на нас и сообщество "Наука".  

Показать полностью
1345

Гарвардский курс CS50 на русском: четвертая лекция

Всем привет! Мы продолжаем публиковать лекции легендарного Гарвардского курса CS50.


Сегодня мы выпустили 4-ю лекцию, это вторая лекция 1-ой недели, до этого мы публиковали 0-ю неделю, то есть введение. Всего в курсе 24 лекции, постепенно мы переведем все.


1-я лекция: http://pikabu.ru/story/osnovyi_programmirovaniya_lektsiya_0_...

2-я лекция: http://pikabu.ru/story/garvardskiy_kurs_cs50_na_russkom_vtor...

3-я лекция: http://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. Естественно, только самые азы.

- Основы подготовки презентации проектов по программированию.


Поддержите нас плюсом и подписывайтесь на нас и сообщество "Наука".  

Показать полностью
1559

Гарвардский курс CS50 на русском: третья лекция

Всем привет! Прошлый пост набрал более 3000 плюсов, поэтому мы продолжаем публиковать лекции легендарного Гарвардского курса CS50.

Сегодня мы выпустили 3-ю лекцию, это первая лекция 1-ой недели, до этого мы публиковали 0-ю неделю, то есть введение. Всего в курсе 24 лекции, постепенно мы переведем все.


1-я лекция: http://pikabu.ru/story/osnovyi_programmirovaniya_lektsiya_0_...

2-я лекция: http://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. Естественно, только самые азы.

- Основы подготовки презентации проектов по программированию.


Поддержите нас плюсом и подписывайтесь на нас и сообщество "Наука".  

Показать полностью
3488

Гарвардский курс CS50 на русском: вторая лекция

Всем привет! Мы наконец-то обзавелись собственным аккаунтом на Пикабу который может публиковать видео. Представляем вашему вниманию вторую лекцию легендарного Гарвардского курса CS50.

Ранее мы публиковали вводную лекцию: http://pikabu.ru/story/osnovyi_programmirovaniya_lektsiya_0_...

Всего в курсе 24 лекции, постепенно мы переведем все.


А теперь подробнее о CS50


На кого рассчитан


Если вы — новичок, пройдите CS50. Если кто-то из ваших знакомых приглядывается к ИТ и программированию, советуйте CS50 не глядя. Я серьезно.


CS50 подойдет любому человеку, кто решил стать «айтишником». Пожалуй, его можно рекомендовать и способным 12-летним, и умудренным опытом «перебежчикам» из других профессий. Идеально — старшеклассникам и студентам.


Курс очень прогрессивный и обновляется из года в год. При этом в отличие от большинства подобных университетских обучающих программ (например, MIT 6.00X) от слушателя не требуются знания университетской математики, достаточно школьного уровня.

Что изучают на CS50


- Основы компьютерных наук и программирования. Системы счисления, работа с командной строкой в Linux, циклы, условные переходы и прочие радости.

- Концепции алгоритмов и алгоритмичности мышления. Вы узнаете о том, какие задачи можно решать с помощью программирования и каким образом. О бинарном поиске, простом по сути, но очень эффективном и требующем тщательности в реализации, Дэвид Малан расскажет сходу, прямо на нулевой лекции. И попробуйте потом забыть сцену с разрывом телефонного справочника, а вместе с ней — и полученные знания! Вообще, курс охватывает все основные алгоритмы, которые нужно знать и понимать «айтишникам».

- Концепции абстракции, структуры данных, инкапсуляции, управления памятью. Основы компьютерной безопасности. Процесс разработки ПО и веб-разработка.

- Основы языка программирования C и визуального языка Scratch. Собственно, все основные примеры и задания студенты делают на языке C.

- Основы баз данных и SQL.

- Веб-разработка: основы CSS, HTML, JavaScript и PHP. Естественно, только самые азы.

- Основы подготовки презентации проектов по программированию.

Поддержите нас плюсом и подписывайтесь на нас и сообщество "Наука".  

Показать полностью
Похожие посты закончились. Возможно, вас заинтересуют другие посты по тегам: