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

 

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

 

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

 

Светлин Наков

е-mail: codenakov.com

 

Борис Червенков

е-mail: borisabv.bg

 

Красимир Семерджиев

е-mail: evilyetiabv.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.      Съвременни тенденции в конструирането на програмен код