Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Вниз

Язык Си и начальное обучение программированию   Найти похожие ветки 

 
Kerk ©   (2010-02-23 02:13) [40]


> Юрий Зотов ©   (23.02.10 02:10) [39]
>
> > GDI+   (23.02.10 02:00) [37]
>
> Откуда дровишки?

Не знаю за всех. Но много шума в свое время наделала такая новость:

Why MIT switched from Scheme to Python
http://www.wisdomandwonder.com/link/2110/why-mit-switched-from-scheme-to-python


 
Kerk ©   (2010-02-23 02:13) [41]

Речь именно о "introductory programming course"


 
Германн ©   (2010-02-23 02:15) [42]


> Юрий Зотов ©   (23.02.10 02:08) [38]

ЮЗ отреагировал на [36]. Очередь за ИШ. :)


 
Игорь Шевченко ©   (2010-02-23 02:18) [43]

Юрий Зотов ©   (23.02.10 02:08) [38]

По сабжу я давно высказался. А беседую я по теме, начатой тобой о сишниках и паскале. Так как оба языка знаю :)

Юрий Зотов ©   (23.02.10 02:10) [39]


> Откуда дровишки?


Очевидно отсюда:
http://local.joelonsoftware.com/wiki/Опасности_обучения_на_Java


 
Игорь Шевченко ©   (2010-02-23 02:19) [44]

Германн ©   (23.02.10 02:15) [42]

Ты попкорн не забудь


 
Германн ©   (2010-02-23 02:30) [45]


> Игорь Шевченко ©   (23.02.10 02:19) [44]
>
> Германн ©   (23.02.10 02:15) [42]
>
> Ты попкорн не забудь
>

Эту гадость я не потребляю! И кинотеатры в последние времена ненавижу именно из-за неё. :)


 
Германн ©   (2010-02-23 02:49) [46]


> Игорь Шевченко ©   (23.02.10 02:18) [43]
>
> Юрий Зотов ©   (23.02.10 02:08) [38]
>
> По сабжу я давно высказался. А беседую я по теме, начатой
> тобой о сишниках и паскале.

Не-а. Холивар начал ты, Игорь.
В Игорь Шевченко ©   (22.02.10 23:47) [23]


 
Mystic ©   (2010-02-23 09:42) [47]


> А С++ - там вполне адекватные строки делаются, через теже
> шаблоны. И получается ни чуть не хуже чем Дельфи строки.
>  Иногда даже удобнее.


Броблема в том, что строки из STL стали стандартом после того, как многие сделали свои велосипеды. Если проект сложный и в нем используется много таких библиотек, то возникает определенные геморрой. Плюс еще API, где нужны ANSI строки. Плюс при отладке не всегда просто определить, что там за строка в строке.


 
asail ©   (2010-02-23 11:03) [48]


> Юрий Зотов ©   (23.02.10 02:10) [39]
>
> > GDI+   (23.02.10 02:00) [37]
>
>
> Откуда дровишки?

Не знаю как в штатах, а у нас в "Открытом Университете" курс "Введение а компьютерные науки" включал на выбор Pascal/C++/Java. Причем, давно уже. Лет 5 как. Как в других ВУЗах точно не знаю. Но, думаю, что так-же.


 
@!!ex ©   (2010-02-23 11:13) [49]

> [47] Mystic ©   (23.02.10 09:42)

STL строки не лучшая реализация.


 
Кто б сомневался ©   (2010-02-23 13:32) [50]


> @!!ex ©   (22.02.10 23:59) [25]
>
> По поводу преподавания:
> Дети далекие от программирования ваши объяснения про функции,
>  неймспейсы, циклы etc. не примут.


Ох блин ты и объясняешь запутанно, бедные дети..
Нежели не проще сделать так:

Рассказываешь о том как делается программа, без функций. А потом просто приводишь пример, в котором код из 10 строчек используется два раза.
В итоге получаем код из 20 строчек.

Код 1
{код A код из 20 строк}
код 3
{код A - 20 строк - повтор }

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


 
@!!ex ©   (2010-02-23 13:42) [51]

> [50] Кто б сомневался ©   (23.02.10 13:32)

Так это следующий этап. Сначала надо рассказать ЧТО такое функция.
Объясняю сложно, а понимают вроде хорошо. :)


 
Кто б сомневался ©   (2010-02-23 13:44) [52]


> @!!ex ©   (23.02.10 13:42) [51]


Так вот именно что прежде всего для этого функция и нужна.
Чтобы можно было вызвать один и тот же код одной строкой много раз.


 
Kerk ©   (2010-02-23 13:51) [53]


> Кто б сомневался ©   (23.02.10 13:44) [52]
>
> Так вот именно что прежде всего для этого функция и нужна.
> Чтобы можно было вызвать один и тот же код одной строкой
> много раз.

(делая туповатое лицо) А разве для этого не циклы нужны?


 
Кто б сомневался ©   (2010-02-23 13:53) [54]


> Kerk ©   (23.02.10 13:51) [53]


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


 
Аноним ©   (2010-02-23 13:56) [55]

лисп или пролог, без вариантов :-))
а двоечников насиловать хаскеллом :-)


 
@!!ex ©   (2010-02-23 13:56) [56]

> [52] Кто б сомневался ©   (23.02.10 13:44)

Функция - это в первую очередь объект(в народных терминах) способный выполнять некоторую работу.

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


 
Кто б сомневался ©   (2010-02-23 14:06) [57]


> чем абстрактное "уменьшение стро кода".


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


 
@!!ex ©   (2010-02-23 14:41) [58]

> [57] Кто б сомневался ©   (23.02.10 14:06)

Так проще для понимания.


 
oxffff ©   (2010-02-23 14:42) [59]


> Аноним ©   (23.02.10 13:56) [55]
> лисп или пролог, без вариантов :-))
> а двоечников насиловать хаскеллом :-)


Комбинатором неподвижной точки им. Комбинатором.
Что бы поняли что такое функция высших порядков.


 
Loginov Dmitry ©   (2010-02-23 15:30) [60]


> Паскаль vs Cи в обучении. Интересная статья.
> http://www.stolyarov.info/files/anti_c.pdf


Отличный материал! Практически со всеми пунктами согласен. Иногда приходится вести паскаль у первокурсников, уровень действительно у них после школы в основном нулевой (на 95 %). Объяснять им паскаль весьма сложно. А на счет Си я даже не представляю, как это можно объяснить, чтобы хоть кто-то что-нибудь понял. Иногда приходится по этому вопросу спорить с другими преподавателями, и эта статья будет отличным аргументом :)

>
> Преподаватель, который не способен рассказать ламеру про
> ЗдравствуйМир, - профнепрегоден, разве не очевидно?


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


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


Ну попробуйте попреподавать первому курсу на Pascal, на Си, на Java, на C#, а потом поделитесь своими впечатлениями.


> Вот поэтому программы структурируют. Группы всех этих инструкций
> объединяют в так называемые функции, а функции - модули.
>  5 минут схема на доске. Рассказать, что функция может возвражать
> значение и принимать аргументы.


Поверьте, бесполезно 1-му курсу на вводном уроке объяснять что такое "структурирование", "функции", "модули", "аргументы", "возвращаемое значение". Вас никто не поймет (кроме гуру очкарика). К функциям необходимо готовить постепенно, уже после того, как студенты освоят ввод/вывод, операторы ветвления, циклы, массивы. Необходимо подготовить практические примеры, убедительно доказывающие, что данную задачу следует решать с помощью функции. Если будете торопиться, то все ваши объяснения студенты воспримут как пустой звук.


> Такое понимается неподготовленным человеком, если он того
> хочет


Вы заблуждаетесь! Во первых студент 1-го курса - это вчерашний школьник. Он еще сам не знает, чего он хочет. Задача преподавателя - заинтересовать его, а не отбивать всю охоту к изучению этого предмета на первом же занятии.


 
TUser ©   (2010-02-23 16:14) [61]

Loginov Dmitry ©   (23.02.10 15:30) [60]

> Преподаватель, который не способен рассказать ламеру про
> ЗдравствуйМир, - профнепрегоден, разве не очевидно?

Вы заблуждаетесь. Всегда есть часть студентов, которым даже ЗдравствуйМир объяснить нереально. Не знаю, может болезнь у них какая (рассеянность или еще что), они не запоминают материал. А некоторые просто неизлечимые лентяи.


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

Вообще, имхо, в ВУЗе ориентироваться на аутсайдеров в преподавании как-то неправильно. Да и в школе далеко не всегда уместно.

Во первых студент 1-го курса - это вчерашний школьник.

У нас на факультете (биоинженерии и биоинформатики, то есть это биологи, с эдаким компьютерным уклоном) начинают учить программировать на втором курсе (не я). То есть это не школьник уже, но от программизма все, кроме очкариков, далеки бесконечно. Учат на джаве. Ессно, они сразу сталкиваются аж с ООП. Уж не знаю, как им там рассказывают про мир, но вроде через семестр они программят. Сам видел, как на пересдаче (то есть, наверное, не самые сильные) квиксорт писали, ну то есть понимают они и что такое цикл, и что такое функции. Мне кажется, такой пример опровергает построения типа "вчерашнему школьнику нереально объяснить язык ххх или конструкцию ууу".


 
TUser ©   (2010-02-23 16:41) [62]

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

Заклинание 1

/*
This is simple Java Program
*/
class Example
{
 public static void main(String args[])
{
  System.out.println("Simple Java program");
//  System.out.println("Test Java program");
}
}


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

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


 
Игорь Шевченко ©   (2010-02-23 19:29) [63]

TUser ©   (23.02.10 16:14) [61]

Плоды преподавания особенно хорошо заметны в конференции "Начинающим" ближе к новому году и к концу мая. Неважно на чем, на паскале, на С, на Java.

Я в принципе не понимаю, зачем всех (студентов) учить программированию. Школьников понятно - им кругозор надо расширять.


 
Аноним ©   (2010-02-23 19:36) [64]


> Вы заблуждаетесь. Всегда есть часть студентов, которым даже
> ЗдравствуйМир объяснить нереально.

зачем таким объяснять то?
в любом случае, это уже не программист
все равно, что юрист с амнезией


 
Аноним ©   (2010-02-23 19:37) [65]


> Я в принципе не понимаю, зачем всех (студентов) учить программированию.

вот, полностью поддерживаю


 
Eraser ©   (2010-02-23 19:54) [66]

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


 
Аноним ©   (2010-02-23 20:05) [67]


> ошиблись при выборе специальности

я об этом и говорил
и их надо не насиловать, вытягивая на тройки, а дать это понять
когда я учился, у нас в группе из 31го человека выпустилось 16 человек, а программистами работают 3е, еще 3е админами


 
Eraser ©   (2010-02-23 20:09) [68]

> [67] Аноним ©   (23.02.10 20:05)


> и их надо не насиловать, вытягивая на тройки, а дать это
> понять

думаю тогда руководство вуза даст понять преподавателю, что в его услугах не нуждается, в этом и есть гнилость системы ;-)
опять же, куда смотрел вуз (или система образования), когда принимали на данную конкретную специальность, данных конкретных студентов?


 
Аноним ©   (2010-02-23 20:13) [69]


> опять же, куда смотрел вуз (или система образования)

на деньги конечно :-)


 
GDI+   (2010-02-23 20:18) [70]


> Юрий Зотов ©   (23.02.10 02:10) [39]
>
> > GDI+   (23.02.10 02:00) [37]
>
> Откуда дровишки?


От Джоеля Спольски и его статистике по резюме приходящих к нему на работу.


 
TUser ©   (2010-02-23 20:24) [71]


> Плоды преподавания особенно хорошо заметны в конференции
> "Начинающим" ближе к новому году и к концу мая.

Сомневаюсь, что наши студенты ходят на этот форум :) А Нач. - там вопросы задают как раз те, кто хз что делает на специальности "программирование". Но таких нельзя научить, так что с ними пусть уч.часть разбирается. А у нормальных все получается - выше я об этом написал.

> Я в принципе не понимаю, зачем всех (студентов) учить программированию. Школьников понятно - им кругозор надо расширять.

Все студентов не надо. И никто всех не обучает. А всех студентов на программерской специальности - ну а как иначе? А вот со школьниками не соглашусь. Нафига программирование 99,9% населения, я искренне не знаю. Не говоря уже о том, что среднестатистический лирик вообще идет лесом в таком случае. То есть если обучать всех школьников, то либо у половины имеем двойку в четверти, либо приучаем к халяве.


 
Игорь Шевченко ©   (2010-02-23 21:01) [72]

TUser ©   (23.02.10 20:24) [71]


> А вот со школьниками не соглашусь. Нафига программирование
> 99,9% населения, я искренне не знаю. Не говоря уже о том,
>  что среднестатистический лирик вообще идет лесом в таком
> случае


Физика вроде как входит в школьную программу. А лирикам она туда же не нужна, куда и программирование. Тем не менее, без двоек как-то пытаются жить. А уж насколько физикам нужна ботаника - так в вовсе не нужна. Однако учат. Так и с программированием/информатикой. Хоть и немного разыне вещи, но тем не менее, кругозор надо расширять.


> Сомневаюсь, что наши студенты ходят на этот форум :)


А ты не сомневайся.


 
Игорь Шевченко ©   (2010-02-23 21:02) [73]

Eraser ©   (23.02.10 19:54) [66]


> отчасти из-за ущербности и узости школьного образования


Чем же школьное образование узко и ущербно, поделись ?


 
TUser ©   (2010-02-23 21:30) [74]


> Физика вроде как входит в школьную программу. А лирикам
> она туда же не нужна, куда и программирование. Тем не менее,
>  без двоек как-то пытаются жить. А уж насколько физикам
> нужна ботаника - так в вовсе не нужна. Однако учат. Так
> и с программированием/информатикой. Хоть и немного разыне
> вещи, но тем не менее, кругозор надо расширять.

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

1. Когда началась ВОВ.
2. В чем состоит третий закон Ньютона.

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

3. Какие алгоритмы филогенетической реконструкции используют гипотезу молекулярных часов.
4. Чем отличается индекс возрастной аккумуляции Мьерса от индекса Уипла.

Понятно, что отнесение конкретного вопроса в ту или иную категорию, - дело субъективное. Понятно также, что если опросить профессионалов (в области истории, физики, биологии, демографии, программирования, etc), что из своей области они считают входящим в первую категорию знаний, а потом все полученные списки сконкатенировать, то окажется, что образованных людей с широким кругозором в природе не существует, - одни неучи. :) Отсюда ясно, что выдумывая некий "список кругозора" для реальных людей, а не супер-образованных ботанов с вывихнутым мозгом, стоит внимательно подойти к выбору вопросов, в оный список входящий, отсеивая многое интересное и даже полезное. Я, например, программирование к категории "общечеловеческих ценностей" не отношу.


 
Kerk ©   (2010-02-23 21:32) [75]


> Я, например, программирование к категории "общечеловеческих
> ценностей" не отношу.

Ну да. Логическое мышление вообще редко относят к "общечеловеческим ценностям" :)


 
Игорь Шевченко ©   (2010-02-23 21:45) [76]

TUser ©   (23.02.10 21:30) [74]


> Я, например, программирование к категории "общечеловеческих
> ценностей" не отношу.


А ботанику ?


 
GDI+   (2010-02-23 21:46) [77]


> TUser ©   (23.02.10 20:24) [71]


Еще проблемы русского языка могут мешать. Так как, к примеру, есть такой термин как поток выполнения и поток данных. А когда говоришь поток, то в отрыве от контекста очень сложно понять о чём говорит человек. Это нагружает мозг ненужной информацией.

Почему в США больше хороших программистов - потому что американский английский очень лёгкий язык в котором все структурировано и он учит не нагружать мозг бесполезными вещами.


 
GDI+   (2010-02-23 21:51) [78]


> Игорь Шевченко ©   (23.02.10 21:45) [76]
>
> А ботанику ?


Чем больше в школе "расширяют кругозор" среднего ученика путем зазубривания вместо понимания тем больше потом появляется адептов торсионных генераторов и чудодейственных лекарств. Так как у данного ученика иллюзия всезнания.


> 3. Какие алгоритмы филогенетической реконструкции используют
> гипотезу молекулярных часов.
> 4. Чем отличается индекс возрастной аккумуляции Мьерса от
> индекса Уипла.


А обычный обыватель скажет: от тупые ученые, почитайте Мулдашева там все сказано, как запустили лемурийцы атомные часы у человеческой расы, так они и тикают до 2012 года.


 
Игорь Шевченко ©   (2010-02-23 22:05) [79]

GDI+   (23.02.10 21:46) [77]
GDI+   (23.02.10 21:51) [78]

Не позорься


 
Loginov Dmitry ©   (2010-02-23 23:00) [80]


> Почему в США больше хороших программистов - потому что американский
> английский очень лёгкий язык в котором все структурировано
> и он учит не нагружать мозг бесполезными вещами.


Вот это:


> А когда говоришь поток, то в отрыве от контекста очень сложно
> понять о чём говорит человек. Это нагружает мозг ненужной
> информацией.


к английскому языку относится не в меньшей степени, чем к русскому.



Страницы: 1 2 3 вся ветка

Форум: "Прочее";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.65 MB
Время: 0.065 c
3-1242910124
Fedor
2009-05-21 16:48
2010.08.27
Запрос на выборку


15-1267134756
Кто б сомневался
2010-02-26 00:52
2010.08.27
Реклама Microsoft


15-1273123334
oldman
2010-05-06 09:22
2010.08.27
картинка, потрясающая воображение...


2-1273151484
Danco
2010-05-06 17:11
2010.08.27
Сохранение TreeView в текст


11-1221509060
tsugi
2008-09-16 00:04
2010.08.27
D2009





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский