Робоча навчальна програма для студентів 4 курсу геологічного факультету за спеціалізацією 040103 «Геофізика» Затверджено

Вид материалаДокументы

Содержание


Зав. кафедри
Лектор: к.ф-м.н., доц. Грязнова В.О.Викладач
Метою і завданням навчальної дисципліни
Предмет навчальної дисципліни
Вимоги до знань та вмінь.
Місце в структурно-логічній схемі спеціальності.
Система контролю знань та умови складання іспиту.
Всього в сумі від 28 до 40 балів.
Навчально-тематичний план лекцій і семінарських занять
Назва теми
ЗМІСТОВИЙ Модуль 1. «Базові поняття програмування та їх реалізація засобами мови C#»
ЗМІСТОВИЙ Модуль 2. «Основи об’єктно-орієнтованого програмування та їх реалізація засобами мови C#»
Базові поняття програмування та їх реалізація засобами мови c
Лабораторне заняття 1.
Лабораторне заняття 2.
Лабораторне заняття 3.
Завдання для самостійної роботи (5
Лабораторне заняття 5.
Лабораторне заняття 4.
Лабораторне заняття 4.
...
Полное содержание
Подобный материал:

КИЇВСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ імені ТАРАСА ШЕВЧЕНКА


Геологічний факультет


Геологічний факультет

кафедра геофізики


Радіофізичний факультет

кафедра математики та теоретичної радіофізики


Укладач: доц. Грязнова В.О.


ПРОГРАМУВАННЯ


РОБОЧА НАВЧАЛЬНА ПРОГРАМА


для студентів 4 курсу геологічного факультету за спеціалізацією 6.040103 «Геофізика»


Затверджено

на засіданні кафедри МТРФ

Протокол № 6

від 16 травня 2008 р.


Зав. кафедри


_____________ Висоцький В.І.


Погоджено

на засіданні кафедри геофізики

Протокол № ___

від «____» ______________ 200__р.


Зав. кафедри


_____________ Вижва С.А.


Декан геологічногофакультету


_____________ Вижва С.А.


КИЇВ-2008

Робоча навчальна програма з дисципліни «Програмування». Укладач: кандидат фізико-математичних наук, доцент Грязнова Віра Олександрівна


Лектор: к.ф-м.н., доц. Грязнова В.О.


Викладач: к.ф-м.н., доц. Грязнова В.О.


Погоджено

з науково-методичною комісією РФФ

«____» ______________ 200__р.


__________________ Обуховський В.В.


Погоджено

з науково-методичною комісією геологічного факультета

«____» ______________ 200__р.


__________________ Павлов Г.Г..


ВСТУП

Дисципліна «Програмування» є спеціальною дисципліною для студентів спеціалізації "геофізика", що читається у 8 семестрі в обсязі 3.5 кредита (126 годин), в тому числі 64 годин аудиторних занять (з них 32 години лекцій, 32 години лабораторних занять) і 62 годин самостійної роботи. Закінчується іспитом.

Метою і завданням навчальної дисципліни «Програмування» є ознайомлення студентів з сучасною мовою програмування C# та оволодіння основними можливостями цієї мови, навичками хорошого стилю програмування, методами проектування та створення програм згідно сучасних технологій програмування.

Предмет навчальної дисципліни «Програмування» включає: вивчення основ алгоритмізації та побудови алгоритмів програм; вивчення базового синтаксису та основних елементів мови С#; вивчення основ ООП (об’єктно-орієнтованого програмування); створення консольних прикладень; створення простих Windows-прикладень.

Вимоги до знань та вмінь.

Студент повинен знати:

основні елементи мови С# – типи даних, оператори та керуючі інструкції мови; основні принципи ООП, правила визначення класів в мові С#.

Студент повинен вміти:

побудувати алгоритм розв’язку задачі відповідної складності, порівняти різні алгоритми і обрати оптимальний для конкретної задачі, створити консольне прикладення, що реалізує обраний алгоритм; налагодити та протестувати програму; використовуючи панель інструментів середовища, створити просте Windows-прикладення.

Місце в структурно-логічній схемі спеціальності. Спеціальна навчальна дисципліна «Програмування» є складовою циклу професійної підготовки фахівців освітньо-кваліфікаційного рівня «бакалавр», є базовою для вивчення спеціальної дисципліни «Комплексування геофізичних методів» та спеціальних дисциплін «Промислова геофізика і обробка даних на ЕОМ», «Системне програмування та комп’ютерні мережі», «Інформаційні технології в геофізиці», «Науково-дослідницький практикум з геофізики», «Обробка гравімагнітних полів на ЕОМ» циклу професійної підготовки фахівців освітньо-кваліфікаційного рівня «магістр» відповідної спеціальності.

Система контролю знань та умови складання іспиту. Навчальна дисципліна «Програмування» оцінюється за модульно-рейтинговою системою. Вона складається з 2 змістових модулів.

Форми поточного контролю: оцінювання виконаних лабораторних завдань та документації (звітів) по ним; контрольних робіт та самостійних контрольних завдань.

Підсумкова оцінка розраховується за накопичувальною системою. При цьому максимальна кількість балів встановлюється наступним чином:
  • за змістовий модуль 1 – 25 балів;
  • за змістовий модуль 2 – 35 балів.

У кожному змістовому модулі враховуються також наступні складові:
  • контрольна робота (на семестр 2 контрольні роботи) – до 10 балів;
  • за виконане і здане практичне завдання – кількість балів визначається в залежності від рівня задачі (див. нижче).


практичне завдання №1 (робота з вже готовою програмою, дослідження можливостей середовища Visual Studio.NET) – від 2 до 4 балів;

практичне завдання №2 (вивчення типів мови C# та операцій з ними) – від 4 до 6 балів;

практичне завдання №3 (вивчення розгалужень) – від 4 до 6 балів;

практичне завдання №4 (робота з циклами) – від 4 до 6 балів;

практичне завдання №5 (робота з масивами) – від 6 до 8 балів;

практичне завдання №6 (вивчення можливостей класів) – від 8 до 10 балів.

Всього в сумі від 28 до 40 балів.


Оцінка за виконане практичне завдання підвищується порівняно з мінімальною за рахунок додаткових балів (до 2 балів), якщо:
  1. текст програми є самодокументованим, використовуються правила хорошого стилю програмування (+1 бал);
  2. використовується оригінальний алгоритм, програма оптимізована (+1 бал);
  3. для побудови алгоритму використані відомості, самостійно набуті студентом з додаткових джерел (+1 бал).


Студенти, які не виконали план лабораторних робіт, отримують оцінку 0 балів за відповідний змістовий модуль.

Студентам, які достроково виконали план виконання практичних завдань першого змістового модуля, відповідна надлишкова кількість балів (тобто кількість, яка перевищує 25 балів) зараховується до другого змістового модуля.


За результатами семестру студент отримує підсумкову оцінку за 100-бальною системою.




Змістовий модуль 1 ( ЗМ1 )

Змістовий модуль 2 ( ЗМ2 )

Іспит (КПМ)

Разом
(підсумкова оцінка)


Оцінка (бали)

25*

35

40

100

* Вагове співвідношення модуля викладач визначає особисто з урахуванням специфіки предмета.

Розрахунок підсумкової оцінки за семестр (накопичувальної): ПО = ЗМ1+ ЗМ2 + КПМ .


Примітка. Екзаменаційний білет складається з 3 питань (2 теоретичних, кожне з яких оцінюється максимально у 16 балів, і 1 практичне, яке оцінюється максимально у 8 балів).


При цьому, кількість балів відповідає оцінці:

1-34 – «незадовільно» з обов’язковим повторним вивченням дисципліни;

35-59 – «незадовільно» з можливістю повторного складання;

60-64 – «задовільно» («достатньо») ;

65-74 – «задовільно»;

75 - 84 – «добре»;

85 - 89 – «добре» («дуже добре»);

90 - 100 – «відмінно».

Шкала відповідності1

За 100-бальною шкалою

Оцінка за національною шкалою

90 – 100

5

відмінно

85 – 89

4

добре

75 – 84

65 – 74

3

задовільно

60 – 64

35 – 59

2

незадовільно

1 – 34



НАВЧАЛЬНО-ТЕМАТИЧНИЙ ПЛАН ЛЕКЦІЙ І СЕМІНАРСЬКИХ ЗАНЯТЬ


№ теми

Назва теми

Кількість годин


Лекції

Лабораторні

Самостійна

робота

ЗМІСТОВИЙ Модуль 1. «Базові поняття програмування та їх реалізація засобами мови C#»

1

Базові поняття програмування

6

6

10

2

Загальний огляд платформи Microsoft .NET

2

2

5

3

Основи мови програмування C#

10

10

15

Модульна контрольна робота 1







1

ЗМІСТОВИЙ Модуль 2.
«Основи об’єктно-орієнтованого програмування та їх реалізація засобами мови C#»


4

Поняття про класи та методи. Робота з масивами даних в мові C#

8

8

15

5

Використання класів в мові C#

6

6

15

Модульна контрольна робота 2







1

Всього

32

32

62

Загальний обсяг (І семестр) - 126 год., в тому числі:

Лекції – 32 год.

Лабораторні – 32 год.

Самостійна робота - 62 год.


змістовий МОДУЛЬ І.
БАЗОВІ ПОНЯТТЯ ПРОГРАМУВАННЯ ТА ЇХ РЕАЛІЗАЦІЯ ЗАСОБАМИ МОВИ C#



ТЕМА 1. Базові поняття програмування (22 год.)


Лекція 1.

Основні поняття програмного забезпечення. Огляд процеса розробки програмного забезпечення. Етапи виконання комп’ютерної програми. Блок-схема та псевдокод як засоби, що використовуються у процесі розробки програми. Мови програмування. Процедурні та об’єктно-орієнтовані мови програмування. Місце мови С# серед сучасних мов програмування.


Лабораторне заняття 1.

Правила техніки безпеки в комп’ютерному класі. Поняття про середовище Visual Studio.


Завдання для самостійної роботи (4 год.)

Опрацювання матеріалів лекції. Опрацювання матеріалу на тему „Типи програм. Відмінності між Windows- та Web-прикладеннями”.

Література [3, 7, 8].


Лекція 2.

Представлення даних та двійкова арифметика. Необхідність типізації даних. Фундаментальні поняття типів даних та змінних. Змінні та константи. Правила іменування змінних. Операції. Використання програмного синтаксису.

Основні типи конструкцій в програмуванні. Використання розгалужень та циклів. Способи визначення логічних помилок. Культура програмування, поняття про ефективність алгоритму.


Лабораторне заняття 2.

Опис алгоритму з використанням псевдокода.


Завдання для самостійної роботи (3 год.)

Опрацювання матеріалів лекції. Опрацювання матеріалу на тему „Основні типи операцій”. Робота над практичним завданням.

Література [3, 6, 7].


Лекція 3.

Процедури та функції як засіб створення модульних програм. Поняття аргумента, поняття параметра. Формальні і фактичні параметри, їх зв’язок за значенням та за адресою. Вхідні та вихідні параметри. Повернення скалярного значення функцією. Рекурсія.


Лабораторне заняття 3.

Робота з блок-схемою програми.


Завдання для самостійної роботи (3 год.)

Опрацювання матеріалів лекції. Опрацювання матеріалу на тему „Принцип модульності у структурному програмуванні”. Робота над практичним завданням.

Література [3, 6, 7].


ТЕМА 2. Загальний огляд платформи Microsoft .NET (9 год.)


Лекція 4.

Огляд платформи Microsoft .NET. Огляд цикла розробки програмного забезпечення. Переваги платформи .NET. Компоненти платформи .NET.


Лабораторне заняття 4.

Перша програма мовою C#. Виконання практичного завдання №1 – створення консольного прикладення за наведеним зразком.


Завдання для самостійної роботи (5 год.)

Опрацювання матеріалів лекції. Набуття практичних навичок роботи в середовищі Visual Studio .NET. Робота над практичним завданням.

Література [2, 10].


ТЕМА 3. Основи мови програмування C# (35 год.)


Лекція 5.

Структура програми мовою C#. Основні елементи програми. Основні операції вводу/виводу. Засоби форматування. Компілювання, виконання та відлагодження.


Лабораторне заняття 5.

Виконання практичного завдання №2 – вивчення типів мови С# та операцій з ними.


Завдання для самостійної роботи (3 год.)

Опрацювання матеріалів лекції. Набуття практичних навичок роботи в середовищі Visual Studio .NET при створенні програм. Робота над практичним завданням.

Література [1, 2, 4].


Лекція 6.

Огляд загальної системи типів. Використання вбудованих типів-значень даних у мові C#. Створення типів даних користувача в мові C# (зліченні типи та структури). Перетворення типів (явне та неявне). Використання пробілів та дужок у виразах для покращення читання програми.


Лабораторне заняття 4.

Виконання практичного завдання №2 – вивчення типів мови С# та операцій з ними (продовження).


Завдання для самостійної роботи (3 год.)

Опрацювання матеріалів лекції. Опрацювання матеріалу на тему „Особливості вбудованих типів значень у мові C#”. Робота над практичним завданням.

Література [1, 2, 4].


Лекція 7.

Використання основних програмних конструкцій у мові C#. Розгалуження.


Лабораторне заняття 4.

Виконання практичного завдання №3 – вивчення розгалужень.


Завдання для самостійної роботи (3 год.)

Опрацювання матеріалів лекції. Опрацювання матеріалу на тему „Правила структурування коду програми”. Робота над практичним завданням.

Література [1, 2, 4, 5, 6].


Лекція 8.

Використання основних програмних конструкцій у мові C#. Цикли та оператори безумовного переходу.


Лабораторне заняття 8.

Виконання практичного завдання №3 – вивчення розгалужень (продовження).


Завдання для самостійної роботи (3 год.)

Опрацювання матеріалів лекції. Опрацювання матеріалу на тему „Методи локальної оптимізації”. Робота над практичним завданням.

Література [1, 2, 4, 5, 6].


Лекція 9.

Поняття виключної ситуації. Обробка основних виключних ситуацій. Генерування виключних ситуацій.


Лабораторне заняття 9.

Виконання практичного завдання №3 – вивчення розгалужень (продовження).


Завдання для самостійної роботи (3 год.)

Опрацювання матеріалів лекції. Опрацювання матеріалу на тему „Типи виключень”. Робота над практичним завданням.

Література [1, 2, 4].


Контрольні запитання до змістового модуля 1
  1. Назвіть базові елементи програми. Як вони відображаються графічно?
  2. Поясніть різницю у виконанні циклів з перед-умовою та з пост-умовою.
  3. Поясніть, за яких обставин зручно використовувати різні види циклів.
  4. Поясніть, що таке процедура та функція.
  5. Опишіть принцип компіляції у .NET.
  6. Поясніть терміни «проект» та «консольне прикладення».
  7. Опишіть структуру простої програми мовою C#.
  8. Перелічить основні скалярні типи даних мови C#.
  9. Поясніть правила іменування змінних.
  10. Поясніть, що значить використання змінної, оголошення змінної, ініціалізація змінної.
  11. Назвіть основні операції мови С#..
  12. Як діють оператори інкременту та декременту?.
  13. Поясніть різницю між явним і неявним перетворенням типів.
  14. Вкажіть основні інструкції, що реалізують розгалуження в мові мови С#.
  15. Перелічіть оператори циклів мови C#.
  16. Як діють інструкції break та continue?
  17. Поясніть, що таке виключення.
  18. Поясніть принцип обробки виключень в мові C#.



змістовий МОДУЛЬ ІІ.
ОСНОВИ ОБ’ЄКТНО-ОРІЄНТОВАНОГО ПРОГРАМУВАННЯ
ТА ЇХ РЕАЛІЗАЦІЯ ЗАСОБАМИ МОВИ C#



ТЕМА 4. Поняття про класи та методи. Робота з масивами даних в мові C# (31 год.)


Лекція 10.

C# як об’єктно-орієнтована мова. Поняття про визначення класу та створення об’єкту. Типи-значення та типи-посилання. Визначення класу, доступ до даних-членів класу. Визначення методів класу.


Лабораторне заняття 10.

Виконання практичного завдання №4 – робота з циклами.


Завдання для самостійної роботи (4 год.)

Опрацювання матеріалів лекції. Опрацювання матеріалу на тему „Способи передавання параметрів”. Робота над практичним завданням.

Література [1, 2, 4, 8, 9].


Лекція 11.

Використання методів. Використання параметрів. Параметри за замовчуванням. Рекурсія.


Лабораторне заняття 11.

Виконання практичного завдання №4 – робота з циклами (продовження).


Завдання для самостійної роботи (4 год.)

Опрацювання матеріалів лекції. Опрацювання матеріалу на тему „Пряма та непряма рекурсія”. Робота над практичним завданням.

Література [1, 2, 4, 8, 9].


Лекція 12.

Загальний огляд масивів як способу групування даних. Створення та використання масивів у мові C#. Використання конструкції new. Багатовимірні масиви. Масиви як параметри методів. Методи, що повертають масиви. Цикл по елементах масива (foreach).


Лабораторне заняття 12.

Виконання практичного завдання №5 – робота з масивами.


Завдання для самостійної роботи (4 год.)

Опрацювання матеріалів лекції. Опрацювання матеріалу на тему „Основні методи при роботі з масивами”. Робота над практичним завданням.

Література [1, 2, 4].


Лекція 13.

Структури в мові С# – це тип-значення. Приклади визначення та використання структур. Колекції. Порівняння масивів та колекцій.


Лабораторне заняття 13.

Виконання практичного завдання №5 – робота з масивами (продовження).


Завдання для самостійної роботи (3 год.)

Опрацювання матеріалів лекції. Опрацювання матеріалу на тему „Порівняння основних типів колекцій”. Робота над практичним завданням.

Література [1, 2, 4].


ТЕМА 5. Використання класів в мові C# (27 год.)


Лекція 14.

Створення об’єкту даного класу. Конструктор класу. Конструктор за замовчуванням та конструктор з параметрами. Створення параметризованих об’єктів класу.


Лабораторне заняття 14.

Виконання практичного завдання №6 – вивчення можливостей класів.


Завдання для самостійної роботи (5 год.)

Опрацювання матеріалів лекції. Опрацювання матеріалу на тему „Параметри методу Main”. Робота над практичним завданням.

Література [1, 2, 4, 8, 9].


Лекція 15.

Деструктор класу. Поняття про систему збору «сміття». Використання службового слова this.


Лабораторне заняття 15.

Виконання практичного завдання №6 – вивчення можливостей класів (продовження).


Завдання для самостійної роботи (5 год.)

Опрацювання матеріалів лекції. Опрацювання матеріалу на тему „Статичні методи класу”. Робота над практичним завданням.

Література [1, 2, 4, 10].


Лекція 16.

Управління доступом до членів класу, інкапсуляція. Передача об’єктів методам класу. Правила використання модифікаторів ref- та out- для параметрів методів.


Лабораторне заняття 16.

Виконання практичного завдання №6 – вивчення можливостей класів (продовження).


Завдання для самостійної роботи (5 год.)

Опрацювання матеріалів лекції. Опрацювання матеріалу на тему „Основні простори імен у .NET”. Робота над практичним завданням.

Література [1, 2, 4, 8].


Контрольні запитання до змістового модуля 2
  1. Що таке клас в мові С#?
  2. Як створити об’єкт?
  3. Що таке метод класу? Як відбувається звертання до методу класу?
  4. Що таке конструктор класу?
  5. Що означає «конструктор за замовчуванням»?
  6. Що таке деструктор класу?
  7. Як відбувається утилізація об’єктів, що не використовуються програмою?
  8. Як визначити масив в мові С#? Як його ініціалізувати?
  9. Як працює цикл foreach?
  10. Якими можуть бути параметри методів класу?
  11. Як визначити структуру в мові С#?
  12. Що таке колекція в мові С#?
  13. Що таке перезавантажені методи класу?
  14. Поясніть зв’язок між типом та екземпляром масива.
  15. Визначіть три основні характеристики об’єкта: ідентичність, стан і поведінку.
  16. Поясніть важливість інкапсуляції.
  17. Поясніть різницю між типами-значеннями та типами-посиланнями.
  18. Опишіть основні простори імен у .NET.
  19. Опишіть особливості конструктора за замовчуванням.
  20. Визначіть роль збирача сміття.


Перелік запитань на залік
  1. Процесс розробки програмного забезпечення, його мета, головні етапи.
  2. Цілі програмування та розробки програмного забезпечення.
  3. Використання змінних.
  4. Загальновживані оператори.
  5. Умовні конструкції.
  6. Цикли. Типи циклів.
  7. Процедури.
  8. Обробка помилок.
  9. Скалярні стандартні типи даних в мові C#.
  10. Скалярні типи користувача в мові C#.
  11. Основні операції в мові C#.
  12. Загальна структура програми мовою C#.
  13. Умовні оператори мови C#.
  14. Оператори циклу у мові C#.
  15. Введення і виведення інформації у мові C#.
  16. Методи в мові C#.
  17. Рекурсія. Пряма та непряма рекурсія.
  18. Типи параметрів у мові C#.
  19. Масиви у мові C#.
  20. Основні принципи об'єктно-орієнтованого підходу в програмуванні.
  21. Поняття інкапсуляції. Організація взаємодії об'єктів.
  22. Типи-значення та типи-посилання.
  23. Способи створення об’єктів.
  24. Способи знищення об’єктів. Збирач сміття.



СПИСОК РЕКОМЕНДОВАНОЇ ЛІТЕРАТУРИ

а) основна:
  1. Г. Шилдт. Полный справочник по С#. – М.: Издательский дом "Вильямс", 2008.
  2. Э. Троелсен. С# и платформа .NET. Библиотека программиста. – СПб. : Питер, 2007.
  3. Т.П. Караванова. Основи алгоритмізації та програмування. 750 задач з рекомендаціями та прикладами. – К.: Форум, 2002.
  4. Э. Кингсли-Хьюджес, К. Кингсли-Хьюджес. С# 2005. Справочник программиста. – М.: ООО «ИД Вильямс», 2007.
  5. Б. Керниган, Р. Пайк. Практика программирования. – СПб.: «Невский диалект», 2001.
  6. В. О. Грязнова, С. В. Єфіменко. Основи методології програмування. – К.: ВПЦ «Київський університет», 2005.

б) додаткова:
  1. Г. С. Иванова. Основы программирования: Учебник для вузов. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2002.
  2. Г. С. Иванова. Технология программирования: Учебник для вузов. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2002.
  3. Г. С. Иванова, Т. Н. Ничушкина, Е. К. Пугачев. Объектно-ориентированное программирование: Учебник для вузов. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2003.
  4. А. Дубовцев. Microsoft .NET в подлиннике. - СПб: "БХВ-СПб", 2004.




1 У РНП зазначається лише та шкала, яка відповідає формі підсумкового контролю, якщо іспит – з оцінками, якщо ж залік, відповідно «зараховано» чи «не зараховано».

усі модульні контрольні роботи проводяться лектором під час самостійної роботи студентів в обсязі 1 год.