- •Тема 1 Вступ
- •Походження обчислювальних машин
- •Еволюція комп’ютерних наук
- •Роль абстракції в комп’ютерних науках
- •Тема 2 Зберігання даних
- •Зберігання бітів у вентилях і тригерах
- •Зберігання бітів в магнітному осерді .
- •3) Шістнадцяткова система числення
- •7) Основна пам'ять комп’ютера.
- •8) Магнітні диски.
- •9) Компакт диски.
- •10) Магнітні стрічки
- •Тема 3. Обробка даних
- •Центральний процесор.
- •2)Регістри центрального процесора і кеш пам'ять.
- •3) Інтерфейс між центральним процесором та основною пам’яттю.
- •4) Машинні процедури та cisc-і risc-архітектура комп'ютерів
- •5) Інструкції передачі даних
- •6) Арифметично-логічні інструкції та інструкції управління
- •7) Концепція збереженої програми і представлення машинних інструкцій бітовими комбінаціями.
- •8) Машинний код і кодування інструкцій типового комп’ютера.
- •9) Формат поля операндів.
- •10) Загальний процес виконання програми.
- •12) Програми і дані
- •Тема 4. Операційні системи
- •1)Поняття і приклади операційних систем
- •2) Еволюція операційних систем
- •3) Пакетна обробка даних
- •4) Інтерактивна обробка даних
- •7) Компоненти операційної системи – файловий менеджер
- •8) Компоненти операційної системи – менеджер пам’яті
- •9) Компоненти операційної системи – драйвери пристроїв
- •10) Архітектура операційних систем – класифікація програмного забезпечення
- •13)Запуск операційної системи
- •14)Координація роботи комп’ютера - процеси і міжпроцесна взаємодія
- •15)Координація роботи комп’ютера - диспетчеризація
- •16)Модель "клієнт / сервер"
- •Тема 5 Сітьова передача даних та Інтернет
- •Поняття комп’ютерної мережі.
- •Різновиди комп’ютерних мереж
- •Мережеві топології
- •Протоколи комп’ютерних мереж
- •5)Об’єднання комп’ютерних мереж - повторювачі, мости та комутатори
- •6)Об’єднання комп’ютерних мереж – маршрутизатор
- •7)Технологія Ethernet
- •8)Міжпроцесна взаємодія в комп’ютерних мережах
- •9)Модель "клієнт / сервер" в комп’ютерних мережах
- •10)Однорангові комп’ютерні мережі
- •11)Internet - поняття та історія
- •12)Internet – архітектура
- •13)Internet – підключення
- •14)Internet – адресація
- •15)Internet – застосування
- •16)World Wide Web – концепція
- •17)World Wide Web - реалізація
- •20)Internet - протоколи - рівневий підхід до програмного забезпечення
- •21)Internet - протоколи tcp/ip, udp
- •22)Безпека Internet - основні методи захисту
- •23)Безпека Internet – шифрування
- •24)Засоби правового захисту для безпеки комп'ютерних мереж
- •Тема 6. Алгоритми
- •Тема 8. Технологія розробки програмного забезпечення
- •Предмет технологій розробки програмного забезпечення.
- •Життєвий цикл програмного забезпечення – модульність.
- •Етапи розробки програмного забезпечення, які передбачено у моделі водоспаду.
- •6)Шаблони проектування програмного забезпечення
- •Які особливості застосування моделі швидкої розробки програмного забезпечення
- •Тестування програмного забезпечення
- •10) Документація програмного забезпечення
- •11) Право власності та відповідальність за створюване програмне забезпечення
- •Тема 9. Структури даних
- •Масиви даних
- •Списки даних – вказівники.
- •Списки даних – безперервні списки.
- •Списки даних – зв’язні списки.
- •Поняття стеку.
- •Стеки – механізм повернення.
- •Стеки – реалізація стеків.
- •Поняття черги
- •Деревовидні структури
- •Пакет реалізації бінарних дерев
- •Тема 10. Структури баз даних
- •Основні поняття бази даних
- •Багаторівневий підхід до реалізації баз даних
- •Реляційна модель баз даних
- •Реляційні операції
- •Реляційна модель бд – реляційне проектування
- •Мова sql
- •Об'єктно-орієнтовані бази даних
- •Забезпечення цілісності бд - протокол фіксації / відкоту змін в бд
- •Вплив технологій баз даних на суспільство
- •Тема 11. Штучний інтелект
- •Що таке штучний інтелект
- •Розпізнавання зображень
- •Система породження
- •Дерева пошуку
- •Евристичні методи
- •Властивості штучних нейронних мереж
- •Застосування теорії штучного інтелекту – опрацювання мови.
- •Застосування теорії штучного інтелекту - робототехніка.
- •Генетичні алгоритми
- •Поняття експертних систем
- •Наслідки розвитку штучного інтелекту
- •Тема 12. Теорія обчислень
- •1.Найпростіша мова програмування
- •2.Найпростіша мова програмування – оператори опису даних.
- •3.Найпростіша мова програмування – імперативні оператори.
- •4.Можливості програм, написаних на найпростішому мові
- •5.Поняття Машини Тюрінга
- •6.Поняття обчислюваних функцій
- •7.Теза Черча-Тьюринга
- •8.Універсальність найпростішої мови програмування
- •9.Необчислювані функції
- •13.Криптографія з використанням відкритих ключів
- •Тема 7. Мови програмування
- •Парадигми програмування.
- •Концепції традиційного програмування - змінні, константи і літерали.
- •Концепції традиційного програмування – типи даних.
- •Поняття структури даних
- •Оператори присвоєння.
- •Процедури і їх параметри.
- •Поняття функції.
- •Об’єктно-орієнтоване програмування
- •Декларативне програмування
- •Програмування паралельних процесів
- •Мова prolog це 12 питання
3.Найпростіша мова програмування – імперативні оператори.
Найпростіша мова програмування включає всього три оператори присвоювання, кожен з яких тим чи іншим чином модифікує значення зазначеної в цьому операторі змінної.
clear <ім'я>;
Параметр <ім'я> може бути будь-яким припустимим ім'ям змінної.
incr < ім'я >;
decr <ім'я>;
І в цьому випадку параметр <ім'я> являє собою будь яке припустиме ім'я змінної.
Найпростіша мова містить всього одну керуючу структуру, наданих парою операторів while-end, що має наступний синтаксис:
while <ім'я> not 0 do;
.....end;
Тут параметр <ім'я> являє собою будь припустиме ім'я змінної.
Зазначена вище синтаксична конструкція буде викликати повторення будь-якої по-послідовності операторів, розміщених між операторами while і end, поки значення змінної <ім'я> не стане рівним нулю.
4.Можливості програм, написаних на найпростішому мові
.Що можливо, а не то, що зручно.Використовувати найпростішу мову програмування для прикладних цілей, дуже важко.
Мови, подібні найпростішій мові програмування, хоч і непрактичні щодо створення прикладного програмного забезпечення, але, тим не менш, знаходять застосування в теорії обчислювальних машин.move <ім'я 1> to <ім'я 2>;
Тут параметри <ім'я 1> і <ім'я 2> представляють імена відповідних змінних.
Таким чином, хоча найпростіша мова сам по собі і не має явної команди присвоєння, ми часто будемо писати програми, вважаючи, що він допускає подібні дії.
5.Поняття Машини Тюрінга
Найпростіша мова програмування є універсальною у тому сенсі, що з її допомогою можна висловити рішення будь-якої проблеми, яку здатна вирішити машина.
Розглянемо клас обчислювальних машин, відомих як машини Тьюринга. Вперше ці машини були введені в 1936 році Аланом Тьюрингом як інструмент для вивчення потужності алгоритмічних процесів.
Зазначимо, що Тьюринг "винайшов" дані машини ще до того, як розвиток технологій дозволив реалізувати їх на практиці.Машина Тьюрінга складається з блоку управління, який зчитує і записує символи на стрічці за допомогою головки зчитування / запису.Стрічка поділена на комірки, кожна з яких може містити один довільний символ з кінцевого набору.
Обчислення машини Тьюрінга складаються з послідовності кроків, виконуваних блоком управління. Таким чином, хоча машина Тьюринга і гранично проста в конструкції, вона представляє теоретичну межу можливостей машин, що існують на практиці. Тому машина Тьюринга може бути корисною у якості інструмента дослідження обмежень, властивих як машинам, так і самим алгоритмічним процесам.
6.Поняття обчислюваних функцій
Розглянемо дії комп'ютера на самому фундаментальному рівні. Якщо можна було б зробити знімки стану пам'яті комп'ютера до і після виконання програми, то ми б побачили один набір двійкових розрядів, відповідний станом пам'яті до її виконання, а другий - після її виконання. Програма виконує єдину дію: управляє перетворенням деякого початкового набору двійкових розрядів, який будемо називати вхідним, в інший набір двійкових розрядів, іменований вихідним. Зв'язок, що існує між цими наборами, називається функцією. Процес визначення вихідної величини функції на основі значення її вхідний величини називається обчисленням функції. Отже, дії комп'ютера при виконанні програми можуть розглядатися як обчислення функції. Таке розуміння процесу обчислень надає нам засіб для вимірювання обчислювальної потужності машини. Якщо деяка машина або алгоритмічна система здатна обчислювати більше функцій, ніж інша, то ми будемо вважати її більш потужною.
