Программирование для чайников с нуля бесплатно видео уроки

Введение

Мотивация и цели

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

Как следствие. Появляется все больше и больше ресурсов и учебных пособий для начинающих. Которые хотят научиться программировать. Начиная от книг и онлайн-учебников и заканчивая интерактивными веб-сайтами и массовыми открытыми онлайн-курсами (MOOCS). Такими как Codecademy и Coursera.

Хотя это здорово. Это также может быть подавляющим для начинающих-есть почти слишком много доступных ресурсов. И трудно понять. С чего начать.

Эта страница предназначена для того. Чтобы помочь решить эту проблему-представить кураторский список ресурсов для людей. Которые либо новички в программировании. Либо новички в определенной теме. Либо хотят продвинуть свои навыки за начальный этап. Эта страница не пытается перечислить все доступные ресурсы. А вместо этого ссылается на ресурсы. Которые гарантированно будут высококачественными.

С чего начать?

Если вы знаете. О чем хотите узнать, отлично!

Перейдите в этот раздел. Начните просматривать ссылки и найдите то. Что вам подходит.

Если вы не знаете. С чего начать и какой язык изучать. Некоторые хорошие языки для начинающих:

  • Python (общего назначения; научные и математические вычисления)
  • Java (общего назначения; Разработка на Android)
  • HTML/CSS/JavaScript (веб-сайты и веб-приложения)
  • Scratch (для детей младшего возраста)

Python и Java-оба языка. Которые обычно используются для обучения программированию начинающих в школах и университетах. И поэтому будут иметь широкий спектр ресурсов, доступных. Чтобы помочь вам учиться.

Они также широко используются в промышленности и поэтому являются полезными языками. Чтобы иметь их в вашем поясе инструментов.

Веб-разработка в последнее время очень популярна. Поэтому существует множество ресурсов для изучения HTML. CSS и JavaScript. Что также делает ее подходящей для изучения. Он также практически не требует установки и настройки на вашем компьютере. Все, что вам нужно. — это текстовый редактор для написания кода. Который будет работать в вашем веб-браузере.

Scratch немного отличается от других языков. Он был разработан с нуля. Чтобы быть простым в использовании и изучении-вместо того чтобы печатать текст. Вы перетаскиваете и соединяете вместе

В результате Scratch-это хороший язык. Особенно для детей младшего возраста (младшие школьники. Средние школьники) или для людей. Которые не любят печатать.

Как организована эта страница

Эта страница разделена на три части: во-первых, раздел

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

В отличие от этого. Книги и учебники учат с помощью письменного текста и позволяют установить свой собственный темп.

Какой ресурс я должен выбрать?

Предпочитаете ли вы учиться. Просматривая видео или читая текст. — это действительно вопрос личных предпочтений. Лично я предпочитаю читать. Но ваш стиль обучения может быть совершенно другим. Возможно, вам придется изучить и просмотреть несколько различных ресурсов. Прежде чем вы узнаете. Как лучше всего учиться.

Когда это возможно. Я постараюсь оставить описание для каждого ресурса. Описывающее. Какова его цель и для какой аудитории он подходит.

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

Предупреждение

Эта страница все еще находится в процессе работы и будет обновляться медленно. Если позволит время. Некоторые разделы в настоящее время могут быть неполными. А некоторые ссылки могут быть еще не полностью проверены.

Если вы хотите внести свой вклад. Пожалуйста. Смотрите CONTRIBUTING.md подробности.

Общие ресурсы

Ссылки на другие большие списки

Вы можете найти большой список бесплатных книг по программированию и ресурсов на github. (Раньше он размещался на StackOverflow. Но в октябре 2013 года был перенесен на Github).

Онлайн-курсы

Онлайн-курсы становятся все более популярным способом для университетов и профессионалов преподавать программирование и информатику в структурированном формате. В результате новые онлайн-курсы будут появляться все время. Поэтому стоит периодически проверять эти ресурсы. Чтобы узнать. Что нового.

  • Codecademy — предлагает бесплатные онлайн-курсы на нескольких разных языках. Однако Codecademy имеет тенденцию преподавать только базовый синтаксис. Поэтому после окончания Codecademy вы должны проработать больше учебных пособий.

    Основное внимание уделяется веб-разработке. Ruby и Python.

  • Coursera — предлагает бесплатные онлайн-курсы по различным направлениям из нескольких известных университетов. Новые курсы добавляются каждый квартал. А содержимое старых курсов обычно архивируется. Поскольку многие курсы кажутся новыми/могут быть одноразовыми. Эта страница не будет ссылаться на курсы на Coursera. Если она не будет стабильной.
  • Udacity — предлагает бесплатные курсы информатики. Преподаваемые экспертами отрасли.

    Udacity предлагает два вида курсов-обычные курсы и нанодегреи. Регулярные курсы бесплатны. Регулярные курсы с репетиторством один на один/обзором кода требуют ежемесячной платы. Нанодегре обычно предназначены для людей с некоторым предшествующим опытом кодирования и стоят больше денег.

  • edX — это совместная работа Массачусетского технологического института. Гарварда и Беркли по предоставлению бесплатных онлайн-версий некоторых своих курсов.
  • OpenCulture — аналогично всему вышеперечисленному. Видеолекции обычно доступны на iTunes или Youtube. Обычно это не требует от вас выполнения заданий. В отличие от многих других онлайн-курсов.
  • MIT OpenCourseWare — статические курсовые материалы. Преподаваемые в Массачусетском технологическом институте. Если не указано иное. Большая часть контента с этого сайта имеет тенденцию быть очень строгим и быстро меняющимся.
  • Khan Academy — содержит несколько курсов по программированию и информатике; содержит гораздо больше курсов по всем видам тем (особенно по математике).
  • Stanford Engineering Everywhere — статические учебные материалы. Преподаваемые в Стэнфорде.

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

  • Team Treehouse — специализируется на разработке веб-приложений и iOS.
  • Lynda — также включает в себя курсы по дизайну. Анимации, видео. Бизнесу и многое другое.
  • PluralSight — похож на Lynda. Но с акцентом на разработчиков и ИТ-курсы.

В общем, edX. OpenCulture. MIT OpenCourseWare и Stanford Engineering везде. Как правило. Содержат более строгие. Тщательные и требовательные курсы. В то время как Codecademy и Khan Academy. Как правило. Сосредотачиваются на более мягком введении в программирование. Coursera и Udacity. Как правило. Варьируются между этими двумя крайностями.

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

С

Примечание: C может быть привередливым и трудным в обучении языком. Хотя онлайн-курсы и книги являются хорошей отправной точкой и могут помочь вам пройти долгий путь. Общее мнение заключается в том. Что лучший способ учиться-это читать настоящую книгу.

В частности. Я настоятельно рекомендую вам следовать рекомендациям Руководства и списка книг StackOverflow на языке Сии использовать только перечисленные здесь ресурсы . Если вы не можете получить книги по ссылке.

  • Онлайн-курсы:
    • В MIT Open Courseware есть несколько вариантов:
  • Видео уроки: N/A
  • Интерактивные учебные пособия:
    • Learn-C
      Интерактивное онлайн-руководство. Которое учит вас основам C шаг за шагом.
  • Книги и учебные пособия (онлайн):
  • Книги (бумага):
  • Упражнения: Н/Д

C++

Примечание: Подобно C, C++ может быть привередливым и трудным в обучении языком. Хотя онлайн-курсы и книги являются хорошей отправной точкой и могут помочь вам пройти долгий путь. Общее мнение заключается в том. Что лучший способ учиться-это читать настоящую книгу.

Как и в случае с C. Я настоятельно рекомендую выбрать книгу из руководства и списка книг StackOverflow по C++.

  • Онлайн-курсы:
    • MIT Open Courseware имеет несколько:
    • Стэнфордская серия из 3 частей Первый курс преподает Java. Два последних-C и C++.
    • Программа Coursera C++ for C Programmers
      также может быть полезна программистам с предыдущим опытом работы на другом языке. Помимо C или C++.
  • Интерактивные учебные пособия:
  • Видео уроки: N/A
  • Книги и учебные пособия (онлайн):
  • Книги (бумажные):
    • The Definitive C++ Book Guide and List
      -Это очень хорошо поддерживаемый список рекомендуемых книг и ресурсов по StackOverflow. Все книги, перечисленные на этой странице. Настоятельно рекомендуются.
  • Упражнения: N/A

До-Диез

  • Онлайн-курсы:
    • В Microsoft Virtual Academy есть несколько бесплатных курсов:
      • C# Fundamentals for Absolute Beginners
        — Серия видеороликов. Выпущенных компанией Microsoft по изучению языка C#. Для начинающих.
      • Программирование на C# Jump Start
        Еще одна серия видеороликов. Выпущенных компанией Microsoft. Предполагает некоторое предварительное знание языка C#.
  • Интерактивные учебные пособия: N/A
  • Видео уроки: N/A
  • Книги и учебные пособия (онлайн):
  • Книги (бумажные):
    • Sam Teach Yourself C# 5.0 in 24 Hours by Scott Dorman
      Хорошее введение для начинающих.
    • Essential C# 5.0
      Очень всеобъемлющ. И предназначен больше для промежуточных программистов/программирований. Исходящих из другого языка.
    • C# в глубине, 3-е издание
      Также очень всеобъемлющее. И охватывает. Как писать идиоматический и чистый код C#. Предполагается. Что читатель уже знает некоторые C#.
    • Эффективный C# и более эффективный C#
      Набор советов и приемов по улучшению кода C#. Не для начинающих.
  • Упражнения: Н/Д

Хаскелл

  • Онлайн-курсы:
  • Интерактивные учебные пособия:
  • Видеоуроки: N/A
  • Книги и учебные пособия (онлайн):
    • Начало работы с Haskell
      Полное мета-руководство. Которое предлагает рекомендуемый порядок следования учебникам Haskell от начала до конца.
    • Haskell Programming from first principles
      Чрезвычайно подробное и всестороннее руководство по Python. Подходящее как для начинающих программистов. Так и для более опытных программистов. Которые хотят изучать Haskell. Это, вероятно. Один из лучших ресурсов по изучению Haskell на сегодняшний день-единственный недостаток в том. Что он не является бесплатным.
    • Узнайте Вы Хаскелл для Большой пользы
      Введение новичка в Хаскелл. Имеет тенденцию сосредотачиваться на синтаксисе.
    • Haskell
      — одна из лучших книг Wikibook. Охватывает от базового до продвинутого Haskell. Очень всеобъемлюще.
    • Real World Haskell:
      Рассказывает о том. Как использовать Haskell для практических применений. Это хорошая вторая книга для чтения после завершения одного из вышеприведенных уроков.
    • Состояние экосистемы Haskell:
      Обзор популярных сторонних библиотек для выполнения различных задач в Haskell.Не для абсолютных новичков. Но для большего числа людей. Заинтересованных в использовании Haskell для написания практических и нетривиальных приложений.
    • Больше бесплатных книг
  • Книги (бумажные): N/A
  • Упражнения:
    • H-99
      -Это набор из 99 задач. Предназначенных для повышения вашего уровня владения языком Haskell.

HTML. CSS и JavaScript

Примечание: HTML. CSS и JavaScript-это три основные технологии. Которые работают в каждом веб-браузере и составляют каждую веб-страницу.

HTML-это язык. Используемый для описания структуры и содержания веб-страницы. CSS используется для описания стиля и внешнеговида . JavaScript используется для добавления поведения и интерактивности.

Рекомендуемый порядок обучения обычно состоит в том. Чтобы начать с HTML и CSS. А затем перейти к изучению JavaScript. Как только вы почувствуете. Что приобрели базовое понимание двух предыдущих.

Также обратите внимание. Что HTML и CSS являются примерами Если ваша цель состоит в том. Чтобы научиться просто программированию. Вы можете перейти прямо к JavaScript (или выбрать другой язык программирования!). Однако, поскольку основной способ использования JavaScript на самом деле заключается в использовании веб-браузера. Вам нужно изучить HTML и CSS в тот или иной момент.

  • Онлайн-курсы:
    • Codecademy имеет несколько курсов. Связанных с веб-разработкой.
    • Как и Udacity:
    • Open Culture создает динамичные веб-сайты
      , размещенные в Гарварде. И охватывает самые разнообразные темы.
    • Академия Хана имеет серию из трех курсов по вводному Javascript. Которая фокусируется на рисовании графики и анимации и создании игр.
    • Команда Treehouse имеет ряд курсов по HTML, CSSи Javascript
      , которые позволяют бесплатную 14-дневную пробную версию. Но позже требуют оплаты.
  • Интерактивные учебные пособия:
    • Бесплатный код Лагерь
      Введение новичка в HTML, CSS. JavaScript и других веб — технологий. Содержит большое количество упражнений.
    • CSS3, пожалуйста!
      Интерактивный веб-сайт. Который позволяет динамически изменять правила CSS для стилизации элемента на экране. Не для начинающих. Но это хороший способ открыть для себя продвинутые приложения CSS.
  • Видеоуроки: N/A
  • Книги и учебные пособия (онлайн):
    • Mozilla Developer Network (MDN)
      Серия учебных пособий. Охватывающих HTML, CSS. JavaScript и многое другое. Некоторые учебники подходят для начинающих. В то время как другие учебники будут более продвинутыми.
    • HtmlDog
      Похож на вышеприведенный. Но ориентирован более конкретно на новичков.
    • Красноречивый JavaScript
      Книга. Которая учит вас. Как писать идиоматический и чистый JavaScript. Предполагает предыдущий опыт работы с JavaScript/другим языком программирования.
    • Повторное введение в JavaScript
      Руководство. Которое дает тщательный и подробный обзор JavaScript.
    • Еще больше бесплатных книг:
  • Книги (бумажные):
    • JavaScript: Хорошая часть
      Небольшой книги. Которая охватывает основные аспекты JavaScript. А также информацию о написании идиоматического и чистого JavaScript.
  • Упражнения:
    • CSS Diner
      Серия упражнений по эффективному использованию CSS селекторов.

Lisp (Scheme. Common Lisp. Clojure и т. Д)

  • Онлайн курсы: N/A

  • Интерактивные учебные пособия:

  • Видеоуроки: N/A

  • Книги и учебные пособия (онлайн):

    • Природа Лиспа
      на самом деле Не учебник по Лиспу. А скорее статья о том. Почему так много людей защищают Лисп и утверждают. Что он коренным образом изменит ваш взгляд на код. Очень хорошо объясняет философию шепелявости.
    • Структура и интерпретация компьютерных программ
      SICP является каноническим введением в Lisp и раньше входил в курс MIT introduction to CS (до того. Как они перешли на Python).

      • SICP в Clojure
        Исправленная версия SICP. Которая использует Clojure вместо Scheme.
    • [How to Design Programs][lisp-htdp]
      Конкурирующая книга и философия преподавания SICP. SICP, как правило. Больше фокусируется на теории CS. В то время как HTDP. Как правило. Больше фокусируется на написании того. Как писать программы/анализировать проблемы.
    • [Build Your Own Lisp][lisp-build]
      Расскажет вам. Как написать интерпретатор Lisp на языке Си. Обучая оба языка одновременно.
    • [Практический общий лисп][lisp-learn-practical]
      Вводная книга по общему лиспу. Охватывает практические и реальные приложения Common Lisp.
    • [Где научиться практически использовать Common Lisp][lisp-learn-practical]
      Совокупность книг и ресурсов по эффективному использованию Common Lisp для программистов из императивного мира.
    • [Learn Clojure][lisp-learn-clojure]
      Веб-сайт. Собирающий множество ссылок. Связанных с изучением лиспа.
    • Еще больше бесплатных книг:
      • [Clojure][lisp-more-clojure]
      • [Шепелявость][шепелявость-еще-шепелявость] в общем
      • [Схема][lisp-more-scheme]
  • Книги (бумажные):

    • Land of Lisp
      -Книга. Которая учит шепелявости (в частности. Common Lisp) с помощью создания игр. Для начинающих.
  • Упражнения:

    • L-99
      Серия из 99 задач. Предназначенных для повышения вашего мастерства в шепелявости.
    • 4Clojure
      — Это серия упражнений. Направленных на изучение Clojure.

    [lisp-htdp]: http://htdp.org/) [Лисп-строить]: http://www.buildyourownlisp.com/ [Лисп-практическая]: http://www.gigamonkeys.com/book/ [Лисп-узнать-практическая]: http://stackoverflow.com/q/7224823/646543 [Лисп-узнать-в Clojure]: http://learn-clojure.com/ [Лисп-больше-в Clojure]: https://github.com/vhf/free-programming-books/blob/master/free-programming-books.md#clojure [Лисп-более-Лисп]: https://github.com/vhf/free-programming-books/blob/master/free-programming-books.md#lisp [Лисп-более-схема]: https://github.com/vhf/free-programming-books/blob/master/free-programming-books.md#scheme

Ява

  • Онлайн-курсы:
  • Интерактивные учебные пособия:
    • Изучение Java
      Интерактивный учебник. Который учит основам Java.
  • Видеоуроки: N/A
  • Книги и учебные пособия (онлайн):
    • Введение в информатику с помощью Java
      Вводный текст на Java. Движется немного медленно. Но охватывает все очень подробно (включая настройку).
    • Учитесь, делая
      вводный текст по Java. Учебник ориентирован на физические упражнения.
    • Подумайте о Java
      Еще один вводный текст по Java. Содержание основано на серии
    • Thinking in Java, 3rd edition
      Примечание: четвертое издание является последним. Но в настоящее время не является бесплатным. Веб-сайт также может быть немного трудно ориентироваться-прямая ссылка для загрузки здесь. Предполагает некоторый базовый опыт программирования.
    • Учебник TutorialsPoint по Java
      Введение в Java. Как правило. Основное внимание уделяется синтаксису. Может также сделать хорошую ссылку.
    • Учебник по Java
      Официальный учебник по Java. Выпущенный компанией Oracle. Имеет тенденцию фокусироваться на особенностях языка и синтаксисе.
    • Еще больше бесплатных книг
  • Книги (бумажные):
  • Упражнения:
    • Практика-это
      серия упражнений. Организованных Вашингтонским университетом. Начиная с базового Java и заканчивая структурами данных и алгоритмами. Требуется (бесплатная) регистрация. Прежде чем вы сможете просмотреть или поработать над упражнениями.

Perl

  • Онлайн курсы: N/A
  • Интерактивные уроки: N/A
  • Видеоуроки: N/A
  • Книги и учебные пособия (онлайн):
    • Начало Perl
      Всестороннее и тщательное введение в Perl.
    • Modern Perl
      -Руководство по написанию чистого и идиоматичного кода Perl. Очень хорошо подходит для преподавания философии и основ Perl. Всесторонне и тщательно.
    • Нетерпеливый Perl
      Ускоренное руководство для нетерпеливых людей или людей с предшествующим опытом программирования.
    • Изучите Perl примерно за 2 часа 30 минут
      Еще одно ускоренное руководство для нетерпеливых. Ориентирован на людей. Имеющих опыт работы с другим языком программирования.
    • Еще больше бесплатных книг
    • Perl.org также размещен список рекомендуемых книг, многие из которых доступны в Интернете бесплатно.
  • Книги (бумажные):
    • Изучение Perl
      Вводный текст на Perl. Учит фокусироваться на синтаксисе/деталях Perl. А не на том. Как программировать. Прагматичный и практичный.
  • Упражнения:
    • Perl Quiz of the Week
      Список рассылки. Который раз в неделю отправляет новую викторину/приглашение. Архивы прошлых запросов также доступны.

PHP

Примечание: хотя PHP может быть очень удобным. Быстрым и простым в использовании. Многие программисты негативно относятся к нему. (См. PHP: фрактал плохого дизайна). Если вы все-таки решите изучить PHP и принять его в качестве своего языка выбора. Просто имейте в виду тот факт. Что люди, вероятно. Будут смеяться над вами в тот или иной момент.

Кроме того, важно сначала изучить HTML и CSS, прежде чем пытаться изучать PHP. PHP-это язык. Который пытается

  • Онлайн-курсы:
    • PHP-курс Team Treehouse — позволяет получить бесплатную 14-дневную пробную версию. Но позже требует оплаты.
  • Интерактивные ресурсы:
    • Learn PHP
      -Интерактивное руководство. Которое учит основам PHP.
  • Упражнения:
  • Видео уроки: N/A
  • Книги и учебные пособия (онлайн):
    • PHP Руководство Официальный учебник по PHP. Как правило. Фокусируется на особенностях языка и синтаксисе.
    • Учебник TutorialPoint по PHP
      Введение в PHP. Имеет тенденцию сосредотачиваться на синтаксисе. Может сделать хорошую ссылку.

    • Полное руководство. Которое охватывает современные лучшие практики в PHP и пытается устранить распространенные недостатки. Заблуждения и ошибки, которыми. По-видимому. Обладают многие новички (и многие учебные пособия). Предполагает некоторое предварительное знание PHP.
  • Книги (бумага):

Питон

Примечание: в настоящее время существуют две версии Python. Которые обычно преподаются и используются-Python 2 и Python 3. Python 3 является самой последней версией. Но по целому ряду причин Python 2 все еще довольно популярен среди многих разработчиков.

Если вы не уверены. Какую версию выбрать. Моя рекомендация будет состоять в том. Чтобы выбрать ресурс. Который выглядит наиболее подходящим для вас. И просто использовать любую версию. Которую они рекомендуют. К счастью, различия между ними очень незначительны (по крайней мере. С точки зрения новичка). Так что на самом деле нет никакой разницы. Если вы учитесь использовать Python 2 или Python 3.

Тем не менее, работая над вашими собственными программами, я всегда выбираю Python 3, если только у вас нет веских причин для этого. Сообщество Python. За исключением нескольких несогласных. Движется к Python 3 и отказывается от Python 2.

  • Онлайн-курсы:
  • Интерактивные ресурсы:
    • LearnPython
      -Это интерактивное онлайн-руководство. Которое обучает основам Python.
    • Попробуйте Python
      Еще одно интерактивное онлайн-руководство.
  • Видео уроки: N/A
  • Книги и учебные пособия (онлайн):
    • Автоматизируйте скучные вещи с помощью Python — книги для полных новичков. Она предназначена для офисных работников, студентов. Администраторов и любителей. Которые хотят научиться писать практические программы. А не обязательно становиться программистами. От автора Invent with Python.
    • Как думать как компьютерщик (версия Python 2 и версия Python 3)
      Полный вводный текст по Python. Ориентированный на обучение основам информатики и навыкам решения проблем с помощью Python. Подходит для начинающих.
    • Подумайте о Python
      Еще один всеобъемлющий вводный текст на Python. С таким же фокусом. Как и предыдущий ресурс. Также подходит для начинающих.
    • Официальный учебник по Python (для Python 2 и Python 3). Движется немного быстро. Но очень всесторонне и основательно. Это, вероятно. Лучший ресурс для опытных программистов. Которые хотят изучать Python. Так как он не задерживается слишком долго на базовом материале.
    • Решение проблем с помощью алгоритмов и структур данных
      Фантастическое введение в структуры данных. Алгоритмы и другие традиционные концепции информатики с использованием Python. Хотя он вкратце описывает синтаксис Python. Он предполагает. Что у вас уже есть некоторый базовый предыдущий опыт.
    • Погружение в Python 3
      Ускоренное введение в Python. Предупреждение: не используйте Она очень устарела.
    • Программируйте Аркадные игры с помощью Python И Pygame
      Фантастическое и тщательное введение в Python через создание игр. Для начинающих.
    • Invent with Python
      Учит программированию через создание компьютерных игр с помощью Python и Pygame. Для начинающих.
    • Руководство автостопом по Python
      Всестороннее введение в экосистему Python. Описывает. Как правильно настроить и настроить среду разработки на Python. Рекомендации. Написание идиоматического кода. Лучшие сторонние библиотеки для различных задач и доставку кода. Полезно как для начинающих. Так и для экспертов (однако руководство на самом деле не учит сам Python).
    • pycrumbs
      огромный список многих полезных статей. Учебников и фрагментов на Python. Начиная от Basic до advanced.
    • Больше бесплатных книг
    • PyMOTW Экскурсия по стандартной библиотеке Python через короткие примеры.
  • Книги (бумага):
  • Упражнения:
    • Pyschools
      Упражнения и задачи в Python. Проблемы требуют (бесплатной) регистрации.

Рубин

  • Онлайн-курсы:
    • Курс Team Treehouse Ruby
      позволяет получить бесплатную 14-дневную пробную версию. Но позже требует оплаты.
  • Интерактивные учебные пособия:
    • RubyMonk
      -это коллекция интерактивных учебных пособий. Которые помогут вам изучить базовый и продвинутый Ruby.
    • TryRuby
      -это интерактивное онлайн-руководство. Которое шаг за шагом обучает вас основам Ruby.
    • Learn Ruby
      -это загружаемый набор интерактивных учебных пособий.
  • Видеоуроки: N/A
  • Книги и учебные пособия (онлайн):
  • Книги (бумажные):
    • Хорошо обоснованный Рубиист
      Всестороннее и тщательное введение в Руби. Для начинающих.
    • Красноречивый Рубин
      — Это руководство о том. Как писать на рубине идиоматически и чисто. Эта книга предполагает. Что вы уже знаете Ruby или какой-то другой язык программирования.
  • Упражнения:
    • Ruby Quiz
      Серия упражнений по написанию программ на Ruby. Новые упражнения больше не пишутся. Но существующие упражнения все еще очень хороши.

Царапать

Scratch-это язык. На котором вы создаете программы. Перетаскивая вместе и соединяя В отличие от других языков программирования. Scratch очень визуальный. Что делает его очень хорошим первым языком программирования. Особенно для детей и младших подростков.

Поскольку не многие люди могут быть знакомы с Scratch. Этот раздел будет содержать ресурсы. Которые полезны как для обучения Scratch. Так и для обучения Scratch.

Есть два

  • Онлайн-курсы:
    • Программирование edX в Scratch — для начинающих.
    • EDX’s Middle-Years Computer Science — курс. Предназначенный для того. Чтобы помочь учителям разработать увлекательную учебную программу по информатике для учащихся средних школ с использованием Scratch.
  • Интерактивные учебные пособия: N/A
  • Видеоуроки:
    • Видеоуроки с сайта Scratch
      — Это коллекция видеоуроков по Scratch для абсолютных новичков. Очень всеобъемлюще.
  • Книги и учебные пособия (онлайн):
    • Изобретайте с нуля!
      Вводный текст на Scratch. Для начинающих.
    • Scratch for Budding Computer Scientists
      -Это Краткое учебное пособие. В котором используется более формализованный подход к обучению Scratch. Лучше всего подходит для тех. У кого есть некоторый предыдущий опыт.
    • Концепции информатики в Scratch
      Тщательное введение в Scratch. Для начинающих.
    • Дополнительные темы Scratch
      Коллекция ресурсов и руководств по расширенному использованию Scratch. Не для начинающих.
    • Справочные руководства: для Scratch и Snap/Build Your Own Blocks (вариант Scratch)
      Содержат исчерпывающие описания всех языковых функций. Scratch reference будет полезен для всех уровней. А Snap reference будет особенно полезен для тех. Кто уже хорошо разбирается в программировании на другом языке.
    • Scratch for Educators
      -официальный портал Scratch и коллекция ресурсов для обучения с использованием Scratch.
    • Больше бесплатных книг
  • Книги (бумажные): N/A
  • Упражнения: Н/Д

Другие темы

Примечание: этот раздел руководства в значительной степени является незавершенной работой.

Разработка на конкретных платформах

Мобильные приложения (Android, Mac и iOS. Windows)

Из-за отсутствия у меня опыта работы с мобильными приложениями я не чувствую себя особенно комфортно. Рекомендуя какие-либо конкретные ресурсы. Касающиеся мобильной разработки. Этот раздел руководства может быть расширен в будущем. Но пока я бы рекомендовал следовать приведенным здесь рекомендациям:

Структуры данных и алгоритмы

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

  • Онлайн-курсы:
  • Интерактивные уроки: N/A
  • Упражнения:
    • Codingbat
      Содержит упражнения на Java и Python. Для начинающих и программистов среднего уровня.
    • CodeAbbey
      Похож на Codingbat.
    • HackerRank
      содержит большую коллекцию упражнений. От базового до соревновательного уровня. Хорош как для начинающих. Так и для продвинутых программистов. Также проводит собственный онлайн конкурс.
    • ТопКодер
      Похож на HackerRank.
    • UVa Online Judge
      -это сборник задач и решений по программированию из нескольких соревнований по программированию.
    • Проект Эйлера
      — Сборник упражнений по программированию. Упражнения больше ориентированы на математику и не всегда ориентированы на CS.
  • Видеоуроки: N/A
  • Книги и учебные пособия (онлайн):
  • Книги (бумага):

Инструменты

Управление версиями

Мерзавец

  • Онлайн-курсы:
  • Интерактивные учебные пособия:
    • Learn Git Branching — очень наглядный интерактивный учебник. Начинающийся с абсолютных основ с большим акцентом на понимание внутренних компонентов/того. Что на самом деле означает каждая команда git.
    • Попробуйте Git — интерактивный учебник. Который учит основам Git.
  • Упражнения: Н/Д
  • Видео уроки: N/A
  • Книги и учебные пособия (онлайн):
  • Книги (бумага): N/A

Ртутный

  • Онлайн курсы: N/A
  • Интерактивные учебные пособия: N/A
  • Упражнения: Н/Д
  • Видео уроки: N/A
  • Книги и учебные пособия (онлайн):
  • Книги (бумага): N/A

TODO: Разверните, добавьте информацию о Subversion