Преподавание основы основ программирования. Как лучше?
От: Xobotik Россия  
Дата: 06.04.10 10:50
Оценка: :))) :)
Добрый день!

Перед до мной кафедра поставила задачу за три лекции обучить студентов основам программирования на C# в среде Microsoft Visual Studio 2008. Для того, чтобы они смогли сами решить следующие задачи:


В принципе структуру подачи материала я составил, только вопрос стоит как лучше объяснить такие основы как:


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

А на счет массивов, объяснять можно наверно на ожерелье из жемчужин, где на каждую жемчужину наклеена бумажка с номером (индексом).

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

Вот как объяснить все это, чтобы было понятно даже девушкам

Заранее спасибо!



06.04.10 18:52: Перенесено модератором из 'Философия программирования' — AndrewVK
С уважением!
Re: Типы-значения могут находиться в куче
От: Qbit86 Кипр
Дата: 06.04.10 11:03
Оценка:
Здравствуйте, Xobotik, Вы писали:

X>Можно конечно объяснить что одно в куче, другое в стеке...


...Но это будет неправильно.
Глаза у меня добрые, но рубашка — смирительная!
Re: Преподавание основы основ программирования. Как лучше?
От: nikov США http://www.linkedin.com/in/nikov
Дата: 06.04.10 11:06
Оценка: +2 -1
Здравствуйте, Xobotik, Вы писали:

X>Ссылочный тип и тип значение я как бы не представляю как отразить. Можно конечно объяснить что одно в куче, другое в стеке


... и это будет ошибочное объяснение. Гораздо правильнее заглянуть в спецификацию C# и посмотреть, как это объяснено там.
Re[2]: Типы-значения могут находиться в куче
От: Xobotik Россия  
Дата: 06.04.10 11:19
Оценка:
Здравствуйте, Qbit86, Вы писали:

Q>Здравствуйте, Xobotik, Вы писали:


X>>Можно конечно объяснить что одно в куче, другое в стеке...


Q>...Но это будет неправильно.


Ошибся.
С уважением!
Re[2]: Преподавание основы основ программирования. Как лучше
От: Xobotik Россия  
Дата: 06.04.10 11:20
Оценка:
Здравствуйте, nikov, Вы писали:

N>Здравствуйте, Xobotik, Вы писали:


X>>Ссылочный тип и тип значение я как бы не представляю как отразить. Можно конечно объяснить что одно в куче, другое в стеке


N>... и это будет ошибочное объяснение. Гораздо правильнее заглянуть в спецификацию C# и посмотреть, как это объяснено там.


как будто в спецификации написано для дебилов.
С уважением!
Re[3]: Преподавание основы основ программирования. Как лучше
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 06.04.10 11:26
Оценка:
Здравствуйте, Xobotik, Вы писали:

X>Здравствуйте, nikov, Вы писали:


N>>Здравствуйте, Xobotik, Вы писали:


X>>>Ссылочный тип и тип значение я как бы не представляю как отразить. Можно конечно объяснить что одно в куче, другое в стеке


N>>... и это будет ошибочное объяснение. Гораздо правильнее заглянуть в спецификацию C# и посмотреть, как это объяснено там.


X>как будто в спецификации написано для дебилов.


Я так понимаю что в вузе недибилы учатся.
Re[2]: Преподавание основы основ программирования. Как лучше
От: Xobotik Россия  
Дата: 06.04.10 11:29
Оценка:
Здравствуйте, nikov, Вы писали:

N>Здравствуйте, Xobotik, Вы писали:


X>>Ссылочный тип и тип значение я как бы не представляю как отразить. Можно конечно объяснить что одно в куче, другое в стеке


N>... и это будет ошибочное объяснение. Гораздо правильнее заглянуть в спецификацию C# и посмотреть, как это объяснено там.


Можно вообще ничего не объяснять, дать спецификацию и сказать читайте, там все написано. Вопрос в другом стоял, как лучше объяснить основы, чтобы все поняли
С уважением!
Re: Преподавание основы основ программирования. Как лучше?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 06.04.10 11:30
Оценка: +2
Здравствуйте, Xobotik, Вы писали:

X>В принципе структуру подачи материала я составил, только вопрос стоит как лучше объяснить такие основы как

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

X>
Сомневаюсь что в этом случае вообще надо объяснять отличия ссылочных типов от value-типов.
Re[4]: Преподавание основы основ программирования. Как лучше
От: MozgC США http://nightcoder.livejournal.com
Дата: 06.04.10 11:30
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Я так понимаю что в вузе недибилы учатся.


Не хочу поднимать холивар.. Но это раньше наверное в ВУЗах недебилы учились. А щас там учатся все. К сожалению.
Re[4]: Преподавание основы основ программирования. Как лучше
От: Xobotik Россия  
Дата: 06.04.10 11:31
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Я так понимаю что в вузе недибилы учатся.


Да, только основы программирования не понимают.
С уважением!
Re[5]: Преподавание основы основ программирования. Как лучше
От: Xobotik Россия  
Дата: 06.04.10 11:32
Оценка:
Здравствуйте, MozgC, Вы писали:

MC>Здравствуйте, gandjustas, Вы писали:


G>>Я так понимаю что в вузе недибилы учатся.


MC>Не хочу поднимать холивар.. Но это раньше наверное в ВУЗах недебилы учились. А щас там учатся все. К сожалению.


Вы абсолютно правы.
С уважением!
Re[3]: Преподавание основы основ программирования. Как лучше
От: nikov США http://www.linkedin.com/in/nikov
Дата: 06.04.10 11:34
Оценка: +3 -1
Здравствуйте, Xobotik, Вы писали:

X>>>Ссылочный тип и тип значение я как бы не представляю как отразить. Можно конечно объяснить что одно в куче, другое в стеке


N>>... и это будет ошибочное объяснение. Гораздо правильнее заглянуть в спецификацию C# и посмотреть, как это объяснено там.


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


Лучше дать правильное объяснение, которое поймут умные студенты, чем дать неправильное, которое поймут все.
Re[2]: Преподавание основы основ программирования. Как лучше
От: Xobotik Россия  
Дата: 06.04.10 11:41
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Здравствуйте, Xobotik, Вы писали:


X>>В принципе структуру подачи материала я составил, только вопрос стоит как лучше объяснить такие основы как

G>Не указал предусловия, какой год обучения, какие программистские курсы до этого были, какие математические курсы до этого были, что за вуз вообще.

МИРЭА. Третий курс. Год поступления 2007. Курсы что были, что их не было — это равносильно (это касается только курсов связанных напрямую с программированием). Ну а вообще были следующие курсы математические:

    1) Математический анализ от дифференциального исчисления до ТФКП.
    2) Основы дискретной математике.
    3) Дифференциальные уравнения.
    4) Математическая логика и теория автоматов.
    5) Теория вероятностей.
    6) Линейная алгебра.
    7) Аналитическая геометрия.
    8) Вычислительная математика.

Курсы связанные с программированием:
    1) Информатика.
    2) Основы программирования.
    3) Объектно-ориентированное программирование.
    4) Технология программирования.

X>>
G>Сомневаюсь что в этом случае вообще надо объяснять отличия ссылочных типов от value-типов.

Наверно да.
С уважением!
Re[4]: Преподавание основы основ программирования. Как лучше
От: Xobotik Россия  
Дата: 06.04.10 11:43
Оценка:
Здравствуйте, nikov, Вы писали:

N>Здравствуйте, Xobotik, Вы писали:


X>>>>Ссылочный тип и тип значение я как бы не представляю как отразить. Можно конечно объяснить что одно в куче, другое в стеке


N>>>... и это будет ошибочное объяснение. Гораздо правильнее заглянуть в спецификацию C# и посмотреть, как это объяснено там.


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


N>Лучше дать правильное объяснение, которое поймут умные студенты, чем дать неправильное, которое поймут все.


Умных нет.
С уважением!
Re[4]: Преподавание основы основ программирования. Как лучше
От: Xobotik Россия  
Дата: 06.04.10 11:46
Оценка:
Здравствуйте, nikov, Вы писали:

N>Здравствуйте, Xobotik, Вы писали:


X>>>>Ссылочный тип и тип значение я как бы не представляю как отразить. Можно конечно объяснить что одно в куче, другое в стеке


N>>>... и это будет ошибочное объяснение. Гораздо правильнее заглянуть в спецификацию C# и посмотреть, как это объяснено там.


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


N>Лучше дать правильное объяснение, которое поймут умные студенты, чем дать неправильное, которое поймут все.




Если на самом деле не задумываться как ты даешь понятно или нет правильное объяснение, тем больше вероятность, что тебя вообще никто не поймет.
С уважением!
Re[3]: Преподавание основы основ программирования. Как лучше
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 06.04.10 11:48
Оценка:
Здравствуйте, Xobotik, Вы писали:

X>МИРЭА. Третий курс. Год поступления 2007. Курсы что были, что их не было — это равносильно (это касается только курсов связанных напрямую с программированием). Ну а вообще были следующие курсы математические:


X>

    X>1) Математический анализ от дифференциального исчисления до ТФКП.
    X>2) Основы дискретной математике.
    X>3) Дифференциальные уравнения.
    X>4) Математическая логика и теория автоматов.
    X>5) Теория вероятностей.
    X>6) Линейная алгебра.
    X>7) Аналитическая геометрия.
    X>8) Вычислительная математика.
    X>

X>Курсы связанные с программированием:

X>

    X>1) Информатика.
    X>2) Основы программирования.
    X>3) Объектно-ориентированное программирование.
    X>4) Технология программирования.
    X>

Ну тогда думаю переменные и массивы они знают, и запись x.ToString() тоже осилят.
Re[4]: Преподавание основы основ программирования. Как лучше
От: Xobotik Россия  
Дата: 06.04.10 11:51
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Здравствуйте, Xobotik, Вы писали:


X>>МИРЭА. Третий курс. Год поступления 2007. Курсы что были, что их не было — это равносильно (это касается только курсов связанных напрямую с программированием). Ну а вообще были следующие курсы математические:


X>>

    X>>1) Математический анализ от дифференциального исчисления до ТФКП.
    X>>2) Основы дискретной математике.
    X>>3) Дифференциальные уравнения.
    X>>4) Математическая логика и теория автоматов.
    X>>5) Теория вероятностей.
    X>>6) Линейная алгебра.
    X>>7) Аналитическая геометрия.
    X>>8) Вычислительная математика.
    X>>

X>>Курсы связанные с программированием:

X>>

    X>>1) Информатика.
    X>>2) Основы программирования.
    X>>3) Объектно-ориентированное программирование.
    X>>4) Технология программирования.
    X>>

G>Ну тогда думаю переменные и массивы они знают, и запись x.ToString() тоже осилят.


Если бы они знали, то я бы сюда не обращался.
С уважением!
Re[5]: Преподавание основы основ программирования. Как лучше
От: Lexxpin  
Дата: 06.04.10 11:53
Оценка:
X>Умных нет.
Тогда не все ли равно как объяснять?
Re[6]: Преподавание основы основ программирования. Как лучше
От: Xobotik Россия  
Дата: 06.04.10 11:55
Оценка:
Здравствуйте, Lexxpin, Вы писали:

X>>Умных нет.

L>Тогда не все ли равно как объяснять?

Если относится с полной ответственностью к делу, тогда не все равно.
С уважением!
Re[7]: Преподавание основы основ программирования. Как лучше
От: Lexxpin  
Дата: 06.04.10 12:00
Оценка: -1
X>Если относится с полной ответственностью к делу, тогда не все равно.
К 3 курсу не осилить что такое переменная, надо постараться. Забей.
Даже если твой курс будет идеальным, они все равно не вынесут из него ничего.

ЗЫ. А сейчас модно дублировать курсы в ВУЗах?
Я учился два года назад, те кто не усвоил курс предыдущего года, это были их трудности.
Препод априори ориентировался, что студент должен знать прошлый курс.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.