Програмиране и структури от данни I
Увод в програмирането

Учебна програма, график на лекциите, учебни материали

Тема за 4 часова лекция Дата  Връзки
1. Увод - компютри, операционни системи, програмиране
-- Компютри и програмиране 
-- Езици за програмиране
16.09 l01

ch01

2. Увод - ІІ
-- Проста програма - компилиране и грешки 
-- Алгоритми 
-- Бройни системи
23.09 l01(cont)

ch01(cont)

3. Основни типове данни
-- Числени типове 
-- Вход и изход 
-- Оператор за присвояване 
-- Константи 
-- Аритметика 
30.09 l02

ch02

4. Низове и обекти
-- Низове, поднизове, конкатенация 
-- Форматиран изход
-- Конструиране на обекти 
-- Използване на обекти 
07.10 l03
l04

ch02(cont)
ch03

5. Обекти 
-- Обекти от реалния свят 
-- Работа с графични класове 
-- Сравняване на графична и числова информация 
*** [ І курсова задача ] ***
14.10 l04(cont)

ch03(cont)

*** [Първи тест] ***
6. Условни оператори - І
-- Условният оператор if 
-- Операции за числови сравнения 
-- Проверка за валидност на входните данни 
-- Операторът if/else 
-- Програмиране на алтернативи 
21.10 l05

ch04(cont)

7. Условни оператори - ІІ
-- Вложени условни оператори 
-- Логически операции 
-- Булеви променливи и закони на де Морган
*** [ Предаване на І курсова задача и I контролно ] ***
28.10 l06

ch07

8. Функции - І
-- Функциите като черни кутии 
-- Писане на функции 
-- Документиране на функции 
-- Връщане на стойност 
-- Параметри на функции 
-- Странични ефекти 
-- Процедури 
-- Параметри-псевдоними 
04.11 l07

ch05

9. Функции - ІІ
-- Област на действие на променливите, глобални променливи 
-- Постъпково прецизиране, създаване на кода, проиграване 
-- Предусловия и макрос assert 
-- Рекурсия
11.11 l08

ch05(cont)

10. Цикли - І 
-- Оператор while 
-- Оператор for 
-- Оператор do/while 
-- Безкрайни цикли 
-- Типични конструкции с цикъл: четене на данни и извеждане на таблици 
18.11 l09

ch07(cont)

11. Цикли - ІІ 
-- Итеративни алгоритми и сходимост на алгоритми 
-- Генериране на случайни събития и симулации 
-- Вложени цикли 
-- Област на действие на променлива 
*** [ ІІ курсова задача ] ***
25.11 l09(cont)

ch07(cont)

12. Тестване и настройка
-- Самостоятелно тестване на функция 
-- Подбор на тестови примери 
-- Оценка на резултатите от тестването 
-- Трасиране на програмата 
-- Работа на дебъгерът 
-- Стратегии при тестването
25.11 l10

ch08

*** [Втори тест] ***
13. Класове
-- Обособяване на класове 
-- Интерфейс и капсулиране 
-- Член-функции на класа 
-- Конструктори 
-- Достъп до полетата с данни 
-- Сравнение на член-функциите с другите функции 
-- Принципи на обектно-ориентираното програмиране 
 *** [ Предаване на ІІ курсова задача и IІ контролно ] ***
2.12 l11

ch06

14. Вектори - І
-- Използване на вектори за съхраняване на данни 
-- Индекси на вектори 
-- Векторите като параметри и стойности на функции 
*** [ ІІІ курсова задача ] ***

16.12
l12

ch09

15. Вектори - ІІ
-- Прости алгоритми за вектори 
-- Успоредни вектори 
-- Векторите като данни на обект
23.12 l12(cont)

ch09(cont)

*** [Трети тест] ***
*** [ Предаване на ІІІ курсова задача и IІІ контролно ] ***
Изпит

 

Заб. В колонката Връзки са дадени връзки към глави от книгата (l__):
http://www.math.bas.bg/~nkirov/book1.html
и слайдове на К. Хорстман от (ch0_):
http://www.wiley.com/college/horstmann/0471164372/wave_i.html