Как научиться программировать? / CS50
Начнем с того, что это не реклама, а действительно рекомендация от нашей студии. Каждому новому сотруднику мы даем для просмотра этот курс, для восстановления памяти по базовым основам программирования.
О курсе
Я сам очень скептически отношусь к различным курсам, потому что в большинстве случаев, это выколачивание денег. Да и к ВУЗовскому образования есть претензии. Вспомните ваши лекции по информатике, преподаватель который рассказывает так, что хочется заснуть.
Так вот, однажды я наткнулся на Гарвардский CS50. Это действительно круто! Когда, я его обнаружил, то он был только на английском языке, а сейчас талантливые ребята перевели его и курс стал доступен и главное бесплатен для каждого. Но ссылки ниже.
Просто посмотрите на это! Вот что значит уровень обучения. На преподавателя хочется смотреть и смотреть, мало того, что огромный объем материала он укладывает в один час, так еще и остается время на приколы и эксперименты.
Даже если вы не программист, то посмотрите хотя бы вступительную лекцию, для того что бы прочувствовать атмосферу лучших ВУЗов мира и уровень образования к чему нужно стремиться.
Для кого
Курс в первую очередь рассчитан на новичков и опытным программистам нового не даст.
Если вы — новичок, пройдите CS50. Если кто-то из ваших знакомых приглядывается к ИТ и программированию, советуйте CS50 не глядя. Я серьезно. CS50 подойдет любому человеку, кто решил стать айтишником.
Пожалуй, его можно рекомендовать и способным 12-летним, и умудренным опытом перебежчикам из других профессий. Идеально — старшеклассникам и студентам.
Курс очень прогрессивный и обновляется из года в год. При этом в отличие от большинства подобных университетских обучающих программ (например, MIT 6.00X) от слушателя не требуются знания университетской математики, достаточно школьного уровня.
Что изучают на CS50
- Основы компьютерных наук и программирования. Системы счисления, работа с командной строкой в Linux, циклы, условные переходы и прочие радости.
- Концепции алгоритмов и алгоритмичности мышления. Вы узнаете о том, какие задачи можно решать с помощью программирования и каким образом. О бинарном поиске, простом по сути, но очень эффективном и требующем тщательности в реализации, Дэвид Малан расскажет сходу, прямо на нулевой лекции. И попробуйте потом забыть сцену с разрывом телефонного справочника, а вместе с ней — и полученные знания! Вообще, курс охватывает все основные алгоритмы, которые нужно знать и понимать айтишникам.
- Концепции абстракции, структуры данных, инкапсуляции, управления памятью. Основы компьютерной безопасности. Процесс разработки ПО и веб-разработка.
- Основы языка программирования C и визуального языка Scratch. Собственно, все основные примеры и задания студенты делают на языке C.
- Основы баз данных и SQL.
- Веб-разработка: основы CSS, HTML, JavaScript и PHP. Естественно, только самые азы.
- Основы подготовки презентации проектов по программированию.
Кто ведет
Профессор компьютерных наук Дэвид Малан. Возможно, когда вы его увидите, у вас произойдет разрыв шаблона профессор университета: он чрезвычайно энергичен и подача информации у него ну очень живая. Думаю, успех курса — во многом его заслуга. Также ему помогают многочисленные ассистенты. Некоторые из них — опытные ребята, некоторые — из числа тех, кто сам совсем недавно прошёл CS50.
Где найти переведенные лекции
Страница, на которой будут размещены лекции курса на русском языке: javarush.ru/cs50.html. Они будут доступны совершенно бесплатно всем пользователям интернета.
Программистами не рождаются...