Как я могу преподавать информатику без использования компьютеров?

21

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

Я беспокоюсь, что, не имея возможности проводить эксперименты и применять то, что они изучают, они не будут учиться (хорошо) вообще, даже если они невероятно мотивированы и посвящают большую часть своего времени этому хобби. Можно ли преподавать КС только теоретически?

Abhimanyu
источник
13
Люди были очарованы математикой на протяжении тысячелетий. Тогда никто не имел доступа к цифровому компьютеру. На самом деле, как правило, на теоретических курсах вам вообще не нужны компьютеры.
Juho
3
Я хотел бы отметить, что первая компьютерная программа была написана примерно за 100 лет до того, как был построен первый компьютер.
Гейб
2
Взгляните на историю . Скорее всего, этим парням нужны только ручка и бумага, и это может быть высшей информатикой (я понятия не имею, о чем они говорят большую часть времени).
Trylks,
1
Вероятно, это поможет, если вы выделите области CompSci, которые вы собираетесь охватить. Такие вещи, как дискретная математика и даже структуры данных или алгоритмы, можно описать только ручкой и бумагой. С другой стороны, разработка программного обеспечения может быть проблематичной.
NotMe
1
@abhimanyu Отлично, вопрос был "защищен", прежде чем я смог опубликовать свой ответ; Я поместил это здесь и сейчас: pastebin.com/6tbMtVM8 (Это длинный ответ, так как возможности должны быть очевидны, но, похоже, их нет. Там много идей, и я надеюсь, что вы найдете что-то полезное…)
никто не

Ответы:

24

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

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

Темы, которые были бы наиболее естественными без компьютеров, были бы более математическими. Все фоновые математики, такие как комбинаторика и вероятность. Вычислимость, формальные языки, логика, теория сложности, разработка и анализ алгоритмов, теория информации и кодирования. Все, что связано с квантовыми вычислениями!

Дэвид Ричерби
источник
11
+1 это различие между CS и программированием является ключевым! Мой курс бакалавриата по CS имел минимальные требования для использования компьютера, помимо доступа к онлайн-материалам для чтения, которые я легко мог найти в виде «мертвого дерева» в библиотеке.
Космическое оссифражирование
4
@ CosmicOssifrage Я согласен, но, хотя CS не программирует, программирование - очень полезный инструмент для компьютерных ученых. И именно поэтому мы учим этому.
Дэвид Ричерби
2
@Abhimanyu Это будет зависеть от вашей квалификации. Если у вас есть знания и навыки, они являются лишь доской для ума ваших студентов.
Рафаэль
2
@vzn Нет, большая часть программирования изучает искусство отладки. Это очень важно. Но это не информатика .
Дэвид Ричерби
2
@vzn Если ты цитируешь этого человека, сделай это правильно. Он говорит об экспериментах во время выполнения с целью проверки / опровержения (научных) гипотез, а не отладки. Я не думаю, что Седжвик когда-либо утверждал, что тестирование / отладка ваших экспериментальных реализаций была наукой .
Рафаэль
10

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

Обратите внимание, что великий компьютерщик Дейкстра, по-видимому, не очень много использовал компьютеры:

Почти все статьи в этой серии, появившиеся после 1972 года, написаны от руки. Придумав большую часть технологии программного обеспечения, Дейкстра отказался от использования компьютеров в своей работе на протяжении многих десятилетий. Даже после того, как он поддался поддержке своих коллег из UT и приобрел компьютер Macintosh, он использовал его только для электронной почты и просмотра веб-страниц.

Цитируется из Мемориала Дисжкстры

Это показывает, что вы можете делать большие компьютерные науки без компьютера!

Помимо бумажной и карандашной информатики, проблемы могут быть решены «в реальном мире», например, демонстрация алгоритмов сортировки с карточками или - что более необычно - танцами, как это было сделано в университете Sapientia .

Финн Оруп Нильсен
источник
Любой совет, как эффективно это сделать? Преподаватель, возможно, не пользовался преимуществами лекции на доске, написанной мелом на доске, в большом университете.
Рафаэль
3
Много математики преподается мелом-доской. Я полагаю, вы просто делаете то же самое с информатикой.
Финн Оруп Нильсен
В качестве примера приведу хорошую лекцию на доске о деревьях
сплайнов
2
Лично я применил свои знания структур данных и алгоритмов к работе в офисе на летней работе. Я использовал радикальную сортировку на коробках с чеками и проходил на один-два порядка быстрее, чем кто-либо другой, выполнявший эту работу, вплоть до недоверия. Я использовал естественную сортировку слиянием на печатных карточках, которые нужно было заполнить. структуры данных и вычисления существуют в реальном мире .
JDługosz
8

Многие теории информатики носят чисто теоретический характер и могут быть решены с помощью ручки (cil) и бумаги. Получение информации о них и передача их во внешний мир требует компьютера.

Дэйв Кларк
источник
5
Это поражает меня, чтобы быть больше комментария.
Рафаэль
7

Смотрите http://csunplugged.org/ для некоторых замечательных идей. Google является одним из спонсоров.

С сайта:

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

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

CS Unplugged подходит для людей всех возрастов, от начальной школы до пожилых людей, а также из разных стран мира. Unplugged используется по всему миру более двадцати лет в классах, научных центрах, домах и даже для праздничных мероприятий в парке!

cdjc
источник
Условия сложные, но стоит попробовать, когда позволят ресурсы.
Абхиманью
Я согласен, что это выглядит хорошо, но для того, чтобы сделать правильный ответ, вам необходимо решить конкретные вопросы, изложенные в вопросе: какие ресурсы необходимы? Можем ли мы ожидать их, например, в (сельской местности) Африке?
Рафаэль
3

Вы можете, это довольно очевидно, как вы это сделаете. Я не уверен, насколько это было бы полезно для людей, но вы можете.

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

Потому что, если вы можете преподавать информатику, то знаете, как.

Если вы знаете, что

-Algorithms can be written on pen and paper, and traced on pen and paper.
-Flow charts are written on paper.

Изучение нормализации, структуры таблиц данных для баз данных, можно сделать на ручке и бумаге. (Я делал это только на ручке и бумаге, когда изучал реляционные базы данных)

Учебники информатики не требуют компьютера.

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

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

http://www.eis.mdx.ac.uk/research/PhDArea/saeed/paper1.pdf

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

Я бы добавил, что называть это существенным меньшинством - это преуменьшение. Это небольшое меньшинство, которое может запрограммировать.

Я хотел бы отметить, однако, причину упадка, свидетелем которого он стал. По мере того, как компьютеры становились все более популярными, например, между 2000 и 2010 годами (он писал это в середине этого десятилетия), все больше волли интересовались изучением «информатики». До этого только более фанатичные люди были заинтересованы. Раньше использование компьютеров было более техническим, но поскольку обычным людям стало легче пользоваться компьютерами, и они стали более мощными в приложениях, которые они могли запускать, то их использовали все больше волли и больше людей, которые интересовались только тем, что они могли сделать. а не как они это делают и как это сделать.

barlop
источник
2
Какого черта "волли"?
Нейт Элдридж
1
@NateEldredge Urban Dictionary : «Веселый термин для того, кто говорит или делает что-то глупое / Кто-то, кто добавляет 2 и 2 и получает 5.« Что за волк »»
Пол А. Клейтон,
@NateEldredge Обычно пишется "Уолли".
Дэвид Ричерби
2
Нарушение ОП не является ответом.
Рафаэль
2

Было бы возможно преподавать понятия информатики без компьютера. Конечно, без доступа к компьютеру какая польза от изучения компьютерных наук?

Когда я изучал информатику в старшей школе, наши первые несколько уроков вообще не были связаны с компьютерами. Вместо этого мы работали с книгой под названием Karel ++ , в которой обучались объектно-ориентированные концепции. Придуманный язык можно довольно легко «запустить» на доске или доске, потому что весь код выполняет действия на графике. Наши первые несколько заданий были написаны от руки, и профессор продемонстрировал правильное решение на доске в начале следующего урока.

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

На доске он рисовал диаграммы, объясняющие основы работы компьютерной памяти и стека. Он продемонстрировал переменные и указатели (это был класс C ++) и оттуда к связанным спискам и деревьям ...

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

Черный ястреб
источник
1
Вы, кажется, путаете программирование (ремесло) с информатикой .
Рафаэль
@ Рафаэль Я понимаю, что механика программирования на определенном языке, возможно, не важна для научной части, но насколько вы можете реально отделить информатику от программирования, прежде чем она станет настолько теоретической, что станет непостижимой для студентов, которые, возможно, не знакомы даже с программированием? как управлять компьютером? Я мог бы изменить свой ответ, чтобы разделить их, но образ, который приходит мне в голову на основе вопросов ОП, - это не взрослые, желающие узнать о математической основе теории сложности, а школьники, нуждающиеся в введении в приложения CS.
Блэкхок
@DavidRicherby Я попросил ОП уточнить, кто (возраст / опыт работы с компьютерами) будет целевой группой студентов и какие материалы он намерен преподавать. Я буду корректировать свой ответ соответственно. Если позволите, я бы предположил, что более прямой аналогией было бы творческое письмо против умения использовать алфавиты и словари. За исключением даже, что аналогия не дает результатов, потому что изучение языков программирования на самом деле охватывает компьютерные науки.
Блэкхок
@ Blackhawk Конечно, никакая аналогия не идеальна (почти по определению). Но, хотя дизайн языков программирования - CS, просто использовать их нельзя.
Дэвид Ричерби,
1
@DavidRicherby Я только что прочитал страницу тура для CS и, в частности, «спросите о ...» и «НЕ спрашивайте о ...», и у меня сложилось впечатление, что слишком много людей задают / отвечают на вопросы на этом сайте, которые было бы намного лучше на SO ... поэтому я прошу прощения, если я способствовал этому. Можете ли вы указать мне конкретные вещи, которые я мог бы изменить в этом ответе, чтобы привести его в соответствие с целями сайта? Я подозреваю, что должен как минимум удалить ссылки на «точку с запятой» и «C ++», но как насчет использования Karel ++ в качестве инструмента обучения для концепции объектно-ориентированных языков? Или память компьютера?
Блэкхок
2

Я получил степень по информатике и думал, что нас много учат программированию (на разных языках), а также многим математическим аспектам (и некоторым аппаратным средствам).

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

Вы можете научить многим алгоритмам, один из которых упоминается здесь, давая каждому студенту номер, а затем заставляя их сортировать себя, используя различные алгоритмы (это активные и информационные). Фактически, любой алгоритм, который может быть описан в анимированном изображении в Интернете, может быть обучен таким образом. Точно так же основы вычислений - счетчик программ, аккумулятор и регистрыможно научить таким же образом или на бумаге. Как насчет многопоточности на основе учеников - установите для группы учеников карточную игру со стеком между ними в классическом многопоточном упражнении (или задаче с одной общей ложкой). Или шаблоны проектирования, я могу подумать, что архитектура классной доски идеально подходит для студентов, чтобы узнать, как может быть реализована многопроцессорная коммуникация, или n-уровневая архитектура, описываемая как своего рода игра с китайским шепотом или машины с конечным состоянием, подойдет студентам, выступающим в качестве модули в «живом компьютере». Вы можете учить двоичную математику или выполнение на основе стека (т.е. обратная полировка).

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

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

gbjbaanb
источник
1

Спрашивать, как вы можете изучать информатику без компьютеров, все равно, что спрашивать, как вы можете изучать космологию без телескопов.

Я в основном отвечаю только для того, чтобы отреагировать на это утверждение и потому что я категорически не согласен с другими ответами. Правильное сравнение будет по моему мнению

Спрашивать, как вы можете изучать информатику без компьютеров, все равно, что спрашивать, как вы можете изучать космологию без космоса .

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

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

Например, учу ли я студентов в Африке, которые не владеют компьютером, кроме общих знаний, но стремятся изучать компьютерные науки и посвятить большую часть своего времени этому хобби?

Зависит от бюджета:

  • Почти нет бюджета Если у вас есть деньги, чтобы поехать в Африку, возьмите кучу клонов Arduino (есть функциональные клоны Arduino за $ 13, посмотрите этот список, например ), некоторые выходные компоненты (например, светодиоды) и один ноутбук. Начните с некоторого базового программирования, научите его им на бумаге и введите его на ноутбуке. Это не самый эффективный способ, но он научит их хотя бы базовому базовому пониманию того, что собой представляют компьютеры.
  • Малобюджетный Купить $ 750 долларов на $ 50 android-смартфонах и клавиатурах (microusb-клавиатуры или bluetooth-клавиатуры, посетите ebay.com или aliexpress.com для смартфонов и клавиатур). Да, они глупы миллионами способов, даже не говорите мне об этом. Тем не менее, вы можете вводить данные о них (хотя даже не рассматривайте возможность использования экранных клавиатур), и существуют простые приложения для кодирования Android. Имейте несколько студентов на смартфон, и это может работать довольно хорошо.

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

Дэвид Малдер
источник
Я либо неправильно понял ваше несогласие с моим ответом, либо я не согласен с ним. Если бы мы знали, что не было космоса, космология была бы полным выдумкой. Если бы мы искренне верили в существование космоса, космология в худшем случае была бы злонамеренной тратой ресурсов. Но, на самом деле, мы знаем, что он существует. Космология без телескопов говорит: «Эй, я не могу наблюдать за космосом на этой неделе, но он определенно есть. Я могу узнать об этом сейчас и посмотреть на следующей неделе». CS без компьютеров говорит: «Эй, компьютеры определенно существуют, поэтому я могу изучать их сейчас, а потом испытывать их физически».
Дэвид Ричерби
И учить кого-то информатике без того, чтобы они когда-либо использовали или практически понимали, что такое компьютер, - такая же выдумка. Вы напрямую не взаимодействуете с космосом через телескоп, это всего лишь один из многих способов наблюдать это. Ночью это все еще можно увидеть, и это может быть легко понято на базовом уровне. То же самое просто не относится к компьютерам.
Дэвид Малдер
Я совершенно не согласен с тем, что это выдумка - учить кого-то тому, что действительно существует, но что он не испытал.
Дэвид Ричерби,
2
@DavidRicherby: Вы и другие здесь настолько укоренились в том, что привыкли к компьютерам, что трудно понять, что на самом деле означает пытаться научить кого-то информатике, прежде всего, без использования компьютеров ... Я знаю кого-то, кто действительно читал курсы для молодежи, которая никогда не пользовалась компьютерами с настоящими компьютерами ... он даже не пытался преподавать программирование или информатику и просто достичь базового уровня понимания того, что такое компьютер, - это отдельная задача, если ты не вырос с компьютерами. (продолжение)
Дэвид Малдер
2
В настоящее время это относительно проще, поскольку у большей части молодежи есть хоть какой-то опыт, но вопрос был о тех случаях, когда они вообще не имеют никакого опыта. Тот же человек рассказал мне, как в стране, где он преподавал, был период, когда учащиеся средней школы приходили на курсы информатики в университете, даже не прикасаясь к компьютеру раньше ... изучив лишь некоторую теорию в средней школе и как в большинство (далеко не все) случаи, которые плохо кончаются. Проблема / идея заключается в том, что рабочие места на компьютерах хорошо оплачиваются, поэтому они просто хотят получить их, несмотря ни на что ...
Дэвид Малдер,
1

Информатика - об алгоритмах, а не (строго) о компьютерах (и электронике).

Таким образом, изучение алгоритмов (даже элементарной арифметики) может привести к пониманию информатики и программирования. Помните, что даже термин «алгоритм» является перефразировкой автора книги по арифметике ( аль-Хваризми , около 9 в. Н. Э.).

Изучение алгоритмов может быть выполнено с использованием элементарных средств, но оно должно обеспечить охват того, почему алгоритм работает, как он появился и как на самом деле можно продемонстрировать, что он работает правильно.

Нельзя недооценивать историю развития компьютерных наук, алгоритмов и программирования. Например, калькулятор Бэббиджа / Ады, машина Enigma, планкалкул Конрада Цузе , ENIAC и т. Д.

Затем можно ввести программирование (и языки программирования) как способ формализации алгоритмов. Это также может быть сделано (в значительной степени) с использованием элементарных средств.

Обратите внимание , что некоторые исследования показали, что программирование обучения людей имеет две основные трудности в понимании (связано с перегрузкой символов, например, тестом присвоения или равенства и работой машины с ОЗУ).

  1. Петлевые конструкции (например, для, в то время как и т. Д.) Кажется трудным
  2. Задание против проверки на равенство также кажется трудным.

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

Более того, если к любому компьютеру можно получить доступ (даже к калькулятору, который можно запрограммировать), это можно использовать для предоставления примеров применения и практического опыта. Еще можно использовать симулированный компьютер. Это может быть сделано различными способами, например, группа людей может смоделировать части компьютера, а класс может разработать алгоритмы для решения различных задач для этого смоделированного компьютера и посмотреть, как он работает. Это также можно рассматривать как игру, проявлять творческий подход и придумывать.

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

Если кто-то хочет представить электронику реального компьютера, это можно сделать также в двух частях.

Помните, что даже в университетах некоторые курсы по электронике и компьютерной архитектуре носят теоретический характер (на самом деле они не соприкасаются с процессором и не занимаются проектированием).

Таким образом, могут быть введены некоторые принципы работы электроники (и основополагающей физики), связанные с компьютерной архитектурой ( полупроводники , твердотельные энергетические зоны, p-np вентили и т. Д.).

Затем можно использовать предыдущий материал о программировании и алгоритмах и представить (современные) методы проектирования ЦП (и описания), которые используются в промышленности ( логические элементы , триггеры , FPGA , VHDL , схемы CMOS и т. Д.).

Это может быть дополнительно рассмотрено в таких проблемах архитектуры проектирования ЦП, как параллелизм, конвейерная обработка, кэш-память, векторная адресация, микропрограммирование, DMA и т. Д.

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

Никос М.
источник
-1

Вы хотите преподавать программирование?

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

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

Я предполагаю, что говорю о том, чтобы начать с псевдокода и \ или блок-схем для планирования проекта, а затем перевести в код. Я смог отладить большую часть своего кода, просто прочитав его. Вы также можете использовать рецензии здесь.

Рики
источник
Я бы определенно использовал псевдокод, а не блок-схемы.
Дэвид Ричерби,
Этот вопрос заслуживает более одного пункта данных опыта за ответ.
Рафаэль
-2

Повторяя предыдущие ответы: многому можно научиться, просто читая и выполняя упражнения с ручкой и бумагой. Если вы можете решить эту проблему на бумаге, у вас сложная задача. Тем не менее, я также хочу упомянуть о существовании довольно дешевых способов подвергнуть студентов воздействию CS. Вы знакомы с проектом Raspberry Pi ? Даже если несколько человек должны поделиться, или вы можете позволить себе получить только 1 или 2 единицы, все равно стоит рассмотреть возможность ознакомления ваших студентов с этой технологией.

Лико
источник
Это ничего не добавляет к существующим ответам.
Рафаэль
1
@Raphael Правда, хотя обратите внимание, что другие ответы, в которых упоминаются дешевые вычислительные устройства, были опубликованы после этого.
Дэвид Ричерби,
-3

Я собираюсь попробовать поиграть на этом немного и "думать нестандартно". Полноценные компьютеры действительно дороги, иногда требуют больших ресурсов и сложны в обслуживании. но есть много недорогих электронных систем, которые имитируют полноценные компьютеры, например, с жидкокристаллическими экранами и т. д. и которые могут быть применены многие основные принципы программирования, многие из которых работают от батарей. также существует тесная связь принципов ЭЭ с вычислениями, такими как построение бинарных логических схем и т. д .; также в настоящее время некоторые игрушки имеют возможности программирования.

  • программируемые калькуляторы . в некоторых есть встроенные языки программирования (не такого высокого уровня, как языки ассемблера). некоторые поддержали бы продвинутые программы.

  • Raspberry Pi компьютер / микроконтроллер был разработан для этой цели и работает под управлением Linux. менее 40 долларов во многих случаях.

  • Для микроконтроллера набора параллакс STAMP требуется USB-соединение, но, возможно, Raspberry pi будет достаточно. смотрите также микроконтроллер PIC

  • робототехнические системы. Есть много недорогих, которые имеют некоторую программируемую логику.Lego robotics mindstorms / nxt - одна из лучших и есть менее дорогие модели.

  • некоторые консольные игры имеют встроенные в них принципы программирования. например Маленькая Большая Планета имеет удивительные возможности программирования, встроенные в него. Есть несколько портативных версий программируемых игр. есть много видео YouTube о сложных конструкциях для вдохновения.

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

также предложите, как в комментариях, создавать программы ТМ, например, для добавления и т. д. и пытаться следовать им вручную.

ВЗН
источник
2
Я подозреваю, что люди, которые не имеют доступа к компьютерам, также не имеют доступа к Lego Mindstorms, игровым приставкам, смартфонам или Wi-Fi.
Дэвид Ричерби
справедливый / очевидный / ожидаемый момент, но ничто из упомянутого не было явно исключено в критериях вопроса. Из вопроса о том, нет ли у студентов чего-либо, не известно, потому что это, например, дорого, и все перечисленное выше в качестве эталона дешевле настольных компьютеров. учащиеся или школы, которые могут позволить себе учебники, могут позволить себе вышеупомянутое (возможно, делиться им) а если учебники недоступны, то что еще осталось?
взн
(к сожалению, объем вопросов значительно изменился с момента написания этого ответа, мне кажется, что редактирование вопроса делает основные предположения, не предусмотренные оригинальным автором, и предпочитает исходную неоднозначность как функцию, а не ошибку)
vzn