Здравствуйте.
Дочке в школе на информатике преподают Паскаль, как и нам когда-то.
Его действительно еще где-то используют или это консервативность нашей школьной программы?
Дочке в школе на информатике преподают Паскаль, как и нам когда-то.
Его действительно еще где-то используют или это консервативность нашей школьной программы?
Касательно объяснения "на листочке". На листочке объяснить все можно. только давайте вы после объяснения на листочке попробуете починить двигатель машины... Не получиться, вы до этого ниразу не крутили гайки не знаете что и как откручивать и почему. Паскаль и другие "условно простые" языки дают простой навык алгоритмизирования. Говоря языком автомеханики "ключ ставить надо вот так потому что больше места, прикипевшую гайку срывать так и так, откручивать в таком порядке потому что иначе тут упадет вам на голову или будете одной рукой держать другой крутить и зубавми придерживать..."
Опять таки даже в институтах видел не раз, когда после объяснения на бумажке люди винду поставить не могли... Практика практика и еще раз практика жесткого алгоритмизирования без ООП, самое простое функциональное программирование... API и остальное учится уже по ходу пьессы тем кому интересно, оно описано, оно разжевано, если есть понимание ПОНИМАНИЕ основ то дальше дело техники и желания.
Ибо лучшее что можно сделать с теорией это показать на элементарной практике КАК оно работает.
Плюсы и так далее это классно, но как вы заметили это Кнутт и прочие фон Нейманы с Шенонами(последнее правда это сети и передача информации), но это уже для тех кто понял что это для него... Больше того оно все равно будет само найдено и изучено самостоятельно...
Neitent, полностью согласен на счет алгоритмизирования.
плюсы шука классна, шарп тоже, но для начала человек должен понимать ЧТО он делает, а языки типа пасквиля как раз для этого... С бейсиком.. если под платформу .NET то VB вполне себе ничего... Но это не то что в школе дают... Это уже посуровее...
Собственно, если уж на то пошло, то после паскаля на делфи перейти (надеюсь пригодность этого языка и его серьеность тут под сомнение никто не ставит?) проблем вообще нет. А если в голове есть умение алгоритмизировать задачи то дальше дело техники...
Госпожа Грей, не четкая структурность языка. Да, какие-то моменты в рамках HTML вполне можно, но НЕ начинать,
Стаявт.
Вчера кстати был интересный случай, человек был искренне уверен что в C# "память не может течь". И такое вот утверждение, последнее время, имеет очень сильное распространение. В паскале, лично для меня, механизмы управления памяти как то не прозрачны. В си все несколько проще. До кучи глянул на IDE lazarus. Как то мне грустно стало.
По поводу современных IDE - таки ж RAD XE5 не так давно вышел. Чем плох? нет, впрочем, знаю: нет халявного экспресса. Это печаль. Все на семерке не закончилось же.
Лазарус печален, тут не поспоришь.
Собственно в школе как таковой работы с памятью и не дают масштабы не те... Решат в этом направлении двигаться сами от паскаля откажутся перейдя на что-то более серьезное. Ребенку незачем мотоцикл давать на разборку, ему лисапет нужон... вот оный лисапет отлично представлен в виде паскаля... А как поймут как там и что можно и дальше учить...и так уже и работа с памятью и все остальное. Еще раз речь о ДЕТЯХ и ШКОЛЕ, в институте Паскаль если и нужен то подтянуть немного всех до одного уровня что бы люди впервые увидившие комп в институте и почему-то оказавшиеся на програмерской специальности хоть азы алгоритмов поняли, дальше или сесси прибьет слабых или научатся...(хотя целесообразность паскаля в институтах для меня уже сильно спорна...а вот в школе самое оно)
Мне что отвечать? Это такой старый язык который ни где не используется, но он очень простой. Или не так: используется в очень старых конторах и как специалист вы будете не востребованы.
Что си, что ассемблер вполне подходят для изучения, особенно на микроконтроллерах. Там мозг не взрывается от кучи всего, плюс какой то интерес. Как вариант представляется: что вы делали на информатике? чет там на экран выводили а вы что? Да мы робота программировали и фиг его в магазине купишь, а вы ходите как лохи.
Минимальная знания для С что бы использовать его не как паскаль...
можете отвечать что этот язык достаточно прост для понимая основ програмирования и при этом обладает достаточными функционалом для написания простых но функциональных программ для сложных вычислений. а опыт работы с этим языком поможет более быстро освоиться с другими языками.
Он много где используется. Тот же квип это object paskal. В школе в рамках программы вы не успеете банально объяснить и детям что и как в ООП то есть всю object составляющую сразу отметаем... Теперь смотрим... Шеснадцатиричные исчесления и преобразования двоичной алгебры... Мдя это асм и на это уходит прилично времени в ВУЗе, что бы студент мог более или менее нормально работать с микроконтролером и асмом... Простиет, у меня выбора небыло когда я асм учить начал и была куча литературы, местами устаревшей но для той машины вполне пригодной... Вы количество часов и нагрузку соизмеряйте... Если речь идет о чем-то типа УПК(оно же МУК) когда дети целый день в неделю могут прогить это одно, а ШКОЛА это другое, математическая нагрузка там какая? Если это что-то типа 239 или 30-и в Питере это одно там можно давать более сложные вещи но там маткружок такой что (и это абсолютно реальный случай) человека можно разбудить задать вопрос по математике он сперва ответит потом спросит какого черта его разбудили...
habrahabr.ru/post/193346/
и далее на хабр в поиске вводите delphi и читаете
Вы можете детям ответить, что на этом языке можно писать программы под винду - от простейших калькуляторов до более-менее игрушек и не говорите мне про оптимизацию, непредназначенность, движки и так далее - не об этом речь. Что учимся Решать задачи, Разбивать большую задачу на малую, бла-бла. Что будем создавать Свои программы.
Потом еще можно сказать, что этот язык - если уж у вас паскаль именно - будет у нас как букварь, по которому мы учимся читать. *в рамках школьной программы дальше букваря никогда не идут, это уж точно
Далее. Киндеру - ну пусть даже 15. Если он видит компилятор в первый раз, то ему хотя бы год нужен на то, чтобы добраться хотя бы до - ужас-ужас - объектов (а для этого надо и процедуры раскурить, и передачу параметров по ссылке и по значению и так далее). Я имею в виду - серьезно добраться. Если он сам занимается, сам упертый. И учится прогать не только в классе. Ну и "добраться" - в смысле, что решать на эту тему задачи, а не два примера из учебника, +- свободно владеть, знать базовые алгоритмы вроде максимума-минимума, сортировки пузырьком, искать, не знаю, сумму элементов главной диагонали.
Ну серьезно, задача школьного программирования - научить сааааааааамой-самой базе. Какие там реальные инструменты? Когда они школу закончат - уже все поменяется и не раз. А вот если заложить самое главное - умение решать задачи, видеть алгоритмы, переводить их в какую-никакую программу.
мне в 13 лет на бейсике получилось добраться до массивов, кажется
1. Отсутствие потребности в Дельфи-программистах. Время АРМов ушло, в корпоративном секторе доминирует жёлтая программа с вкраплениями SAP и кое-где Baan, а мелкие фирмы всё активнее переходят на облака в духе "Моего дела".
2. Отсутствие вменяемой IDE. Последние выпуски RAD Studio таковой, очевидно, не являются, а с Лазарусом всё совсем грустно. Когда на борьбу с интерфейсом IDE уходит больше времени, чем на собственно программирование, это не работа, это мазохизм.
3. Отсутствие вменяемой переносимости на другие платформы.
Собственно, этого достаточно, ну можете ещё рейтинги популярности языков посмотреть.
1) яндекс-вакансии думает по другому... (из минусов вакансий без опыта мало, так что пару лет прогеру придется попахать на госконторы за копейки...)
2) под JS тоже нет нормальной среды, под PHP опять таки пока плагина на студию не вышло нормальной среды был разве что experteditor которому 100 лет в обед, и пока его нормально отстроишь и насношаешься и натанцуешься...
3) пожалуй единственный относительно учитываемый аргумент. Да по популярности он смотря по каким рейтингам, в одних твердая середина в других ближе к нижней части середины...Так за бешеную популярность я и не говорю... пригодность языка для решения задач ООП вполне нормальная, дальше от задачи зависит, а его вменяемость... В сравнении с PHP, к примеру... ИМХО вполне высокая...
0. обзор ide и типы проектов, и зачем это собственно нужно
1. типы данных (затронуть немного асма, типа есть такое но потом будем изучать)
2. операторы + управляющие конструкции (основы )
3. минимальная программа
4. определение функций
5. консольный ввод / вывод
6. организация многофайловых проектов (основы линковки и компилятора)
7. изучение clibrary
8. обзор ардуины, основные отличия от компьютера
9. Мигание диодом, рассказ про тактовую частоту, и все такое
10. Подключение серв и управление поворотами
11. установка этого всего хозяйства на платформу типа танка.
12. Проезд по маршруту
от 1 до 7 это уроки чисто к си
длительность с 0 по 11 примерно по 1 академ. часу.
12 - 8 тут слишком много всего.
Пресловутые квадратики, озвучиваются по мере уроков 1-4, 8 урок исключительно для понимания всей машинерии. 9 продолжение 8, с небольшой боевой практикой.
В итоге получаем через пол-года, человека который довольно хорошо разбирается в программинге, умеет алгоритмически мыслить и все это без тягомотины.
Зы понимаю конечно что это мечты, но все рано красиво было бы
Минимальные знания ДЛЯ изучения, асм отметаем сразу... они не знают двоичной системы, или слышали про нее но не вкуривают зачем это надо, шеснадцатиричную тоже, то есть пропущен урок ознакомления с матчастью "а нафига оно надо"... Типы проектов... То есть подразумевается знакомство не только с графоболочкой но и с консолью и объяснение зачем оно надо и понимание элементарных принципов работы сети ВСЕМИ детьми одинаково... ВСЕМИ иначе кто-то будет хлопотать за вашу самонадеянность двойки... То есть еще два урока сносим... дальше расписывать... Простите вы рассчитываете на студентов, или КАК МИНИМУМ на ПТУ, но не на школу... На людей которые понимают физику, и понимают как подключить последовательно параллельно понимают как работает контроллер, пусть и не очень понимают почему...
Да в рамках факультативного занятия с теми кому оно интересно и где не ограничено время строго, и где детей меньше, и так далее далее далее, или в рамках МУК это реально но там другие ВРЕМЯзатраты, там можно 3-5 часов объяснять теорию и часа 3 работать с практикой... причем часы АСТРОНОМИЧЕСКИЕ... если факультатив то там все равно времени другие количества идут... Плюс это нет проблемы "следующая у меня физика к которой я не готов"... плюс матчасть, детям ваш урок без реальной практики сделаной СВОИМИ руками будет только вреден.
Вы нислова не сказали об обучении алгоритмам и основам работы если вы думаете впихнуть это к операторам так это 2-3 академ часа...
Плюс это КАЖДЫЙ ребенок жолжен сделать сам (или 2-3 ребенка) иначе один делает остальные скучают, значит вам надо как преподавателю или написать за них код или к каждому подойти и его поправить что бы он сам написал... Простите, но ваш план провален чуть больше чем целиком, не говоря о том что не рассчитан на применение тем кому програмирование нужно только что бы в табеле было ибо в школе обязательно знать надо...
Ваши "знания" - голая теория. Прочитав с нулевой базой ман - даже вызубрив его - вы еще не научитесь ничему
2. операторы + управляющие конструкции (основы )
только теория, без практики - значит, забудут не следующий же раз. Практики на это надо хотя бы 2 ак. часа - чисто на "скопипастить что есть, поменять цифры". Программировать с их использованием они даже после этого не умеют, но зато +- не косячат с началом-концом-модификатором цикла и иногда не забывают про ;
7. изучение clibrary
изучение? че? И-зу-че-ни-е? Дети кроме копипасты и хелловорда ничего не умеют, куда им эти библиотеки? На этом рвется моск и начинается судорожное копание по распечатках в поисках найди то - не знаю что. Кстати, по нему ман на русском есть?
Проезд по маршруту - это ведь по сути решение задач, да? Год - минимум.
И вам все еще нужна будет тягомотина. Я не стала подробно расписывать тягомотину по каждому пункту, но я прям ее вижу, сидит толстая, зеленая. Не меньше, чем в паскале - точно.
по моей схеме, дети хотя бы фан получат, а кому действительно интересно получит задел и направление для развития. Но конечно лучше учить всех паскалю.
Но читать вашу дискуссию весьма интересно.
Если бы хоть это, на самом деле даже к ЕГЭ нужно готовиться дополнительно, уроки не дают почти ничего. Банально не хватает времени.
Сигурд Лис, Тогда все грустно, и информатику можно выкинуть, оставив разве что офисные пакеты и УПК для интересующихся.
fire-dragon, да не православием... Как бы 3 пары даже для студента хорошая нарузка, а для школьника она очень тяжелая, к 10-му классу еще ничего а вот 5-6 так как бы 5 уроков это уже максимум, а там по 7 даже без православия...
Информатика она требует элементраной базы которую и дает школьный урок, а дальше "каждому по вере его" в смысле кому-то надо кому-то нет.
1. Аппаратные средства: из чего состоит компьютер (проц, его внутренний кэш, HDD, RAM, мать и всё что на ней напаяно, видюшка - без подробностей устройства, только описание, что каждый из этих компонентов делает и зачем. В общем, архитектура Фон-Неймана для
дебиначинающих в картинках.)2. Алгоритм: что это такое, и зачем оно надо. Построение алгоритмов создания бутерброда и варки Доширака на русском языке.
3. Блок-схемы + то же, что в п.п. 2, но в виде блок-схем.
4. То же, что в п.п. 2, но в виде некого придуманного на лету псевдоязыка.
5. Построение алгоритмов вывода на печать таблицы умножения, запроса у пользователя двух чисел и вывода их суммы.
Далее пошло изучение самого C++
6. С++: алфавит языка. Структура минимальной программы. cin, cout, #include, int main(){}, зачем нужны скобочки, точка с запятой и комментарии.
7. Типы данных: int, float, char, double, long, чем они отличаются друг от друга.
8. Цикл for. Вывод на печать таблицы умножения на 2, на заданное в диалоге пользователем число. Вложенные циклы, вывод всей таблицы умножения. Вскользь упоминание об областях видимости переменных. Понятие возведения в степень, написание программы, возводящей указанное число в указанную целую степень.
9. То же, что в п. 8, но с циклами while и do while. Указание, чем они отличаются.
10. Функция: что это такое и зачем. Правила записи функций. Здесь же: понятие факториала, построение алгоритма его вычисления, написание соответствующей функции.
Откровение, что main() - тоже функция.
11. Визуальное программирование: интерфейс QtCreator
12. Дизайн интерфейса в QtCreator
13. Связывание контролов с кодом (без понятия о сигналах и слотах).
14. Написание сфетофора с тремя кнопками и тремя лапочками.
15. Самостоятельное написание калькулятора: 4 арифметических действия, факториал, возведение в степень, извлечение квадратного корня.
Занятия проводились 1-2 раза в неделю, по полтора часа. В итоге дитё сумело написать калькулятор, и вроде бы даже начало понимать, что к чему. Опыт считаю успешным.