СУ ”Св. Климент Охридски”

У Ч Е Б Н А   П Р О Г Р А М А

По дисциплината: 	Конструиране на качествен програмен код	
Преподавателски екип: 	Светлин Наков
Борис Червенков
Красимир Семерджиев	
Факултет: 	ФМИ	
Катедра:	Информационни технологии	
Лекции: 	4 часа седмично	
Семинарни занятия: 	2 часа седмично	
Web site: 	http://codecourse.sourceforge.net/ 	

София, 2002 година

Конструиране на качествен програмен код

Едносеместриален изборен курс (4+2+0) за студенти от ФМИ

Преподавателски екип:

Светлин Наков
е-mail: code@nakov.com

Борис Червенков
е-mail: boris@abv.bg

Красимир Семерджиев
е-mail: evilyeti@abv.bg

Анотация:
Курсът “Конструиране на качествен програмен код” е предназначен за студентите от всички курсове, специалности и специализации във ФМИ на СУ, които се интересуват от принципите и методите за създаване на висококачествен програмен код. В него се разглеждат теми от следните основни области: създаване на подпрограми (процедури и функции), структурно и модулно програмиране, използване на променливи и структури от данни, използване на логически конструкции за управление, подреждане и документиране на код, качество на кода, техники за дебъгване и настройка.

Course Description:
Тhe “High-quality programming code construction” course objective is to introduce the students to principles of writing high-quality, highly reliable, easy-to-read and maintainable programming code. Most important topics covered are: building routines, structured and modular programming, using variables and data structures, using control structures, code layout and documentation, code quality, debugging and code-tuning.

Изисквания към студентите:
•	Владеене на английски език – всички лекции и учебни материали са на английски език
•	Основни познания по програмиране, независимо от програмния език

Изпити и оценки:
Крайната оценка се формира от два теста, направени по време на семестъра и курсова разработка, като тежестта им е съответно: 25%, 25% и 50%. Темата на курсовата разработка се задава от преподавателите след провеждането на първия тест. Всеки студент трябва да напише теоретично изледване върху зададения проблем, използвайки най-съвременни статии, книги и материали от Internet. Курсовите проекти и тестовете са задължителни.

За повече информация:
http://codecourse.sourceforge.net/

Учебни занятия:
Сряда, 18-21 часа, зала 200 на ФМИ
Четвъртък, 18-21 часа, зала 325 на ФМИ

УЧЕБНА ПРОГРАМА
по “Конструиране на качествен програмен код"
1.	Уводни бележки
1.1.	Въведение в конструирането на програмен код
1.2.	Необходими предпоставки за създаване на качествен програмен код
2.	Дизайн на програмния код
2.1.	Методи за създаване на подпрограми
2.2.	Качествени подпрограми – основни характеристики
2.3.	Качествени подпрограми – принципи за здравина и независимост
2.4.	Модулно програмиране и скриване на информация
2.5.	Дизайн на кода – структурен и обектно-ориентиран
2.6.	Дизайн на кода – методология
3.	Променливи и данни
3.1.	Създаване на данни в програмирането
3.2.	Имена на променливите – общи правила
3.3.	Имена на променливите – конвенции
3.4.	Правилно използване на променливите
3.5.	Работа с фундаментални типове данни – числови, символни, булеви
3.6.	Работа с фундаментални типове данни – константи, масиви, указатели
3.7.	Сложни типове данни
4.	Конструкции за управление
4.1.	Организиране на праволинейния код
4.2.	Използване на условни конструкции за управление
4.3.	Работа с конструкции за цикъл
4.4.	Необичайни конструкции за управление
4.5.	Общи принципи при конструкциите за управление – прост и разбираем код
4.6.	Общи принципи при конструкциите за управление – структурно програмиране
5.	Други принципи при разработка на код
5.1.	Оформяне и стил на програмния код – общи принципи
5.2.	Оформяне и стил на програмния код – конкретни стъпки
5.3.	Документиране на кода – отделна документация или разбираем код
5.4.	Документиране на кода – принципи и техники
5.5.	Среди и инструменти за разработка
5.6.	Зависимост между големината на проекта и програмния код
5.7.	Управление на процеса на разработка – принципи и методи
5.8.	Управление на процеса на разработка – и програмистите са хора
6.	Контрол върху качеството на кода
6.1.	Качество на софтуера – въведение
6.2.	Преглед на програмния код (code review)
6.3.	Тестване на кода – методология
6.4.	Дебъгване на кода – намиране и отстраняване на грешки
6.5.	Дебъгване на кода – методи и инструменти
7.	Внедряване, настройка и поддръжка на кода
7.1.	Системна интеграция
7.2.	Настройка и оптимизация на кода – въведение
7.3.	Настройка и оптимизация на кода – оптимизация на цикли, логика и данни
7.4.	Настройка и оптимизация на кода – оптимизация на изрази и подпрограми
7.5.	Еволюция на програмния код
8.	Съвременни тенденции в конструирането на програмен код