[image]

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

проработка, требуется мнение профессионалов
 
1 4 5 6 7 8 9 10

Полл

координатор
★★★★★

yacc> да не вижу я его! :)
Я понял. :)

yacc> Если ты заменишь управление мышкой и меню, на управление ассемблером - будет натуральная фигня. Вся красота, быстрота и интерес для ребенка сразу потеряются :)
А зачем? Потому что так исторически сложилось, что управление данными и командами в процессоре сделано текстовыми командами?
Но мы же тут не обучение школьников истории вычислительной техники обсуждаем, верно? :)
   

Vale

Сальсолёт
★☆
Объяснить, что такое бит.
Объяснить, что такое очередь
объяснить, что такое регистр.
Унять шум в классе.
Объяснить, что такое модуль
Убедиться, что все все поняли.
разбудить заснувших.

А потом -
Полл> Поместить бит из входящей очереди А в регистр 1, а из входящей очереди Б в регистр 2, провести суммирование по модулю 2 и результат поместить в регистр 4.

Но, да, типакруто.
   3.5.73.5.7

Полл

координатор
★★★★★

Vale> Объяснить, что такое очередь
Вале, ты давно не был дома. ;) Что такое "очередь" здесь в России дети узнают очень рано. :(
   

Vale

Сальсолёт
★☆
Посмотри фильм "Автостопом по Галактике", мож чего узнаешь про Англию. Сцена у вогонов, освобождение Триллиан. :p

"I am British, I know how to queue" :D
   3.5.73.5.7
Это сообщение редактировалось 23.07.2010 в 17:06

Полл

координатор
★★★★★

Vale> Посмотри фильм "Автостопом по Галактике", мож чего узнаешь про Англию.
Тут ты прав, про Остров я знаю мало. :) Мог быть сильно неправ, признаю.
   

yacc

старожил
★★★
Полл> А зачем? Потому что так исторически сложилось, что управление данными и командами в процессоре сделано текстовыми командами?
Ты же ассемблеру собрался учить? - значит синтаксис должен быть его.
Полистай журнал Радио за 80-е, где к Микроше/Радио-86РК были листинги - там вообще шеснадцатиричка была - именно так ее понимает процессор.
Полл> Но мы же тут не обучение школьников истории вычислительной техники обсуждаем, верно? :)
Пока что-то этого не вижу - пока что вижу что тебе нравится ассемблер :)
   3.0.193.0.19

Полл

координатор
★★★★★

yacc> Ты же ассемблеру собрался учить? - значит синтаксис должен быть его.
Прикладник...
Я собрался ребенка учить. А не кодера обучать. ;)
   

Vale

Сальсолёт
★☆
Дело не в этом, а дело в том, что очередь в компе реализуется не так, как в жизни. Значит - запиши в план еще указатели :)
   3.5.73.5.7

Полл

координатор
★★★★★

Vale> Дело не в этом, а дело в том, что очередь в компе реализуется не так, как в жизни. Значит - запиши в план еще указатели :)
В Британии система электронной очереди еще не широко распространена? У нас когда приходишь в банк - берешь в терминале талончик, затем через речевой оповещатель и табло вызывают соответствующий по номеру талон в такой-то кабинет... :)
   

yacc

старожил
★★★
Полл> Прикладник...
Полл> Я собрался ребенка учить. А не кодера обучать. ;)
Я вот нифига не понимаю - чему ты его учить собрался? :)
Даже кодеру ассемблер не нужен. А тем более - клерку, который отчеты для шефа должен постоянно готовить в том же экселе.
Ассемблер интересен только системным программистам.
   3.0.193.0.19

Полл

координатор
★★★★★

yacc> Я вот нифига не понимаю - чему ты его учить собрался? :)
1) Компьютер - это устройство с понятным принципом работы. Душу похитить он не способен, вредничать, если это не заложено программой - тоже.
2) Уметь работать с компьютером, как важная часть данного навыка - осваивать новое программное обеспечение.
   

yacc

старожил
★★★
Полл> 1) Компьютер - это устройство с понятным принципом работы. Душу похитить он не способен, вредничать, если это не заложено программой - тоже.
Так открой крышку да покажи - что дьявол внутри не водится :)
А насчет понятного принципа работы... баги на софт и сервис-паки просто шикарно дают возможность в этом убедиться ... :)
Полл> 2) Уметь учится работать с компьютером, в первую очередь - с новым программным обеспечением.
Зачем тут ассемблер вообще и даже другие ЯП?
   3.0.193.0.19
RU Владимир Малюх #23.07.2010 17:37  @Полл#23.07.2010 16:54
+
-
edit
 
Полл> А зачем? Потому что так исторически сложилось, что управление данными и командами в процессоре сделано текстовыми командами?

Не сделано, а записывается и читается так человеком :), котрый нолики и единички (например на перфокарте или магнитной ленте) читает плохо :p
   7.07.0
RU Владимир Малюх #23.07.2010 17:41  @Полл#23.07.2010 16:58
+
-
edit
 
Полл> Вале, ты давно не был дома. ;) Что такое "очередь" здесь в России дети узнают очень рано. :(

Паш, нынешние - уже не так. Да и на острове очереди тоже бывают, уверяю тебя :)
   7.07.0
RU Владимир Малюх #23.07.2010 17:43  @yacc#23.07.2010 17:13
+
-
edit
 
yacc> Ассемблер интересен только системным программистам.

И даже им не всем. Не, я понимаю, что разработчик ядра Nvidia CUDA, пожалуй, в этом нуждается, но даже разрабочики ОС - далко не все.
   7.07.0
RU Спокойный_Тип #23.07.2010 20:26  @Владимир Малюх#23.07.2010 17:43
+
-
edit
 
yacc>> Ассемблер интересен только системным программистам.
В.М.> И даже им не всем. Не, я понимаю, что разработчик ядра Nvidia CUDA, пожалуй, в этом нуждается, но даже разрабочики ОС - далко не все.

скорее он авторам компиляторов нужен ))
кстати очередь в банке с билетиками - это как раз годный пример очереди к устройству массового обслуживания
   3.6.73.6.7
IL digger #17.10.2010 19:49  @спокойный тип#23.07.2010 20:26
+
+2
-
edit
 

digger

аксакал

☠☠
Преодоление юзерского синдрома и минимальное понимание архитектуры.Есть люди,которые не понимают структуру логических и физических дисков и мыслят на уровне My Documents и Desktop.Не понимают,что картинка находится на диске сервера, а не в Фотошопе и удивляются,почему ее там нет если сетевой кабель выдернут.
   3.6.83.6.8
AU#17.10.2010 20:14  @Владимир Малюх#23.07.2010 17:43
+
+1
-
edit
 

au

   
★★
yacc>> Ассемблер интересен только системным программистам.
В.М.> И даже им не всем. Не, я понимаю, что разработчик ядра Nvidia CUDA, пожалуй, в этом нуждается, но даже разрабочики ОС - далко не все.

..и в результате получается:

Потому что если системный программист не знает что он программирует, он не системный программист, а пьяный факир из поговорки. Можно писать на чём угодно, зная что делаешь и что получится в результате (это смысл слова "программирование"), но не писать заклинания в чёрный ящик, не зная какие действия ими вызываешь. Ассемблер, причём любой, — это как раз та школа программирования, которая развивает понимание происходящего в ящике, заставляет быть аккуратным и думать прежде чем что-то делаешь, а не фигачить monkey code и надеяться на лучшее.
   3.5.63.5.6

digger

аксакал

☠☠
ANSI C достаточно,с использованием окон стека вызовов и памяти, еще поиграться с дебаггером.Сам по себе ассемблер - машинный код, а нам надо понятие об архитектуре на уровне памяти,модулей, процессов,тредов итп. На уровне понимания,что вот ЕХЕ,вот процесс в памяти, вот вызов АPI.Иначе блондинки слабо понимают связь между написанием исходного кода и работой программы.
   3.6.83.6.8

Jerard

аксакал

digger>Сам по себе ассемблер - машинный код, а нам надо понятие об архитектуре на уровне памяти,модулей, процессов,тредов итп.

Лучше на уровне регистров... и начального загрузчика, а то получится как СЗ НСД ЭЗ "Соболь"...
   5.05.0
+
0 (+1/-1)
-
edit
 

yacc

старожил
★★★
yacc> Зачем играться в ассемблер? Особенно с импортами MessageBox если есть ЛОГО? :)
Последнее время у меня хобби - смотреть английские новостные сайты.
Попалась забавная статейка "Почему всем детям полезно учиться программированию"

Why all our kids should be taught how to code

IT teaching in schools is in need of a radical overhaul. John Naughton explains what is wrong with the current system // www.guardian.co.uk
 

с заявлениями, что де все плохо - правительству нужны кулибины в стартапах :) ( ну прям как у нас :) ), производителям - программеры на встроенку, компаниям программирующим компьютерные игры - программеры.
И что вместо того, как раньше в школе учили Лого, сейчас все скатилось на изучение Ворда и финального маразма в виде ECDL - European Computer Driving Licence - Wikipedia, the free encyclopedia

... однако комментарии не менее забавно читать - IT лидировала в безработице среди молодежи

Degree courses with highest unemployment rates

Ever wanted to know the employment prospects from your course? Find out where your course ranks in the employment stakes... // www.studentbeans.com
 

... и один вообще замечательный коммент "проблема только одна - ребята по выпуску не захотят получать з/п в рупиях" :)

К чему я - среди русских "западников" идут споры что в РФ все хреново, а большие проблемы только в РФ. Так вот - это не так. :)
   3.6.283.6.28
+
-
edit
 

Gudleifr

опытный

Когда-то объяснял дочке основы программирования (им давали PASCAL). Конспект:

(*) - звездочкой отмечено относящееся именно к PASCAL.

Что должен знать программист?
1. Способ решения задачи
2. Язык программирования - ЯП (*)
3. Операционная система - ОС
ОС - с одной стороны управляет всеми ресурсами компьютера, с другой - позволяет пользователю думать, что компьютер очень умный.

ЯП:
1. Созданные теоретиками - много букофф, легко выучить (*)
2. Созданные практиками - компактные, сплошные исключения
При согласовании ЯП с ОС (1) превращается в (2)!
Все ЯП (особенно (1)) делятся на языки с присваиванием и без (функциональные).

Способы написания программ:
1. Хреновый - сверху вниз, структурное, объектно-ориентированное программирование (ООП). Есть предел сложности (*)
2. Хороший - написание проблемно-ориентированного языка
3. Хреновейший - добавление новых функций в готовую программу.
Лучший способ написания программы - выкинуть наполовину готовую и начать заново!
[Современное замечание: хреновейший метод сейчас даже как-то стандартизировался в виде поиска "наибольшего общего делителя".
1. Выбирается подходящий красивый проект из существующих.
2. Фиксируются хотелки (обычно из другого проекта, но, иногда, и придуманная самостоятельно фича).
3. И то и другое постепенно разбирается на части (с попутным изучением теории) до достижения уровня совместимости.
4. Собирается обратно (на основе удобного конструктора/движка) с заменой отломанных частей исходного проекта хотелками].

Фрагменты программ:
1. Управление
2. Преобразование
3. Передача
4. Прием
5. Регистрация
6. Превращение
7. Обфускация

Источники/приемники
8. Пользователь
9. Хранилища
10. Канал
11. Чужой код

[Разбор программы].
1. Основная черта хренового программирования - размазывание Управления по всему коду. Управление определяет структуру программы. Значит, сначала надо выучить все операторы управления.
2. Вторая черта хренового программирования - сведение всего смысла программы к арифметике и присваиванию. (Кусочек Преобразования).
3. Остаются огрызки Ввода и Вывода, но для полного их понимания нужно изучить Операционную Систему.

Множества (структуры данных, много данных в одной переменной):
1. Именованные - структура, объект, ассоциативные массивы...
2. Неименованные (позиционные) - массив, шкала, дек, список, дерево...
Нужно отличать, где имя множества, а где - имя элемента!
Процессор понимает только массивы и шкалы!

Нужно отличать имя переменной от имени типа переменной!
Тип переменной определяет:
1. Допустимые операции над переменной
2. Способ упаковки переменных (множеств) в множество

Основное свойство PASCAL (*) - описательный метаязык.

ОС с точки зрения ЯП:
1. На процессах (файлы: хранилища - каналы)
2. На сообщениях (объекты - окна)
3. BASIC-ориентированные (консоль - пользователь)
PASCAL (*):
(1) - MODULA, (2) - Delphi, (3) - Turbo Pascal.

PASCAL (*) cостоит из
1. Блоков
2. Операторов
3. Выражений
[Внимание! Это (1,2) и (3) - это два разных языка!]

...
   47.047.0

Fakir

BlueSkyDreamer
★★★★☆
Мнение о вреде информатики (CS) :)


Информатика
Нил Гершенфельд

Физик, директор Центра битов и атомов, Массачусетского технологического института; автор книги Fab: The Coming Revolution on Your Desktop («Фаб: грядущая революция на вашем рабочем столе»).

Информатика (computer science) обладает некоторыми любопытными свойствами – она иногда игнорирует, а иногда открыто отвергает принципы всей остальной науки.

Существует множество вычислительных моделей: императивные / декларативные / функциональные языки, SISD / SIMD / MIMD архитектуры, скалярные / векторные / многоядерные процессоры, RISC / CISC / VLIW наборы команд. А физическая реальность есть только одна – для всякой области пространства доступны некоторые состояния, она может взаимодействовать с другими областями и для перехода из одного состояния в другое ей требуется некоторое время. Все остальное – это фикция.

И сейчас мы прилагаем поистине героические усилия для поддержания этой фикции. Программирование в наши дни напоминает праздное пребывание в «садах удовольствий» из фильма «Метрополис» Фрица Ланга: вы полностью уверены, что рабочие в цехах глубоко внизу будут в точности следовать вашим указаниям. Но на самом деле «снизу» все чаще слышен ропот. Множество взаимосвязанных «бутылочных горлышек», непопаданий в кэш, совпадений по времени цепочек тока, недостаточные бюджеты дата-центров и неэффективность параллельно работающих процессоров (и программистов) – вот лишь несколько причин этого.

У программ нет физических атрибутов типа пространства и времени, однако таковые имеются у «железа», на котором работают эти программы. Код, на базе которого работает та или иная программа, исполнительный скомпилированный код, и схемы, по которым он работает, совершенно не похожи друг на друга. Если вы посмотрите на географическую карту, то увидите в ней иерархическую структуру от города к штату и стране, однако геометрия представления не меняется в зависимости от масштаба. Почему мы не делаем того же самого в отношении программ?

Я склонен винить в создавшемся положении двух человек – Алана Тьюринга и Джона фон Неймана. Оба прославились исключительно важными с исторической точки зрения и довольно нетрадиционными исследованиями. Тьюринга интересовал вопрос принципиальной вычислимости. Машина, носящая его имя, задумывалась как теоретическая модель, а не как проект реально осуществимого эксперимента. У нее имелась головка, которая читала и записывала символы на бумажной ленте. И хотя это может показаться само собой разумеющимся, различие между сохранением физического состояния и взаимодействием его с другим состоянием носит нефизический характер. Разделение функций было разработано в элементах архитектуры фон Неймана. И хотя оно присутствует почти в каждом из сделанных в наши дни компьютеров, изначально оно не должно было стать универсальной истиной. Фон Нейман писал о нем в своем известном отчете о программировании, исходя из довольно ограниченных возможностей ранних компьютеров EDVAC.

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

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

Нео, главный герой фильма «Матрица», стоит перед выбором – он может принять красную таблетку и покинуть иллюзорный мир, в котором живет, или принять синюю и сохранить существующую иллюзию. Оказавшись в реальном мире, он понимает, что этот мир намного более сложен, но при этом он гораздо интереснее. Перед таким же выбором стоит в наши дни и цифровой мир – он может либо принять, либо отвергнуть физическую реальность, в которой находится.

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

Gudleifr

опытный

Может, кому пригодится... Способ писать на голом Windows.

... пытаясь перейти с DOS-скриптов на мастдайные, я попытался найти какую-нибудь умную книжку. Облом за обломом. В большинстве рассматривался лишь простейший оживляж HTML-файлов, а в очень редких оставшихся - рассказывалось, как пересчитать системные директории и достучаться до сетевых принтеров...

02.02. МАЛЕВИЧ, ГОВОРИТЕ?

ГЛАВА ВТОРАЯ. МАЛЕВИЧ, ГОВОРИТЕ? Конечно, разнообразные языки разработкти создавались и раньше: СЕПУЛЕНИЕ СЕПУЛЕК Общие места из документа "Система структурного //  gudleifr.forum2x2.ru
 

... у нас теперь есть способ прицепить к нашим учебным программам хоть какой-то интерфейс и худо-бедно сохранять результаты работы в виде файлов.
   60.060.0
1 4 5 6 7 8 9 10

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