Формуванняінформатичних компетентностейстудентів ВПНЗзасобами функціональної мови програмування Scheme
Завантажити презентаціюПрезентація по слайдам:
Формування інформатичних компетентностей студентів ВПНЗ засобами функціональної мови програмування Scheme Доповідач: асистент кафедри інформатики та прикладної математики Криворізького державного педагогічного університету Мінтій Ірина Сергіївна Міністерство освіти і науки України Черкаський технічний університет
Результат освіти – система компетентностей ключові: + загальнопредметні: +- предметні: -+ Стан розробки компетентностей в Україні:
Структура інформатичних компетентностей (М.І. Жалдак) інформологічно-методологічні; інформаційно-технологічні; комп’ютерні; модельні; алгоритмічні.
Структура інформатичних компетентностей (А.Г. Кіріллов) математична; компетентність користувача; інформаційно-системна; технічна; компетентності з програмування.
Структура інформатичних компетентностей (департамент освіти штату Огайо) інформаційні служби; мережні системи; програмування та розробка програмного забезпечення; інтерактивні засоби.
Структура інформатичних компетентностей (Північно-східний центр новітніх технологій, Вашингтон) користувача (ІКТ-компетентності); програміста; адміністратора комп’ютерної системи.
Фундаментальні розділи інформатики (М.В. Швецький) алгоритми; програмування; структури даних; комп’ютерна графіка і обчислювальна геометрія; архітектура ЕОМ; мови програмування: парадигми та організація; конструювання інтерпретаторів та компіляторів; бази даних та інформаційний пошук; штучний інтелект (програмно-прагматичний підхід); дискретна математика та теорія алгоритмів.
Фундаментальні розділи інформатики (Н.В. Морзе) теоретичні основи інформатики; теорія алгоритмів; структури даних; технологія розробки програмного забезпечення; архітектура комп’ютерних систем; парадигми програмування; комп’ютерна графіка; операційні системи; інформаційні системи; теоретичні основи баз даних;
Продовження: Фундаментальні розділи інформатики (Н.В. Морзе) системи штучного інтелекту; комп’ютерне моделювання; аналіз і моделювання систем; дискретна математика; теоретичне програмування; соціальна інформатика; комп’ютерні комунікації і мережі та глобальна мережа Інтернет; гіпермедійний дизайн; програмна інженерія.
Гарний стиль програмування: форматування коду, підкреслення його структури, послідовність в застосуванні відступів; використання природної форми виразів; використання дужок для усунення неточностей та розбиття складних виразів; обережність з побічними ефектами.
Форматування коду, підкреслення структури, послідовність в застосуванні відступів автоматичне визначення величини відступу DrScheme:
Використання природної форми виразів λx.λy.f(x,y) f(x,y) lambda(x y) (f x y) 3 * 6 3 * 6 (* 3 6) 2 + 3 + 5 2 + 3 + 5 (+ 2 3 5) 1 – 3 – 6 1 – 3 – 6 (– 1 3 6) 2 / 3 / 5 2 / 3 / 5 (/ 2 3 5) 6 – 3– 4 + + 4 * 5 * 2 6 – 3– 4 + + 4 * 5 * 2 (+ (– 6 3 4) (* 4 5 2))
Використання дужок для усунення неточностей, розбиття складних виразів 4+6*3−2*4 (+ 4 (– (* 6 3) (* 2 4)))
Задача: знайти час польоту тіла, кинутого під кутом до горизонту з висоти h зі сталою швидкістю V
Етапи розв᾽язування: 1. Знаходження дискримінанту: (define (D a b c) (− (* b b) (* 4 a c))) D = b2 – 4*a*c λa.λb.λc.b2–4*a*c (define D (lambda (a b c) (− (* b b) (* 4 a c))))
2. Знаходження root1 і root2 λa.λb.λc. ((-b+√D)/(2*a)) (define (root1 a b c) (/ (+ (* −1 b) (sqrt (D a b c))) (* 2 a)))
Узагальнена функція (define (quadratic a b c) (cond ((< (D a b c) 0) '(Действительных корней не существует)) ((= (D a b c) 0) (root1 a b c)) (else (list (root1 a b c) (root2 a b c)))))
(define g 9.8) (define (time-to-impact h v alpha ) (let ((a (/ (* −1 g) 2)) (b (* v (sin alpha))) (c h)) (if (< (D a b c) 0) '(Неправильные данные) (root2 a b c))))
Рекурсія: Задача: знайти n! 1-й спосіб: лінійно рекурсивний процес n! = n · (n − 1) · (n − 2) ·…· 3 · 2 · 1 (define (factorial n) (if (= n 1) 1 (* n (factorial (– n 1)))))
Рекурсія: Задача: знайти n! 2-й спосіб: лінійно ітеративний процес n! = 1 · 2 · … · (n − 1) · n. (define (factorial n) (define (iter result counter) (if (> counter n) result (iter (* counter result) (+ counter 1)))) (iter 1 1))
Використання функцій як параметрів 1. Знайти суму цілих чисел від a до b: (define (sum-integers a b) (if (> a b) 0 (+ a (sum-integers (+ a 1) b))))
2. Знайти суму квадратів цілих чисел від а до b: (define (sum-squares a b) (if (> a b) 0 (+ (square a) (sum-squares (+ a 1) b))))
3. Знайти суму парних чисел в заданому діапазоні (define (sum-pairs-numbers a b) (if (> a b) 0 (+ a (sum-pairs-numbers (+ a 2) b))))
Функція, яка виражає загальне поняття суми: (define (sum term a next b) (if (> a b) 0 (+ (term a) (sum term (next a) next b))))
функція sum-squares: (define (sum-squares a b) (sum square a inc b)) функція sum-integers (define (sum-integers a b) (sum identity a inc b))
Напрямки подальших досліджень: розробка узагальненої системи компетентностей з програмування та індикаторів їх сформованості; Реалізація можливості роботи у веб-середовищі.
Схожі презентації
Категорії