Дэвид Дж. Малан

С 2015 года CS50 оснащает студентов CS50 IDE, веб-средой программирования, построенной на Cloud9, интегрированной среде разработки с открытым исходным кодом (которая скоро будет) размещена на Amazon Web Services. . Студенты CS50 до 2015 года могут вспомнить его предшественников.

Среди функций CS50 IDE - файловый браузер, текстовый редактор и, что наиболее важно, окно терминала, которое предоставляет студентам доступ из командной строки к базовому контейнеру под управлением Ubuntu, дистрибутива Linux:

Студенты могут не только при необходимости делиться своей IDE с одноклассниками и учителями, они могут даже сотрудничать и общаться в чате в реальном времени, как в Google Docs. Более того, благодаря Дэну Армендаризу (ныне работающему в Amazon) и Кариму Зидану из CS50, CS50 IDE также включает графический отладчик debug50, с помощью которого студенты могут выполнять пошаговые инструкции (и находить ошибки!) В своем коде:

CS50 IDE также включает другие инструменты для CS50, среди которых check50, render50, style50, submit50 и другие. В общем, CS50 IDE проста, но мощна. Попробуйте это на cs50.io после регистрации бесплатной учетной записи на edx.org!

CS50 Песочница

Новейший инструмент CS50, CS50 Sandbox, проще, хотя по дизайну он не так много. CS50 Sandbox, построенный на платформе Next XYZ, которая, в свою очередь, построена на Google Cloud Platform, позволяет учащимся и учителям быстро создавать временные среды программирования, даже не входя в систему, и обмениваться копиями (также известными как клоны) этих сред с другие.

Например, учитель может начать занятие, попросив учеников посетить sandbox.cs50.io и запустить песочницу для C с окном терминала и текстовым редактором с файлом hello.c:

У каждого ученика в классе будет собственная копия идентичной среды, однозначно идентифицируемой в его URL-адресе UUID, 128-битным псевдослучайным значением (например, a031ccd9-ebc1-402b-ab10-241554f5198e):

Урок может начаться прямо сейчас, когда все будут на одной странице!

В качестве альтернативы учитель может предоставить студентам предварительно настроенную ссылку, например https://sandbox.cs50.io/?file=hello.c&window=editor&window=terminal (возможно, сокращенную с помощью сокращателя URL-адресов), которая при посещении дают то же самое.

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

Переход по этой ссылке приведет каждого учащегося к копии (т. Е. Клону) этой песочницы, однозначно идентифицируемой своим собственным UUID.

Песочницы могут даже иметь встроенные браузеры, что может быть полезно для обучения HTML, CSS и / или JavaScript:

Песочницы также могут иметь встроенные X-окна, что может быть полезно для реализации графического интерфейса пользователя, как в Java или Python:

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

Сами песочницы недолговечны и предназначены для однократного использования (например, во время занятий). Действительно, они основаны на файлах cookie и поэтому теряются, когда файлы cookie удаляются или срок их действия истекает. Но студенты могут загружать любые файлы, которые они редактируют, с помощью значка папки в верхнем левом углу. Однако для истинной настойчивости (а вместе с ней и аутентификации) они могут вместо этого использовать CS50 IDE.

Но для быстрых демонстраций и упражнений теперь можно использовать CS50 Sandbox, спасибо друзьям CS50 из Next XYZ и Google! Действительно, студенты и учителя могут начать использовать на sandbox.cs50.io.

Вот как все началось!