Страница на курса "Програмиране 101"
Зимен семестър, 2011г.

HomeLectionsProblemsScores

 

Лекции

Лекция 1 (5. Октомври, 2011):
(lection summary as pdf)

  • Увод. Какво ще представлява, как ще се оценява и какво ще се разглежда в курса. Защо той би бил интересен и полезен? Първи няколко задачки.

Лекция 2 (11. Октомрви, 2011):
(lection summary as pdf)

  • Първи час: Стилове на форматиране на кода и именуване на променливите. Използване на header файлове и cpp файлове. Криене на имплементацията. Обектно-ориентирана (в смисъл на модулна) структура на кода. Ползи от нея.
  • Втори час: Задачи от интервюта.

Лекция 3 (18. Октомври, 2011):
(lection summary as pdf)

  • Първи час: Как протича животът на парче код. Системи за менажиране на код. С какво са полезни те. SVN. Основни операции в SVN. Демонстрация на SVN и някои от основните му операции (която не се получи поради предизборно-синия проектор, но да се надяваме следващия път). Измерване на време. Използване на таймери и часовници.
  • Втори час: Задачи от интервюта.

Лекция 4 (25. Октомври, 2011):
(lection summary as pdf)

  • Първи час: Алтернативи на SVN: GIT, Mercurial, CVS, SourceSafe / Team System. Разлика между дистрибутирани и централизирани version control системи. Сравнение между SVN, Git и Mercurial. Псевдо-рандом функции. Генератори на случайни числа. По-добри генератори на случайни числа.
  • Втори час: Задачи от интервюта.

Лекция 5 (1. Ноември, 2011):
(lection summary as pdf)

Няма да се проведе занятие, тъй като било ден на народните будители.
Duh, кой не знае, че 1-ви Ноември е официален празник?

Лекция 6 (8. Ноември, 2011):
(lection summary as pdf)

  • Първи час: Ефективно четене и писане от файлове в C++ и Java. Буфери. C style четене и писане (fscanf, fprintf).
  • Втори час: Задачи от интервюта.

Лекция 7 (15. Ноември, 2011):
(lection summary as pdf)

  • Тест 1. 25 въпроса върху лекции 2, 3, и 4. Време за работа 50 минути.

Лекция 8 (22. Ноември, 2011):
(lection summary as pdf)

  • Първи час: Системи за следене на бъгове (Bug tracking systems). Каква е тяхната идея. Flowchart на „живота” на един бъг в такава система. Фиксване на бъг ползвайки Bug Tracking System-a (демонстрация).
  • Втори час: Задачи от интервюта.

Лекция 9 (29. Ноември, 2011):
(lection summary as pdf)

  • Първи час: Писане на коментари и документация. Програми за автоматично създаване на документация. Javadoc.
  • Втори час: Задачи от интервюта.

Лекция 10 (36. Ноември, 2011):
(lection summary as pdf)

  • Първи час: Разлика между компилирани и интерпретирани езици. Защо Java е по-бавна. Защо все пак някои хора харесват Java повече. Статистики. Пренасочване на входа и изхода. Допълнителна информация по някои от взетите теми.
  • Втори час: Задачи от интервюта.

Лекция 11 (13. Декември, 2011):
(lection summary as pdf)

  • Тест 2. 25 въпроса върху лекции 6, 8, 9 и 10. Време за работа 50 минути.

Лекция 12 (20. Декември, 2011):
(lection summary as pdf)

  • Първи час: Разглеждане на въпросите от Тест №2.
  • Втори час: Задачи от интервюта.

Лекция 13 (27. Декември, 2011):
(lection summary as pdf)

  • Неучебен ден.

Лекция 14 (3. Януари, 2012):
(lection summary as pdf)

  • Първи час: Автоматично тестване на кода. UNIT tests. Защо са полезни. Какво трябва да обхващат. Как да създаваме такива. Системи за тестване.
  • Втори час: Задачи от интервюта.
Лекция 15 (10. Януари, 2012):
(lection summary as pdf)
  • Първи час: Review Boards. Какво представляват те и защо са създадени. Flowchart на „живота” на един patch в такава система. Работа през SSH.
  • Втори час: Задачи от интервюта

Лекция 16 (17. Януари, 2012):
(lection summary as pdf)

  • Първи час: Mакроси. Не много добре познати думи като "inline", "static", "volatile". Разлика в скоростта при изпълняване на различни операции. Операции с целочислени и нецелочислени числа. Как работи компилаторът. Препроцесор, премахване на коментарите, генериране на асемблерски код, пренареждане на кода, други оптимизации.
  • Втори час: Задачи от интервюта

Финален тест и поправки на тест 1 или 2, първа дата
(25. Януари, 2012 от 19:00, зала 101)

  • 50 въпроса върху целия материал. Време за работа: 100 минути.
  • Хората, които не са могли да правят тест 1 или 2 ще имат тази възможност при време за работа 50 минути и -5 точки.

Финален тест и поправки на тест 1 или 2, втора дата
(16. Февруари, 2012 от 10:00, зала 101)

  • 50 въпроса върху целия материал. Време за работа: 100 минути.
  • Хората, които не са могли да правят тест 1 или 2 ще имат тази възможност при време за работа 50 минути и -5 точки.
Нанасяне на оценките
(17. Февруари, 2012, от 18:00 до 19:00, ФМИ)
  • Нанасяне на оценките.

Непреподаден материал:
Скритпов език Bash. Прекомпилирани библиотеки. Опции на компилатора.


Web design by Alexander 'espr1t' Georgiev, 2012