[image]

Логика школьного курса информатики

проработка, требуется мнение профессионалов
 
1 4 5 6 7 8 9 10
RU yacc #22.07.2010 23:01  @Сергей-4030#22.07.2010 22:39
+
-
edit
 

yacc

старожил
★★★
Сергей-4030> А почему "ориентированный" выделен? Имеется в виду - объектный нужен, а объектно-ориентированный - нет? А почему?
Объектный - тот же VBA - там есть объекты. Т.е. использовать объекты, как компоненты - не так страшно. А ориентированный - что и саму программу надо оформлять в виде объекта.
Типа C#:
public class Hello1
{
public static void Main()
{
System.Console.WriteLine("Hello, World!");
}
}
Когда человек только начинает делать шаги в ЯП - это нахрен не нужно.
Выделенное - абсолютно излишне.
Тоже и Java касается.
Вот С++ или Python позволяют использовать как процедурный так и ОО подход. Начинающему более чем процедурный - не нужен.
   3.5.93.5.9
RU Спокойный_Тип #22.07.2010 23:02  @Сергей-4030#22.07.2010 22:49
+
-
edit
 
Сергей-4030> Почему? Ничуть не согласен. В таком подходе, если идти до логического конца, сначала надо ФС написать.

а причем тут ФС?? есть куча компов без ФС, банально ПО зашито в ПЗУ которое в одном адресном пространстве с ОЗУ
вот как раз ФС это совсем не обязательное условие для компа
процессора который умеет выполнять хранимую программу + памяти для кода программы и данных - вполне хватает

в том и дело что нужно отбросить всё лишнее и показать суть программирования, так что бы это поняла 11классница на последней парте

вот в чём суть? в эвентах? в ФС? ))
   3.6.63.6.6
RU yacc #22.07.2010 23:08  @Сергей-4030#22.07.2010 22:49
+
-
edit
 

yacc

старожил
★★★
Спокойный_Тип>> языки с эвентами должен идти после обычного языка, возможно для тех кому нужно писать программы с эвентами
Сергей-4030> Почему? Ничуть не согласен.
А я согласен. Для начала нужно показать и дать "пощупать" обычные сущности - циклы, условия, работу с переменными. И в том же Экселе это - наглядно. Бо поле переменных - лист. Тот же массив - набор ячеек листа. Один раз показать как заставить по кнопочке работать процедуру ( даже тупо "сделай так, так и так... и будет тебе счастье" ) - достаточно. Даже ввод/вывод не нужен - бо сам лист и является и вводом и выводом.
   3.5.93.5.9
US Сергей-4030 #22.07.2010 23:22  @yacc#22.07.2010 23:01
+
-
edit
 

Сергей-4030

исключающий третье
★★
Сергей-4030>> А почему "ориентированный" выделен? Имеется в виду - объектный нужен, а объектно-ориентированный - нет? А почему?
yacc> Объектный - тот же VBA - там есть объекты. Т.е. использовать объекты, как компоненты - не так страшно. А ориентированный - что и саму программу надо оформлять в виде объекта.

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

yacc>А я согласен. Для начала нужно показать и дать "пощупать" обычные сущности - циклы, условия, работу с переменными.

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

Спокойный Тип>а причем тут ФС?? есть куча компов без ФС, банально ПО зашито в ПЗУ которое в одном адресном пространстве с ОЗУ вот как раз ФС это совсем не обязательное условие для компа

А к чему вы все это сказали? Разговор был о том, как код школьника запускать - по событию, или из файла брать. При чем тут компы без ФС?
   5.0.375.995.0.375.99
RU Спокойный_Тип #22.07.2010 23:40  @Сергей-4030#22.07.2010 23:22
+
-
edit
 
Сергей-4030> А к чему вы все это сказали? Разговор был о том, как код школьника запускать - по событию, или из файла брать. При чем тут компы без ФС?

притом что кто-то сказал что без ФС никуда, а какая связь ФС и программирования? ФС это кузнец как и эвенты, лишние сущности которые только запутают
можно потом назвать тему "архитектура многозадачных ОС и современные средства разработки под них" и там рассказать про эвенты и всё такое
если сразу дать - банально будет не понятно, очень не понятно
   3.6.63.6.6
RU yacc #22.07.2010 23:44  @Сергей-4030#22.07.2010 23:22
+
-
edit
 

yacc

старожил
★★★
Сергей-4030> У вас... эээ... путаница в терминах произошла. ;)
возможно :)
Сергей-4030>В традиции как советской, так и мировой компьютерной науки объектно-ориентированный язык отличается от объектного не тем, как программу оформлять, а тем, что объектный включает инкапсуляцию, но не наследование (и соответственно не полиморфизм).
Даже инкапсуляция при написании своего кода начинающему излишняя. Ему более чем доступные методы/члены некого объекта, выражающего понятную ему конкретную сущность - ( application , sheet ) - не нужны. А уж про наследование - отдельная песня. Дело все в том, что наличие ООП накладывает отпечаток на синтаксис программы и в случае C#/Java - очень сильный и избыточный начинающему.


Сергей-4030>А не, как вы вероятно думали, "объектный - это по-настоящему крутой, а объектно-ориентированный - так, слабое подобие". ;)
Да я как бы не измеряю в таком "пространстве" :)

Сергей-4030> А кто-то запрещает "обычные сущности - циклы, условия, работу с переменными" - засунуть в евент? Школьник написал "обычные сущности", сунул в евент, нажал кнопку - оп-ля, вот он, результат.
В простейшем случае в VBA без эвентов не обойтись - надо делать кнопку. Но для этого достаточно макросов - без создания форм.

Сергей-4030>В случае с файлом - школьник написал в файл, откомпилировал, слинковал, выполнил - оп-ля, вот он, тот же самый результат, только после абсолютно лишних телодвижений.
В случае с файлом - либо "эзотерический" вызов командной строки на исполнение, типа
" у вас есть файл 1.py чтобы его запустить надо набрать python 1.py", либо вызов среды "откройте файл 1.pas и сделайте 'исполнить'"
Так или иначе - такое будет.

Суть - сделать как можно проще.
   3.5.93.5.9
US Сергей-4030 #22.07.2010 23:49  @спокойный тип#22.07.2010 23:40
+
-
edit
 

Сергей-4030

исключающий третье
★★
Сергей-4030>> А к чему вы все это сказали? Разговор был о том, как код школьника запускать - по событию, или из файла брать. При чем тут компы без ФС?
Спокойный_Тип> притом что кто-то сказал что без ФС никуда, а какая связь ФС и программирования?

Вы сказали, что типа по евенту - это недостаточно глубоко (по контексту - школьник не понимает, как система забирает и исполняет его код по евенту). В этом контексте ФС ничуть не лучше - школьник точно так же не понимает, как система берет его код из файла и исполняет по команде. Если вам надо глубоко - надо сначала объяснить, как работает ФС, компилятор, линкер, загрузчик и т.п. и т.д. Если вы объяснять это не хотите - чем по евенту хуже?
   5.0.375.995.0.375.99
GB Vale #23.07.2010 00:04  @Сергей-4030#22.07.2010 23:49
+
-
edit
 

Vale

Сальсолёт
★☆
И зачем это все - ОБЫЧНОМУ, не продвинутому школьнику?

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

А про регистры, шину, кэш, АЛУ, и прочее - это все в ВВУЗ или ССУЗ. Или в необязательные разделы школьного курса.
   3.5.73.5.7
Это сообщение редактировалось 23.07.2010 в 00:39
RU Dem_anywhere #23.07.2010 03:47  @yacc#22.07.2010 14:54
+
-
edit
 

Dem_anywhere

аксакал
★☆

yacc> это все равно понятнее чем префикс "трах-тибидох-тебе-трах" ( public static void ) и без всяких импортов. Объектно - ориентированный язык школьнику не нужен.
А вот это из "учебного" языка действительно можно убрать. Как жаваскрипт из жавы сделали, помним? Убрали обвязку, убрали типы данных...
Но объектно-ориентированность вполне осталась...

pokos> Всё бы ничего, но компьютерные перья меняются по нескольку раз в год.
Уже - нет. тому же дотнету уже почти десяток лет, а если приплюсовать жаву, из которой он вырос - и того больше. И никаких принципиальных изменений в синтаксисе не произошло.

Спокойный_Тип> языки с эвентами должен идти после обычного языка, возможно для тех кому нужно писать программы с эвентами
Спокойный_Тип> это не программирование для начинающих
Так разница на пальцах за пять минут объясняется. "когда произойдёт это - выполнится этот код, а когда то - тот."
   3.5.113.5.11
+
+1
-
edit
 

Vale

Сальсолёт
★☆
Повторюсь - ИМХО, язык должен выглядеть практически как Паскаль, но без определяемых пользователем процедур, функций и прочего. Если есть встроенные процедуры - то с передачей параметров только по значению.
По факту нечто такое

code text
  1. program squares;
  2. var
  3.  i,n:int;
  4. const
  5.  s:string="Введите верхнюю границу:";;
  6. begin
  7. print (s);
  8. read n;
  9. print("\n");
  10. for i:=1 to n
  11.    begin  
  12.    if (i>255) then exit(-1);
  13.    print (i,"\t",i*i,"\n");
  14.    end;
  15. end;


Должно быть чуть ли не пределом сложности кода, который школьник должен уметь написать САМОСТОЯТЕЛЬНО. Количество ключевых слов должно быть сведено до абсолютнейшего минимума. При этом - ничего из этого языка не должно быть лишним при переходе к Паскалю или всяким C#.
Три типа данных - int (64бит), float (он же double), string (AnsiString). Никаких ссылок.

Скажем, процедуры в процедурах в Паскале - по факту, вещь удобная, но лишняя.

Если вы считаете, чсто это слишком просто - аспиранты- биологи такой код писали с бооольшим скрипом.
   3.5.73.5.7
Это сообщение редактировалось 23.07.2010 в 04:41

pokos

аксакал

Dem_anywhere> ... И никаких принципиальных изменений в синтаксисе не произошло.
Да такой синтаксис ещё и менять??? Это ж застрелиться тогда сразу можно.
К тому же, перья бывают и другие, даже совсем другие, радикально.
   6.06.0

Полл

координатор
★★★★★
Vale> Правильно. Но почему тогда ты предлагаешь детям "учить сопромат", грубо говоря. Хотя им бы надо понимать - "зачем нужны болты и гайки".
Йок... АСМ - это и есть "болты и гайки", самый низ иерархии языков и сред программирования. Ты путаешь сложность работы на этом уровне с его эволюционной, идейной первичностью.

Vale> В чем некорректность вопроса?
Ты где-то встречал доказательство полезности изучения в школе географии, алгебры и биологии?
   

yacc

старожил
★★★
Полл> Йок... АСМ - это и есть "болты и гайки", самый низ иерархии языков и сред программирования. Ты путаешь сложность работы на этом уровне с его эволюционной, идейной первичностью.
Паша, ты собираешься читать историю информатики? :) Цель какая? - энциклопедические знания о том, "откуда ноги растут" ? :)
   3.0.193.0.19

Vale

Сальсолёт
★☆
Полл, Я когда-то на средненьком уровне знал ассемблер PDP-11, потом 386. И забыл за ненадобностью.

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

А как же, "основы!".

кто вообще тебе сказал, что в школе учат "основы" в том смысле, что лезут в корень всего сущего? В сколе дают основы, но в том смысле, что основные знания, без которых жить трудно. А на более глубоком уровне - пожалуйте в ВУЗ.
   3.5.73.5.7

Полл

координатор
★★★★★
yacc> Паша, ты собираешься читать историю информатики? :) Цель какая? - энциклопедические знания о том, "откуда ноги растут" ? :)
Ну вообще обзорно, ИМХО, требуется. Нам - читали, и именно на информатике. Но - позже, классе в 6-7.

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

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

Vale

Сальсолёт
★☆
Полл> Вале, ты не понимаешь меня. Языки программирования высокого уровня - это, в приложении к химии, какие-нибудь сложнейшие автоматизированные комплексы с сложными катализными реакциями. О да - очень просто и наглядно!!

Боюсь, у тебя проблемы с химией, в таком случае.
Аналог ассемблера - "кванты".
Аналог ЯВУ - таблица Менделеева. В которой электронная конфигурация атомов присутствует в не очень явном виде, и которая позволяет решать офигительную кучу практических задач без применения "наблы в квадрате", и даже без МО ЛКАО.
   3.5.73.5.7
Это сообщение редактировалось 23.07.2010 в 13:48
RU Dem_anywhere #23.07.2010 13:48  @Полл#23.07.2010 13:35
+
-
edit
 

Dem_anywhere

аксакал
★☆

Полл> Все понятно, детки?
Полл> Вот теперь вы изучили химию!
Ещё раз - чему мы собственно хотим детей научить?
Работать на компьютере или понимать как он устроен?
   3.5.113.5.11

Полл

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

Vale

Сальсолёт
★☆
Полл> Да, выходит - не знаю. Никогда не знал, что квантовая физика входит в химию. :)

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

А вообще, "все аналогии - хромают".
   3.5.73.5.7
+
-
edit
 

Полл

координатор
★★★★★
Dem_anywhere> Ещё раз - чему мы собственно хотим детей научить?
Хороший вопрос - половина ответа.

Dem_anywhere> Работать на компьютере или понимать как он устроен?
ИМХО - понимание того, как он устроен, что это не "волшебная шкатулка", а такой "механизм". И научить "учится работать на компьютере" - поскольку обновление поколений ПО и просто смена сферы деятельности будет требовать именно этого от человека, ИМХО: уметь обучатся работать с новым программным обеспечением.
   

Vale

Сальсолёт
★☆
Теперь обоснуй, зачем для этого вбивать в голову детям знание микроархитектуры какого-то конкретного процессора ("Ассемблер - это НЕ язык" (с)КО). Который за время написания и утверждения курса - заведомо устареет.
   3.5.73.5.7

Полл

координатор
★★★★★
Vale> В стандартный ВУЗовский курс обучения химии входит квантовая химия, которая по сути же - квантовая физика. Ядро в этом курсе не особо трогают, а вот электронные оболочки - по полной.
Ну и - в стандартный ВУЗовский курс обучения программирования входит топология микросхем. Отдельные элементы в этом курсе не особо трогают, а вот типовые блоки - по полной.

Vale> А вообще, "все аналогии - хромают".
"Аналогии - больше говорят об своем авторе, чем об предмете спора". :)
   

Vale

Сальсолёт
★☆
А еще в него входит физика, в которой рассматриваются вопросы функционирования транзисторов. Это БОЛЕЕ низкий уровень, так что :p
   3.5.73.5.7

Полл

координатор
★★★★★
Vale> Теперь обоснуй, зачем для этого вбивать в голову детям знание микроархитектуры какого-то конкретного процессора ("Ассемблер - это НЕ язык" (с)КО). Который за время написания и утверждения курса - заведомо устареет.

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

yacc

старожил
★★★
Полл> ИМХО: уметь обучатся работать с новым программным обеспечением.
ВО! Истину глаголешь! :)
... и ассемблер тут совершенно не нужен, когда куча пакетов имеет встроенные макроязыки сценариев - именно на них надо учить.
   3.0.193.0.19
1 4 5 6 7 8 9 10

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru