Как стать автором
Обновить

Комментарии 114

Я всё же за то, чтобы изучали дефолтные языки:

1. Проще в изучении (Pascal для этого и создан был)
2. Всё же для начала лучше учить функциональному программированию, а потом уже переводить на ООП.

ИМХО, конечно. Меня вот в универе вообще учили Pascal'у и Clipper'у. А курсовик писал на C# (типа сайт делал, ога).
Насчет простоты в изучении согласен, но касательно шарпа это пара-тройка лишних уроков чтобы въехать в синтаксис и разобраться в основах. Ну а насчет функционального программирования все очень просто: поначалу ученик пишет все в одном классе и юзает встроенные типы, и только потом переходит к написанию собственных.
Функциональное программирование и из профессиональных программистов-то мало кто знает, ибо для него требуется заметно большая математическая подготовка, а вы — «насчет функционального программирования все очень просто».
Возможно я не совсем корректно выразился, под понятием функциональное програмирование я имел ввиду процедурную парадигму программирования.
Достаточно прочитать первые главы SICP чтобы _студенту_ вкурить в основы scheme постепенно во всё остальное. Куда уж там профессионалам, которые завидев скобочки начинают плеваться.
Вот кажется мне, что для первоначального обучения функциональному программированию наилучшим вариантом будет Standard ML.
Ну, не смотря на то, что ML языки хороши (боюсь навлечь на себя гнев лисперов, но lisp как промышленный язык таки RIP), scheme проще ибо:
1) Динамическая типизация.
2) Единство кода и данных.
3) Минимальное кол-во специальных форм, а всё остальное это функции и данные.
Не, «языки фон Неймана» — оно клёво и правильно, но… у меня такое подсознательное понимание Standard ML-я как «Python-а в функциональном стане». Ну это я так, о своём.
вы наверно спутали императивное и функциональное программирование? ;)
Очень даже может быть, не силен я в определениях :(
Будет очень здорово, если выходя из учебного заведения выпускник будет знать не дефолтные бейсик/паскаль, а современный и часто используемый язык программирования.

А также вычислять интегралы по плоскости от произведений функций, свободно разговаривать на 5 языках (в том числе одном мертвом), уметь проводить операцию на мозге в полевых условиях, а также мочь вычислить положение Плутона в определенное время суток…
Это все конечно хорошо… Но вспомнив среднюю школу и понимая, что нафик это людям не надо, я бы вообще исключил программирования из школьного курса информатики. Лучше бы выделили это время на то чтобы они знали как записать макрос в Word/OpenOffice.
Когда я учился в школе, нас разделяли на две группы: интересующиеся и все остальные, интересующиеся учили плюсы, прочие писали доклады про компьютерные вирусы и т.п. Думаю это самый правильных подход.
Вам повезло. Вы учились в превосходной школе.
Что верно, то верно. Жаль что это единичный случай. Иначе как удручающим текущее положение в сфере образования назвать не получается.
Завидую. У нас интересующиеся ходили на уроки.
а меня вот просто бесит когда на _информатике_, изучают _компьютерную грамотность_. Давайте и на математике калькулятор изучать, все равно реально интегралы нужны 0.01% выпускников. Ну хотите учить детей Офису — учите, но не называйте это Информатикой. Пожалуйста.

Извините за экспрессию.
Имхо, в школе вообще должны параллельно преподаваться два предмета: «Курс пользователя ПК» и «Алгоритмистика/Прикладная математика/Информатика» — называйте как хотите. Конечно, кое в чем они сильно будут пересекаться (особенно в части строения компьютера вообще и бинарной логики), но такая система как раз даст каждому то, в чем он именно нуждается. Как и случилось с Logonoff
Алгоритмы, видимо, специально изьяты из книги не только для уменьшения ее размеров, но и для того что-бы (опять таки) книга не наскучила школьнику. А алгоритмы ИМХО должен обьяснять учитель на самом уроке информатики, потому как у школьника может появиться много вопросов, причем учитывая подготовку школьника на момент обучения информатики(сейча ее иногда чуть ли не с 3-5 классов начинают проходить), его знаний может просто не хватить для правильного их понимания и тогда в голове будет путаница. А преподаватель сможет сразу-же (в режиме диалога) все обьяснить на пальцах…
Так получилось, что я попал в избранный экспериментальный класс, и информатика у меня была с первого класса…
1996-год, все что я помню, это запущенный коммандер и две игры, поле чудес с матами и еще какая-то, но в неё ни кто не играл. Естественно нам ничего не объясняли, а преподавательнице было лет 60 и она знала только как их включать, а выключала рубильником, вместе со светом =\
И научить ставить SharePoint Advanced Pro IIS Web Services For Windows Server 2012 Outlook Exchange Services, а также потреблять другие продукты Микрософт.
Ну вот не надо только этого. МС сделала таки хорошее дело — написала книжку для детей, бесплатную книжку, понятным языком. Никто же вас насильно не заставляет учить C#. В начале статьи я заметил, что C# лишь один из многих вариантов обучения детей программированию.
Конечно, хорошее. И виндовз в школы со скидкой в 90% — правильное, хорошее дело. И насильно тоже никто не заставляет — просто другого-то всё равно нет. А то, что С# изобретение той же компании, это просто так совпало. И что лицензируется он так, что сторонние имплементации всегда под угрозой исков, это тоже никакого отношения к школьникам не имеет. И то, что половина книжки имеет отношение не к языку, а к Microsoft Visual C# и к дот-NETу, тоже сути дела, конечно же, не меняет. Ну просто забыли они упомянуть, что есть Mono, например, ну с кем не бывает.
Да, давайте еще всех детей в школе учить линуксу, ох как он им пригодится в будущем, когда они будут работать юристами, секретарями и т.п. Линукс это конечно хорошо, его можно включать в программу, но полностью замещать им винду пока рановато.

Я просмотрел книжку еще раз, и могу с уверенностью сказать, что как раз в большей мере там рассказывается про язык, нежели чем про среду разработки.
Слово «линукс» я не употреблял. И кроме того, как линукс (или другая настольная система) противоречит работе юристом или секретарём?
«И виндовз в школы со скидкой в 90% — правильное, хорошее дело. И насильно тоже никто не заставляет — просто другого-то всё равно нет.» — Звучит как призыв бороться с засильем винды в школах. А какая у нас альтернатива? Правильно — линукс. А противоречит тем, что у нас будет супер-секретарша, владеющая линуксом, но не знающая как в винде поставить принтер по умолчанию (это разумеется пример).
Я упустил логику. Чем знание про принтер в винде лучше, чем знание про принтер в невинде?
А тем, что на рабочем месте с 98% вероятностью будет винда. По-моему логика вполне понятна.
Так это потому, что в школе была винда, со 100% веорятностью. Измените это, и пропорция на рабочих местах тоже начнёт менятся. Кроме того, я не верю, что для умения выбрать принтер по умолчанию в любой современной ОСе нужно слушать курс в школе. Это уж точно не сложнее, чем разобраться с медиа-центром или стиральной машиной. Мне дали мак, и я более-менее разобрался за полчаса, безо всяких курсов. А вот чтобы переставить время на электродуховке, признаться, приходится искать мануал.
Итак, в ходе нашей дискуссии мы пришли к вопросу «почему везде винда?», ну что поделать, замкнутый круг. Но я уверен, что той же секретарше абсолютно по-барабану на какой ОС работать, главное чтобы был обед с часу до двух и зарплата в конце месяца. Насчет принтера я утрировал, есть куча мелочей, которые мы с вами как специалисты не замечаем, но которые ставят пользователя в тупик.
Насчет принтера я утрировал, есть куча мелочей, которые мы с вами как специалисты не замечаем, но которые ставят пользователя в тупик.

Вы не находите, что тут может быть некоторая корелляция с тем фактом, что когда-то таких пользователей учили «винде и ворду», а не «работе с компьютером»?
Согласен, потому и написал «замкнутый круг», еще я написал «что поделать», свидетельствуя о том, что в ближайшее время навряд ли что-то изменится. А у той же пресловутой секретарши дома семья, которую надо кормить, у нее нет времени переучиваться с линукса на винды.
В будущем девочкам вообще лучше всего пригодится умение хуй сосать, давайте учить их этому с школы. Многого добьются в жизни.
Боюсь именно это они и делают… Возле школы в учебное время без грусти за молодеж не пройти… Особенно возле курилок.
Вы мне напоминаете клонов Столлмана.
Это все на самом деле не отменяет мотивов, по которым MS сделала столь «хорошее» дело. Точно также как и Cisco делает упор на подготовку специалистов с младых ногтей, и конечно же практика в рамках своей продуктовой линейки.

Книжки писать хорошо, никто не спорит. Но оспаривать очевидное — коммерческую подоплеку, глупо. Да еще минусуете сразу любого, кто об этом напомнит — конечно надо гасить всех, у кого есть несколько альтернативная точка зрения.
правильно… давайте учить Unix и shell )
Как будто shell — это что-то сложное. Вот C#, как и какая-нибудь Java, точно вызовет у школьников рак мозга.
а я и не говорил про сложность. Я про нужность и полезность. Не надо только налетать любители юниксов ;)
Что ж вы все так Microsoft не любите…
Все достаточно просто даже с чисто практической точки зрения — любая монополия начинает стагнировать, если её не пинают конкуренты. Так вот мсоненавистники, если исключить из этого числа ортодоксов и просто красноголазых с лора, в основном за более открытый рынок и против диктата монополиста.
Результат наглядно виден на рынке браузеров — монополия запустила направление, и если бы не было конкурентов, то еще неизвестно когда бы начала шевелиться.
Правильно, чем раньше будущий программист подсядет на чью-то «технологию», тем сложнее ему потом с нее соскочить.
Чем раньше будущий программист разберётся с одной технологией, тем быстрее он потом освоится с другой. Да и тем больше времени у него в будущем будет на другие технологии.
Чудесно. Нет, просто превосходно. Нет, восхитительно.

У нас в школах, получается, будут изучать C#. И мы считаем, что среднестатистический школьник выйдет из последнего класса осведомленным в современных информационных технологиях и готовым к жизни в 21 веке, ага. Да, алгоритмов в книжке нет, они не поместились в этот супер-учебник, зато туда надежно утрамбовали доступ к БД, SQL (!), XML (!!), объяснение понятия области видимости, наверное, для 16-летних даунов (!!!), а все остальное, конечно же, расскажет учитель.

Да ёклмн, снимите же розовые очки.

Половина учителей, которым достанется обязанность читать этот курс, в глаза ничего не видели, кроме Turbo Pascal 7.0, некоторые — Бейсика. Притом я умолчу, насколько четверть из них в нём ориентируется. И такой учитель должен рассказывать детям теперь уже про ADO.NET и LINQ, неужели? Это раз.

Половина детей в гробу видела эти книжки, предметы, программирование в целом и C# в частности. Компьютер для них после курса информатики как был «коробкой для КонтрСтрайка», так им же и откажется. Чем вы собираетесь заинтересовать народ? Разглагольствованиями о поварах и ресторанах? Это два.

Знаете, для чего в школах нужна информатика? Чтобы человек, во-первых, научился пользоваться компьютером, без чего ему в современном обществе туго придется, во-вторых, развил способность мыслить логически, выстраивать алгоритмы достижения задач и целей и причинно-следственные связи для них. Язык программирования здесь вторичен, большая часть никогда не пойдет программировать. Им это не нужно. Они станут хорошими экономистами, технологами разных областей (многие после ПТУ), секретарями, дизайнерами, менеджерами, журналистами и переводчиками. Вот подавляющее большинство популярных профессий. IT-дисциплины тоже бешено популярны, но этот набор затмевает их количеством. И — смею заметить — всем этим людям нафиг не сдалось программирование.
Зато им бы очень пригодился курс пользователя ПК, работа в Word и Excel (чтобы студенты в вузе рефераты пробелами не верстали, а бухгалтеры не сидели перед ПК с ручным калькулятором(!) на столе), основы работы в графическом редакторе (красные глаза с фото удалить), принципы использования Интернета (не подцепить троян и не потерять пароль от Вконтакта) — это малая толика первой половины. А вторая половина — алгоритмическое мышление, которого многим вообще недостает (а без него вообще теряет смысл профессия того же менеджера, имхо). А школьный учебник по C#, прекрасному языку, но это нужно понимать(!), в итоге научит выпускника максимум клепать формочки. И то если он того сам захочет. Вы предлагаете подкреплять уроки примерами из Кнута? Да вы учителю сначала растолкуйте, что это за дядька, и что за бред он там наклепал на 3 (уже скоро 4) тома. А потом еще раз школьнику, которому учитель должен рассказать ту же быструю сортировку за полчаса устно на уроке. На том самом уроке, где главная забава — почитать MAXIM, пошпилить на мобильнике и поболтать с подружкой.
Удачи. Нет, серьезно.

У нас на первый курс технического вуза (sic!) в группу пришло несколько человек, которых в школе в принципе не обучали программированию, только пользовательский курс. Часть потихоньку вжилась в программу, часть — нет, и до сих при простейших вопросах впадает в ступор. Зато милые, прекрасные люди, которые честно прослушали в своих школах рассказ о Паскале, типах данных, поиске, сортировках и логических операциях, сейчас с успехом берут своё. Мне на самом деле страшно представлять первый курс после этого учебника.

Поэтому — нормальный учитель, пользовательский курс, основы алгоритмизации, Делфи (Паскаль не в ДОСовской оболочке) — вот вам отличный курс информатики для средней школы. In my humble opinion.

Фу. Высказался.
Объемно и содержательно))
>>У нас в школах, получается, будут изучать C#. И мы считаем, что среднестатистический школьник выйдет из последнего класса осведомленным в современных информационных технологиях и готовым к жизни в 21 веке, ага. Да, алгоритмов в книжке нет, они не поместились в этот супер-учебник, зато туда надежно утрамбовали доступ к БД, SQL (!), XML (!!), объяснение понятия области видимости, наверное, для 16-летних даунов (!!!), а все остальное, конечно же, расскажет учитель.

— Я уже писал в комментариях, что учить всех поголовно программированию — не самая лучшая идея. Насчет алгоритмов очень хорошо заметил megazhuk в своем комментарии

>>Половина учителей, которым достанется обязанность читать этот курс, в глаза ничего не видели, кроме Turbo Pascal 7.0, некоторые — Бейсика. Притом я умолчу, насколько четверть из них в нём ориентируется. И такой учитель должен рассказывать детям теперь уже про ADO.NET и LINQ, неужели? Это раз.

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

>>Половина детей в гробу видела эти книжки, предметы, программирование в целом и C# в частности. Компьютер для них после курса информатики как был «коробкой для КонтрСтрайка», так им же и откажется. Чем вы собираетесь заинтересовать народ? Разглагольствованиями о поварах и ресторанах? Это два

— Все то же самое разделение на группы легко решает эту проблему. В конце-концов в проблемном классе можно вообще преподавать только офис.

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

— Согласен, большинству учащихся программирование нафиг не сдалось, но раз уж их ему учат, то пускай учат чему-нибудь поновее чем qbasic.

>>У нас на первый курс технического вуза (sic!) в группу пришло несколько человек, которых в школе в принципе не обучали программированию, только пользовательский курс. Часть потихоньку вжилась в программу, часть — нет, и до сих при простейших вопросах впадает в ступор. Зато милые, прекрасные люди, которые честно прослушали в своих школах рассказ о Паскале, типах данных, поиске, сортировках и логических операциях, сейчас с успехом берут своё. Мне на самом деле страшно представлять первый курс после этого учебника.

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

Так что все зависит от конкретной школы, конкретного учителя. Будем надеяться лишь на улучшение положения в образовательной сфере.
Про калькулятор не к месту. Он также гораздо удобнее калькулятора на компе для простых операций с числами, как бумажная книга для чтения романов.
Извините, это чуть выше по дереву.
Вместо КнУта для школьников подойдет Вирт Алг+СтрДанных (~200стр).
Да что все за Pascal с Delphi цепляются??? Был хороший продукт, но его убили. Умирает он. Зачем его давать?
C# можно давать на разных уровнях сложности. В предложенной книге самые основы даются. А алгоритмику давать вперед ООП это прямой путь на АСМ и потом работать на моторолу или интел, ковыряясь в низкоуровневом железе. MS нужны кодеры для офисов. Какие там алгоритмы? Это не простой вопрос.
PS: Камни в меня не кидать. Сам в универе преподаю больше 10 лет. Команду на ACM в полуфинал вывел. Работаю программером.
Вирта в школе читать сложновато, согласитесь. Да никто и не говорит чтобы отменять «классику жанра». Но порой бывает что ее слишком много, а точнее что она одна. а про ООП читали на 4 курсе, когда скажем так, поздновато.
Сейчас глянул, солашусь насчет Вирта. Самому первые страницы давались с большим трудом. Надо рерайтить :)
MS нужны кодеры для офисов, пусть. Только зачем их воспитывать в школах?
C# замечательный продукт для изучения в вузе, таком вузе, который на это и направлен. (Собственно, здесь уже без разницы, какой из мейнстримовых языков — каждому найдется местечко.)
Но такой учебник в школе смысла не имеет, потому что не дает ничего.
НеПрограммисту он не даст нужных знаний для жизни (и это главное).
Программисту он просто слишком рано даст то, что ему и так бы рассказали — но на более профессиональном уровне.

На самом деле в школе не играет особенной роли, какой язык использовать для обучения. Пускай бы это был и C# — но учебник, толково рассказывающий о логике, о программировании в целом, о базовых алгоритмических вещах. Какая ACM? Я же не говорю о потоке на графе, Боже упаси, а всего лишь о том же двоичном поиске, принцип которого человек должен понять обязательно, он его еще не раз в жизни применять будет вручную.
Если в школе растет ACMщик — дай Бог, чтобы он попал на дальновидного учителя, перешел в хороший лицей, попал в руки профессионального тренера, и медаль IOI не за горами, а затем и в ACM ICPC дорога. Но для этого нужна как минимум хорошая база, задел, чтобы парень в принципе заинтересовался, что это, и с чем его едят. Сабжевый учебник и этого не даёт.

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

ВУЗ, направленный на изучение инструментов, более правильно называется ПТУ.
для изучения в вузе, таком вузе, который на это и направлен.

«На это» == «на программирование», читайте внимательней :) С вашим высказыванием полностью согласен.
Можно вас спросить, как вы представляете изучение например распараллеливания задач без хорошего знания языка? Конечно можно все нарисовать на бумажке, но толку от этого будет…
Вы же не хотите сказать, что существует какой-нибудь ОДИН язык, по которому можно хорошо изучить разные подходы к распараллеливанию задач? А то я бы посмотрел, как человек, изучивший OpenMP, будет писать программу на Erlang. Или как спец по MPI или MapReduce будет медитировать над языком K.

Кстати, а какие возможности распараллеливания предоставляет C#? Если не сложно, расскажите ради общего образования. Раз уж всё равно оффтопик.
Раз уж оффтопик, то в C# сам по себе неплохой механизм тредов, семафоров и т.п. Не будем забывать что OpenMP разрабатывалась как раз по причине отсутствия в фортране и с/с++ нормальной работы с потоками.

А C# по-моему мнению прекрасно подходит для изучения алгоритмов. В нем сложнее ошибится в работе с памятью, как например в плюсах и т.д.
| А C#… прекрасно подходит для изучения алгоритмов. В нем сложнее ошибится в работе с памятью…
Правильно! В том числе это проблема и Pascal
Синтаксических — почти никаких, кроме некоторых моментов синхронизации потоков.
А вообще есть Parallel .NET: 1, 2.
PLINQ?
Так он же из той же серии Parallel Extensions.
То есть не часть языка.
>Если в школе растет ACMщик — дай Бог, чтобы он попал на дальновидного учителя, перешел в хороший лицей, попал в руки профессионального тренера, и медаль IOI не за горами, а затем и в ACM ICPC дорога.

Красивый портрет Гены Короткевича
вы абсолютно правы. ни C#, ни java, ни C/C++ не нужны в школах в штатной программе. я уже где-то в комментах писал о том что лично я бы хотел видеть в школько программе касаясь языков программирования. как вариант просто вместо турбопаскаля использовать фрипаскал + скллайт (для изучения работы баз данных, правда, не M$ Access же учить). и то это как бе большой вопрос, в современном мире умение пользоваться M$ Office и ориентироваться в GUI Microsoft гораздо более востребованный вопрос, нежели языки.

однако, как факультатив для всех желающих почему бы и не давать C# и прочее? ну если конечно преподаватель компентентен в вопросе.
НЛО прилетело и опубликовало эту надпись здесь
Хочется ещё добавить ПОЧЕМУ sicp лучше чем другие книги по введению в cs. Потому, что в ней нет инженерной рутины вроде XML, SQL и т.д. Она учит тому как строить абстракции с помощью процедур и данных, она объясняет как интерпретируется программа и как работает машина (в последних главах пишется интерпретатор, регистровая машина, компилятор для неё). В общем она раскрывает секреты особой, компьютерной магии :)
Потому эту книгу и называют классикой)). Мне нравятся LISP, очень нравится, но я считаю его несколько экзотичным для преподования в школах.
И смысл книги? На нормальной информатике должны давать алгоритмы, должны учить думать так, чтобы потом свои мысли можно было переложить в код. В общем основы. Причём язык программирования в общем-то не так важен. Я лично не понимаю зачем на информатике учить кодить и окошки рисовать.
Смысл книги? А то что у школьника после прохождения курса по этой книге от программирования не останутся ассоциации «скукотища, досовские консольные программы, рисование квадратиков». У этой книги больше шансов заинтересовать школьника программированием, чем у старых пособий по паскалю. Да и алгоритмы гораздо удобнее кодить на шарпе, чем на паскале (с его рулезным выделением динамической памяти).
В школе должны дать основы, которые по сути чистая матлогика. А для кого «досовские программы, рисование квадратиков» на самом самом начале не интересны, тому и прочие окна по барабану будут. Ещё раз повторюсь — среда вторична (у нас в школе на чём только программы не сдавали и на С, и на плюсах, и на паскале, и на делфи, важна была логика программы).
У этой книги больше шансов заинтересовать школьника программированием.

Вы хотите вырастить из половины школьников программистов? А кто будет заводы строить, поля пахать и аппендицит вырезать? Общество из одних айтишников выродится лет через несколько без присмотра :)

Я не спорю, по книге заметно, что автор пытался заинтересовать. Только с нашими детьми это, во-первых, не получится (я уже их описывал в этом треде), а во-вторых, учебник будущему врачу/юристу/слесарю не рассказал даже, как в Excel посчитать расход семейного бюджета. Зато он вынесет в голове знания, как работать с XML, которые успешно забудет уже через два года.

Я не вижу смысла в таком уроке информатики. А вы?
>>Только с нашими детьми это, во-первых, не получится (я уже их описывал в этом треде), а во-вторых, учебник будущему врачу/юристу/слесарю не рассказал даже, как в Excel посчитать расход семейного бюджета. Зато он вынесет в голове знания, как работать с XML, которые успешно забудет уже через два года.

— Я уже писал про объем курса, и думаю что его можно давать в 10-11 классах, а экселем, офисом, заниматься с пятого. Единственное что нужно — грамотно распределить время.

>>Вы хотите вырастить из половины школьников программистов?
— Нет, я не хочу этого, это было бы ужасно :) А вот людей, которые в свободное время пишут что-нибудь интересное вырастить этим курсом было бы очень здорово.
Почему-то мне кажется, что не будут эти люди писать что-нибудь интересное в свободное время, вспоминая своих же одноклассников до 8 класса и перехода в математический лицей… Отдельный курс компьютерной грамотности, как в вашем случае — отличное решение. Если бы приведённый учебник параллельным курсом еще учил школьников думать, у меня бы не осталось к топику ни одной претензии :)
И не говорите)) Все же хочется заметить, что согласно закону больших чисел, даже в самой захудалой школе, на параллель найдется один соображающий ученик. И если получится его заинтересовать, то это значит, что курс выполнил свою цель.
это перебор, если ради одного с параллели мучить всю параллель
книгу только глянул. Но очень рад что появляются такие книги. Вспомнил свой 11й класс физ-мата… мда. Программирование было помойму в 8-9 писали там что -то на Бэйсике. В результате на 1ом курсе института я с трудом писал сортировки и т.д., и я бы не назвал себя дебилом. :) Очень было бы неплохо если заинтересованный человек приходя на 1 курс института знал такие слова как ООП, класс, база данных, xml и т.д. Хотя бы представлял основы что и как работает, думаю c# тут подойдет как нельзя лучше. Хотя раньше 10 класса применение книги сомнительно.

>>У нас на первый курс технического вуза (sic!) в группу пришло несколько человек, которых в школе в принципе не обучали программированию, только пользовательский курс. Часть потихоньку вжилась в программу, часть — нет, и до сих при простейших вопросах впадает в ступор. Зато милые, прекрасные люди, которые честно прослушали в своих школах рассказ о Паскале, типах данных, поиске, сортировках и логических операциях, сейчас с успехом берут своё. Мне на самом деле страшно представлять первый курс после этого учебника.
+1.… вспомнил себя на 1 курсе =)
Вот вы тут спорите спорите, что изучать, как изучать. Главное то, кто это будет преподавать. Хороших учителей ивт раз два и обчелся. Например, за всё то время, что я учился в школе на ивт мы печатали в ворде, рисовали в паинте, занимались прочей ересью. После 10 класса я пошел в профильный, информационно-технологический класс. Ну а там ничем не лучше, простейшие задачки в паскале, ворд, паинт, эксель. Ни о каком питоне и других языках программирования и речи не могло идти. А учились мы только в 10 классе, весь 11 был извините прое**н на подготовку к егэ. А всё потому, что учитель наш работал с компьютерами, когда те еще занимали огромные залы
НЛО прилетело и опубликовало эту надпись здесь
Уважаемые хабрапользователи, задумайтесь!

Обучение программированию — это особый обряд, право выполнять который, в нормальном мире, должно быть доступно не всем учителям информатики. И не все ученики обязаны в этом процессе участвовать.
Уточнение — «школьной информатики»
я думаю это относится к любому предмету в школе
>И наконец, нужно скопировать файлы примеров из книги на диск своего компьютера. Распакуйте файл examples.zip, сохраните его в любой папке и запомните, где она расположена – находящиеся в ней файлы вам понадобятся позже.
Где?
Помню первые шаги в программировании делал в 16 лет, начал с питона. Сперва это были простые программки типа скопируй туда-то, выведи окошко и т.д. Потом перешел на php + javascript + sql. Изучал все сам, без учитилей. И вообще слово «учиться» состоит из 2 слов: «учить» и «ся» (устар. «себя»).
Это ± типичный путь. Вопрос в том, как же этот процесс поставить на поток?
А не поставишь. Кому интересно, много чего сами сделают. А кому не интересно, ничего делать не будет.
Довольно просто: надо собрать всех заинтересовавшихся, и учить их. Если человеку не интересно, он учить не будет.
Если учить плохо, то желание большинства быстро пропадет. Вопрос остается открытым.
Желающих учиться не так уж и много, я имею о тех, кто готов самостоятельно делать шаги. Учителя нужны лишь для того, чтобы задать направление мысли. Я сравниваю программирование как решение задачи по физике: изучить предметную область, вникнуть в условия, найти недостающие данные в справочниках, найти формулу или несколько формул (просмотреть существующие алгоритмы) и решить (написать программу).
но когда тебя немного подталкивают это хорошо и полезно!
Энциклопедия профессора Фортрана Сишарпа
Помоему C# это язык для домохозяек и школьников...:)
наверное, ваш путь ASM на все случаи жизни ;-)
Требую обоснования! :)
Название книги «C# для школьников» как-то быстро ассоциируется с «С# для чайников» из знаменитой серии =). Не в обиду будет сказано
НЛО прилетело и опубликовало эту надпись здесь
и кстати хорошая книга… ;)
«C# для чайников» — хорошая книга? Не смешите мои тапочки. Я сгибался пополам от хохота, когда однажды взял её полистать интереса ради :)
какие чувствительные у вас тапочки)
Мне кажется, что начинать изучение языков программирования с шарпа это как то очень странно. Я не отрицаю, что язык отличный, и вообщем то сам только на нем и пишу. Но дело в том, он он слишком высокоуровневый и вряд ли даст начинающему понять, что и как устроенно. А такое недопонимание происходящего ведет к быдлокодерству и делает из людей «code monkeys». Поэтому я считаю, что лучше начинать обучение с паскаля/с, далее переходить на с++ (обязательно изучив указатели) и уже только после этого изучать такие сверхвысокоуровневые языки как c#, java, php и прочие.
Чего нельзя объяснить школьнику на C# и можно на Pascal? Работа с указателями в C# тоже есть.
Как вам такое утверждение?
«Давайте сначала будем учить детей говорить, читать и писать на эсперанто, а потом уже будем учить русскому».
Начинать обучение с указателей в шарпе — это смешно, поскольку это просто заплатка для совместимости, и использовать ее без особой нужды неразумно.
Если начинать обучение без указателей и прочих низкоуровневых вещей, то человек не будет по сути понимать, что происходит после того, как он запустил свою программу. Все таки перед тем как использовать «new», стоит повозиться какое то время с «malloc и компанией», если вы понимаете, о чем я.
IMHO, начинать обучение алгоритмике с указателей смешно!
Любители функциональных языков на дыбы встанут от Ваших рекомендаций :)
И они будут правы, т.к. обучение функциональным языкам проще и это было подтверждено экспериментами. Но широкое распространение получили императивные языки и нужны кодеры с императивным мышлением. А переобучение с одной парадигмы на другую — весьма болезненная ломка стереотипов мышления.
Не совсем понимаю смысла изучения новичками указателей: во многих новых языках они не используются или их вообще нет. Избавиться от быдлокодерства можно только изучением типовых проектов и алгоритмов. Чтобы знать как в языке все устроено, надо именно работать с ним, изучать приемы программирования с конкретным языком.
Ну о каком избавлении от быдлокодерства может идти речь, если вы говорите о необязательности знания указателей… То что в каком то языке они не используются, не значит что их не надо знать. Я видел много случаев, когда люди, знающие только шарп, сходили с ума от множества ошибок, которые они допускали, используя «неявные указатели», и думая, что это локальный обьект. Тем более в какой то момент программист наткнется на надобность использования unmanaged библиотек, например винапи, и если в детстве ему хотя бы вкратце не обьяснили концепцию указателей, то для него такая задача станет крайне тяжелой.
я думаю c# это изучение в классе 11, а до этого, например с 9, вполне можно дать что-то аля Паскаль
Мне с 25 Августа дальше C# преподавать будут.
где интересно? если не секрет
Я со своей стороны вот какие вижу плюсы.

Значительно бОльшая часть детей способна к информатике, чем реально ей занимающиеся подростки. Остальных отпугивают две вещи: синий интерфейс турбо-паскаля с квадратным курсором из глубин прошлого века, и сложность/нудность подачи материала. Переменные, итераторы, процедуры, зачем всё это подростку? Ни зачем. Соответственно интереса нет.

И тут на помощь приходят современные технологии: симпатичные окошки Visual Studio, простая для понимания _детей_ парадигма объектно-ориентированного программирования, и доступное изложение материала.
Все хорошие родители знают, что главное — заинтересовать ребенка. Потом его можно оставить в покое, и он научится всему сам. В том числе алгоритмам, структурам данных и технологиям.
ну абсолютно согласен по поводу страха перед «синими окошками»
Надо начинать наверно с высокоуровневых языков типи Руби, так как разобраться в понятиях типа указателей или делегатов довлоьно сложно.
Да… прогресс не стоит на месте, и мы уже можем рассуждать по поводу приоритета какого то языка в преподавании для школьников. Когда я заканчивал школу, у нас на ВЦ стояли шесть УКНЦ (Электроника МС 0511), с одним флоповодом на всех… И пределом программы на бэйсике строк эдак в 50-60… Правда это было лет 10 назад :)
Очень хорошо что ребятам стали доступны современные технологии. Только вот равнение на середничков было и будет всегда. А книга именно для таких. Кому не интересно будет слишком сложно, кому интересно будет слишком мало.
Что я не понял, они хотят учить не академическому программированию, а промышленному кодированию? Не стоит удивляться, что ребята не будут понимать фундамент великой науки, а ведь она только зарождается.
сейчас усиленно пытался вспомнить, когда же я осознал что такое классы, чем отличаются приватные методы от пабликов, что такое xml и что такое db:) как человек заинтересованный в этом, я познал это дело до какой-то меры, когда я уже мог это как-то использовать, только наверное в 11 классе- 1 курсе, одноклассников вообще мало это как-то все интересовало. поэтому минимальный возраст, на мой взгляд, лет 15-16.

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

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

Публикации

Истории