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

Учебна програма

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

ch01

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

ch01(cont)

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

ch02

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

ch02(cont)
ch03

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

ch03(cont)

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

ch04(cont)

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

ch07

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

ch05

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

ch05(cont)

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

ch07(cont)

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

ch07(cont)

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

ch08

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

ch06

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

ch09

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

ch09(cont)

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

14.01
15.01
Поправка:
12.02
13.02

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