В последнее время все чаще поднимается вопрос о готовности педагогов к организации проектировочной деятельности, как совместной с воспитанниками и обучающимися, так и к социально-педагогическому проектированию в условиях постоянной модернизации системы образования в России. Если первое направление исследований и методических разработок достаточно изучено, то второе требует более тщательного рассмотрения и анализа. Вовлечение педагогов в такое проектирование осложняется тем, что оно требует перехода на другой уровень мышления и позиционирования себя. В частности, требуется высокий уровень теоретического мышления, позволяющий не просто осознать проблемы, влияющие на образовательный и коррекционноразвивающий процесс, а выстроить их иерархию и представить, как систему взаимосвязей. Это уровень методологии.
Методологические и теоретические основы проектирования, согласно А. И. Кочетову, М. Р. Кудаеву и другим авторам [1] , традиционно состоят их трех компонентов:
- 1) общей методологии науки, к которой относятся философские концепции научного познания, фундаментальные положения философии, педагогики и психологии о сущности комплексного подхода к научным проблемам, диалектический метод изучения реальной действительности, теория научного творчества и др.;
- 2) специальной (конкретно-научной) методологии, включающей в себя теорию педагогики и психологии (культурно-историческую концепцию, описывающую развитие ребенка через категории воспитания и обучения и др.), общенаучные и дидактические принципы (например, принцип системности, концентричности в освоении материала и др.);
3) теоретических основ, охватывающих идеи, постулаты и аксиомы, основные положения педагогики, психологии и смежных: наук, непосредственно связанные с проблемой исследования (например, концепция системогенеза психических функций, связанная с организацией воспитания и обучения, концепция формирования умственных действий и др.).
С Савельев Что лежит в основе интеллекта
Иерархия методологических основ при этом выстраивается от научных подходов и концепций, теорий [2] до теоретических идей, положений [3] и принципов. Разберем подробнее, что имеется в виду.
Подходы.
Подход — стратегия изучения и решения проблем воспитания и обучения.
В качестве основных методологических подходов чаще всего выступают гуманистический, аксиологический, диалектический, логический и исторический, феноменологический, социальный, личностно-ориентированный, культурологический, возрастной подход к воспитанию и обучению, дифференцированный, средовой, деятельностный, комплексный и системный, содержательный, программно-целевой, синергетический, профессионально-личностный и профессиональнодеятельностный, технологический подходы. Они лежат в основе примерных адаптированных и основных общеобразовательных программ развития, воспитания и обучения детей дошкольного возраста, комплексных программ воспитания и обучения дошкольников с особыми образовательными потребностями, опирающихся на них образовательных программ ДОО.
Е.Ю.Спицын на канале «Спец» в программе «Что лежит в основе российской государственности?»
Концепции.
Концепция (от лат. conceptio — понимание, система) — система теоретических взглядов, объединенных научной идеей или идеями и обеспечивающих определенное понимание явлений и процессов.
Перечислим основные действующие концепции:
— концепции воспитания: социального воспитания, личностно-ориентированные культурологические концепции или самоорганизации воспитания, общественно-ориентированные концепции коллективного воспитания;
— концепции обучения: игрового, развивающего, проблемного, рефлексивного, программного, адаптивного, контекстного обучения.
Концепции проектирования образовательных и коррекционно-развивающих программ представляют собой совокупность концепций воспитания, обучения и лечебной педагогики, связанных с моделированием и управлением педагогической системой, адаптирующейся под особые образовательные потребности и ресурсы детей с ОВЗ.
Такая система будет выступать условием компенсации нарушений развития и социальной адаптации. Она лежит в основе комплексных и парциальных программ развития, воспитания и коррекционного обучения дошкольников.
Каждая такая концепция будет контекстной, т. е. будет зависеть от задач и условий, в которых проектируется. При этом педагоги переходят на уровень проектирования рабочих программ воспитателей и специалистов, сами становятся носителями педагогической или коррекционнопедагогической концепции, выработанной в учреждении (табл. 1.1).
Таблица 7.7
Структура образовательных и коррекционно-развивающих программ сточки зрения концепции проектирования
Элемент концепции проектирования
Отражение элемента в содержании образовательных и коррекционно-развивающих программ
Функционирование педагогической системы
Деятельность специалистов коррекционного профиля, службы психолого-педагогического сопровождения
Адаптация педагогической системы под потребности и ресурсы детей с ОВЗ
Создание условий для реализации АООП для дошкольной группы или детского сада и индивидуальной образовательной программы (АОП). Программно-методическое и документационное обеспечение управления качеством коррекционно-педагогического процесса
Концепция развития ранней помощи в Российской Федерации.
Концепции психолого-педагогического изучения детей с ОВЗ.
Концепции проектирования программ психокоррекционной помощи.
Концепция комплексного сопровождения.
Концепции профилактики и пропедевтики нарушений в развитии
Окончание табл. 1.1
Элемент концепции проектирования
Отражение элемента в содержании образовательных и коррекционно-развивающих программ
Принципы воспитания и обучения, единства диагностики и коррекции, психолого-педагогического сопровождения, принципы педагогического взаимодействия, управления качеством образовательного и коррекционно-педагогического процесса, оптимизации
Диагностическая, коррекционно-развивающая, консультативная, организационно-методическая
Таким образом выстраивается иерархия: «примерная образовательная программа» — «образовательная программа детского сада» — «комплексные программы воспитания и обучения, коррекции» — «рабочая программа воспитателя и специалиста», которая держится на концепции проектирования таких программ. Такая концепция образовательных и коррекционно-развивающих программ, сформулированная учеными, обобщенная методистами и конкретизированная педагогами может служить:
- — инструментом индивидуализации содержания, методов и форм профессиональной деятельности с детьми, имеющими ОВЗ: для этого концепция должна описывать направления и механизмы обеспечения такой индивидуализации в условиях образовательной организации, учреждений здравоохранения и социального обеспечения;
- — фактором, обеспечивающим реализацию функций профессиональной деятельности специалистов коррекционного профиля и педагогического взаимодействия: для этого концепция должна включать регламенты оказания коррекционно-развивающих услуг, технологию проектирования рабочих программ специалистов и модель комплексного сопровождения в условиях детского сада, логопедического или дефектологического пункта и т.д.;
- — условием моделирования эффективной системы образовательной работы с детьми по реализации образовательной программы ДО или НОО: для этого концепция должна ориентировать разработчиков на учет факторов развития, воспитания и абилитации, обучения и коррекции, их включения в контексты социально-педагогического проектирования и разработку комплекса конструкторов адаптированных образовательных программ, охватывающих всю систему коррекционно-педагогической помощи в учреждении; в итоге они обязаны описать эту систему как самоорганизующийся и управляемый механизм, реализующий требования к условиям, содержанию и результатам реализации программ и позволяющий обеспечивать учреждению успешное прохождение процедур лицензирования, аттестации и аккредитации.
- [1] Кудаев М. Р. Методология и методика педагогических исследований : учеб, пособие : в 2 ч. Майкоп : Изд-во АГУ, 2003.
- [2] Теория — логически обобщенное знание, целостно отражающее определеннуюобласть действительности. Структуру теории образуют понятия, категории, научныетермины, закономерности и другие элементы. Примеры: теория свободного воспитания, ассоциативно-рефлекторная теория, теория поэтапного формирования умственныхдействий, теория проблемного обучения и др.
- [3] Например, положения о единстве и сложном взаимодействии биологическогои социального факторов в развитии ребенка с нарушениями психики, ведущей ролисоциальной среды в онтогенезе и дизонтогенезе и др.
- [4] Парадигма (др.-греч. ларабаура — пример, образец) — 1) ключевая идея, лежащаяв основе построения концепции; 2) исходная позиция (понятие, модель) в постановкепроблем, их объяснении и решении.
- [5] Принцип (лат. principium, греч. архц — дословно первейшее) — постулат, утверж
- [6] дение, на основе которого создают теории и законы, документы, нормы.
Источник: studme.org
Состав программного обеспечения. Понятие «программное обеспечение» появилось с развитием компьютерной индустрии
Понятие «программное обеспечение» появилось с развитием компьютерной индустрии. Программное обеспечение (ПО) — это набор программ в составе ИВС или АРМ. В зависимости от функций, выполняемых ПО, его можно разделить на системное, прикладное и инструментальное [9, 10].
Системное ПО – это «программная оболочка» аппаратных средств, предназначенная для отделения остальных программ от непосредственного взаимодействия с оборудованием и организации процесса обработки информации в компьютере.
В основе системного ПО – операционная система (ОС), представляющая собой набор программ, организующих вычислительный процесс, управляющих аппаратурой компьютера и обеспечивающих взаимодействие пользователя с компьютером.
Это также утилиты (служебные программы), функционально дополняющие возможности ОС, оболочки (надстройки над ОС), предоставляющие пользователю интерфейс для управления компьютером и файловой системой, и диагностические программы для тестирования работы компьютера.
Инструментальное ПО — это комплексы программных средств, включающие в себя языки программирования (Assembler, Basic, C/C++/С#, Delphi, Java, Fortran. ), системы программирования (например, это могут быть системы визуального программирования Visual Basic или Borland Delphi), трансляторы (компиляторы и интерпретаторы) для преобразования исходного текста программ в машинный код, библиотеки стандартных программ (БСП) и наборы готовых компонентов, средства компоновки и отладки прикладных программ.
Прикладное ПО — это совокупность прикладных программ (прикладных пакетов), ориентирующая ПК на тот или иной класс применений (издательство, переводы, бухучет, игры, работа с текстом, с электронными таблицами и т.д.), и конкретные рабочие программы пользователя. Практически каждый пользователь компьютера нуждается в приложениях общего назначения, к числу которых относятся: текстовые редакторы и графические редакторы, электронные таблицы, системы управления базами данных, а также приложения для создания мультимедиа-презентаций.
Программный продукт — это совокупность отдельных программ, их документации, гарантий качества, рекламных материалов, мер по обучению пользователей, распространению и сопровождению этих программ.
Приобретение программного продукта — это покупка лицензии (права) на его использование. Условия использования любого программного продукта описаны в лицензионном соглашении, которое представляет собой договор между производителем программного продукта и пользователем программного обеспечения. Для разных пользователей (индивидуальных покупателей, коммерческих и государственных организаций и предприятий, учебных заведений) могут быть определены различные условия приобретения программного продукта.
2. Принцип «программного управления»
Этот принцип лежит в основе работы персонального компьютера. Т.е. персональный компьютер (ПК) без разработанных для него программ не может выполнять какой-либо работы и является лишь электронным устройством, не имеющим системы управления и потому не способным приносить пользы человеку.
При этом вычислительный процесс (ВП) — это переработка исходной информации по алгоритмам программ, применяемых для решения поставленной задачи.
Программа — это система команд, реализующих алгоритм решения задачи, или это план действий, подлежащих выполнению некоторым исполнителем, в качестве которого может выступать ПК.
Человеку в процессе разработки программ отведены этапы, связанные с творческой деятельностью (постановка задачи, ее алгоритмизация, программирование и анализ результатов), а на долю компьютера — рутинные этапы обработки информации в соответствии с разработанным алгоритмом. Знание способов решения прикладных задач на компьютере является важным компонентом информационной культуры современного человека.
Результаты могут быть правильными или неправильными и во многом зависят от точной постановки задач. Способы решения задач на компьютере представляются соответствующими алгоритмами и разработанными программами. Их разработка всегда связана с появлением алгоритмических и программных ошибок.
Алгоритм и программа считаются правильными и надёжными, если они дают правильные результаты решения прикладных задач для любых допустимых исходных данных. В противном случае нужно искать и устранять ошибки. Этот этап работы называется отладка программ. Для поиска ошибок часто используют программы-отладчики и тесты.
Для современных больших проектов и объемных программ (например, для операционных систем) характерно и после «завершения» отладки наличие ошибок. С этой ситуацией тесто связана проблема «Информационной безопасности» информационных систем на базе таких программ. В любом случае процедура разработки программ содержит следующие этапы.
Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:
Источник: studopedia.ru
Чистая архитектура. Часть II — Парадигмы программирования
Эта серия статей – вольный и очень краткий пересказ книги Роберта Мартина (Дяди Боба) «Чистая Архитектура», выпущенной в 2018 году. Начало тут.
Парадигмы программирования
Дисциплину, которая в дальнейшем стала называться программированием, зародил Алан Тьюринг в 1938 году. В 1945 он уже писал полноценные программы, которые работали на реальном железе.
Первый компилятор был придуман в 1951 году Грейс Хоппер (бабушка с татуировкой Кобола). Потом начали создаваться языки программирования.
Обзор парадигм
Существует три основных парадигмы: структурное, объектно-ориентированное и функциональное. Интересно, что сначала было открыто функциональное, потом объектно-ориентированное, и только потом структурное программирование, но применяться повсеместно на практике они стали в обратном порядке.
Структурное программирование было открыто Дейкстрой в 1968 году. Он понял, что goto – это зло, и программы должны строиться из трёх базовых структур: последовательности, ветвления и цикла.
Объектно-ориентированное программирование было открыто в 1966 году.
Функциональное программирование открыто в 1936 году, когда Чёрч придумал лямбда-исчисление. Первый функциональный язык LISP был создан в 1958 году Джоном МакКарти.
Каждая из этих парадигм убирает возможности у программиста, а не добавляет. Они говорят нам скорее, что нам не нужно делать, чем то, что нам нужно делать.
Все эти парадигмы очень связаны с архитектурой. Полиморфизм в ООП нужен, чтобы наладить связь через границы модулей. Функциональное программирование диктует нам, где хранить данные и как к ним доступаться. Структурное программирование помогает в реализации алгоритмов внутри модулей.
Структурное программирование
Дейкстра понял, что программирование – это сложно. Большие программы имеют слишком большую сложность, которую человеческий мозг не способен контролировать.
Чтобы решить эту проблему, Дейсктра решил сделать написание программ подобно математическим доказательствам, которые также организованы в иерархии. Он понял, что если в программах использовать только if, do, while, то тогда такие программы можно легко рекурсивно разделять на более мелкие единицы, которые в свою очередь уже легко доказуемы.
С тех пор оператора goto не стало практически ни в одном языке программирования.
Таким образом, структурное программирование позволяет делать функциональную декомпозицию.
Однако на практике мало кто реально применял аналогию с теоремами для доказательства корректности программ, потому что это слишком накладно. В реальном программировании стал популярным более «лёгкий» вариант: тесты. Тесты не могут доказать корректности программ, но могут доказать их некорректность. Однако на практике, если использовать достаточно большое количество тестов, этого может быть вполне достаточно.
Объектно-ориентированное программирование
ООП – это парадигма, которая характеризуется наличием инкапсуляции, наследования и полиморфизма.
Инкапсуляция позволяет открыть только ту часть функций и данных, которая нужна для внешних пользователей, а остальное спрятать внутри класса.
Однако в современных языках инкапсуляция наоборот слабее, чем была даже в C. В Java, например, вообще нельзя разделить объявление класса и его определение. Поэтому сказать, что современные объектно-ориентированные языки предоставляют инкапсуляцию можно с очень большой натяжкой.
Наследование позволяет делать производные структуры на основе базовых, тем самым давая возможность осуществлять повторное использование этих структур. Наследование было реально сделать в языках до ООП, но в объектно-ориентированных языках оно стало значительно удобнее.
Наконец, полиморфизм позволяет программировать на основе интерфейсов, у которых могут быть множество реализаций. Полиморфизм осуществляется в ОО-языках путём использования виртуальных методов, что является очень удобным и безопасным.
Полиморфизм – это ключевое свойство ООП для построения грамотной архитектуры. Он позволяет сделать модуль независимым от конкретной реализации (реализаций) интерфейса. Этот принцип называется инверсией зависимостей, на котором основаны все плагинные системы.
Инверсия зависимостей так называется, что она позволяет изменить направление зависимостей. Сначала мы начинаем писать в простом стиле, когда высокоуровневые функции зависят от низкоуровневых. Однако, когда программа начинает становиться слишком сложной, мы инвертируем эти зависимости в противоположную сторону: высокоуровневые функции теперь зависят не от конкретных реализаций, а от интерфейсов, а реализации теперь лежат в своих модулях.
Любая зависимость всегда может быть инвертирована. В этом и есть мощь ООП.
Таким образом, между различными компонентами становится меньше точек соприкосновения, и их легче разрабатывать. Мы даже можем не перекомпилировать базовые модули, потому что мы меняем только свой компонент.
Функциональное программирование
В основе функционального программирования лежит запрет на изменение переменных. Если переменная однажды проинициализирована, её значение так и остаётся неизменным.
Какой профит это имеет для архитектуры? Неизменяемые данные исключают гонки, дедлоки и прочие проблемы конкурентных программ. Однако это может потребовать больших ресурсов процессора и памяти.
Применяя функциональный подход, мы разделяем компоненты на изменяемые и неизменяемые. Причём как можно больше функциональности нужно положить именно в неизменяемые компоненты и как можно меньше в изменяемые. В изменяемых же компонентах приходится работать с изменяемыми данными, которые можно защитить с помощью транзакционной памяти.
Интересным подходом для уменьшения изменяемых данных является Event Sourcing. В нём мы храним не сами данные, а историю событий, которые привели к изменениям этих данных. Так как в лог событий можно только дописывать, это означает, что все старые события уже нельзя изменить. Чтобы получить текущее состояние данных, нужно просто воспроизвести весь лог. Для оптимизации можно использовать снапшоты, которые делаются, допустим, раз в день.
Заключение
Таким образом, каждая из трёх парадигм ограничивает нас в чём-то:
- Структурное отнимает у нас возможность вставить goto где угодно.
- ООП не позволяет нам доступаться до скрытых членов классов и навязывает нам инверсию зависимостей.
- ФП запрещает изменять переменные.
Источник: habr.com