Технология на програмирането 2013/2014

Кирил Митов

Въведение

През учебната 2013/2014 за втори път обучението се провежда под Методология „ръкопашен бой“, Колани, Оценяване.

Предметът „Технология на програмирането“ се изучава в 11 клас от ученици на ТУЕС. Има за цел да въведе учениците в технологиите, процесите и средствата за разработка на софтуер. Разглеждат се итеративни процеси, използвани в индустрията, като се отделя внимание на събирането и обсъждането на изискавнията, оргинизирането на екипа, избор на технологични решения, разработка на unit (JUnit, CUnit и др.) тестове, използване на системи за управление на версиите (Mercurial, CVS, SVN), поддържане качеството на кода, „refactoring“, „debugging“, Test Driven Development, средства за автоматизиране (make, ant, maven) и др.

Разглеждат се Java и Eclipse, разработката на десктоп приложения (SWT, JFace), работа с бази данни (JDBC), разработката на Eclipse Plug-ins, разработка на web приложения (GWT).

Обръща се внимание на други  програмни езици като Python и Ruby.

Предметът завършва с представяне на разработено приложение по проект на учениците, в който могат да използват програмен език, среда и технологии по свой избор.

Материалът се базира на добрите практики от Основи на Java и Eclipse, изучаван в ТУЕС през 2007, 2008, 2009 като свободно избираем предмет. Систематизиран и подобрен е през учебната 2009/2010 като част от задължителния предмет Технология на програмирането. През учебната 2010/2011 беше въведено допълнитено представяне на процеса на разработка на софтуер. През учебната 2011/2012 част от материала за втория срок беше преместен в първия срок и следователно целият материал беше значително обогатен.

Методология – „ръкопашен бой“

Въвежда се през 2012-2013 година и повече за нея можете да прочетете на:

http://lubo.elsys-bg.org/software_engineering/2012-2013/

Оценяване

С въвеждането на „ръкопашен бой“ методологията се променя и начина на оценяване на учениците.

Изпитите се провеждат както следва. По време на изпита може да се явят участващи за различни колани. Но при явяване на изпит трябва да имате всички реализирани домашни за съответния изпит.

Първи срок

  • първи изпит – седмица 5
  • втори изпит – седмица 10
  • трети изпит – седмица 15
  • за шестица – син колан
  • за петица – зелен колан
  • за четворка – жълт колан
  • за тройка – жълт колан
  • за двойка – бял колан

Втори срок

Спрямо постигнатото в първия срок и обратната връзка, ето и как ще протече вторият срок и кои ще са важните неща. Забелязах, че коланите са забавни, но не носят резултата, който търся, а именно да научите нещо. Все пак са полезни защото носят обратната връзка за постигнат резултат. Задачите през втория срок ще стават и по-трудни и разнообразни и трудно ще мога да ги оценявам по същия начин. Това е предложението в момента:

  1. Домашни за по 2 седмици в групи по 4-5 човека. Кратки проекти. Демонстрират се точно в 2 минути, дали работят или не. Всяко домашно носи 0-точки (не е направено), 1 точка (има нещо работещо, но не е както трябва), 3 точки (изпълнили сте ВСИЧКИ изисквания). Малко като във футбола са точките.
  2. Проекти в отбори от 2-ма.  Трябва да защитите три итерации. На края на всяка итерация се гледа дали сте изпълнили каквото сме се договорили. Получават се 0 точки (нищо не сте направили), 1 точка (има нещо работещо, но не е както трябва), 3 точки (изпълнили сте ВСИЧКИ изисквания). За да се явите на защита на итерациите, трябва да имате изпълнени всички домашни, до този момент. Те вероятно ще са две за всяка итерация, но може да варират. Ако ги нямате не можете да се явите на защита на итерациите и автоматично получавате 0 там. Получените от този проект точки се утрояват накрая.
  3. Изпити по предавания предмет вероятно няма да има, но ще го реша в зависимост от това колко бързо вървим. Ако има изпити всеки изпит носи -3 точки (нищо не сте направили – обърнете внимани, че са минус 3 точки), 1 точка (има нещо работещо, но не е както трябва), 3 точки (изпълнили сте ВСИЧКИ изисквания).
  4. Присъствията са по 0.(3) точки.
  5. Изпити на края на срока за повишаване на оценки, няма да има.

Крайният резултат се сформира по следния начин:

0-30% – не сте се справили

31-100% – разделяме скалата на 3.

Можете да видите схемата в Дневника

Книги и ресурси

Материали от минали години:

Материали за 2013/2014 година:

Матералите за учебния план се намират https://drive.google.com/folderview?id=0B2u3mIflzKI4Y0MtT1RkMFlaRnc&usp=sharing

Хранилище на целия код

През тази година целия код ще се качва в хранилище в Github. Можете да го достъпите през https://github.com/thebravoman/software_engineering_2013/

Глава първа – въведение, CSV и текстови файлове, git, mercurial

Глава Трета. Разработка на софтуер

  • Занятие 26: HeadFirstSD_ch01_GreatSoftwareDevelopment,
  • Занятие 27: HeadFirstSD_ch02_GatheringRequirements
    • Да се разработят User Story и решение за време за RoboSimulator – онлайн платформа за симулиране на роботи
    • 00:00 – начало и подготовка за срещата с клиент на всеки от отборите. Да си направят проучване и запишат въпросите, които смятат да зададът.
    • 00:15 – Разговор с клиента и въпроси и отговори.
    • 00:30 – Подготовка на User Story
    • 00:45 – Определяне на времето за всяко UserStory
    • 00:60 – Крайна оценка колко ще отнеме
  • Занятие 28: HeadFirstSD_ch03_ProjectPlaning,
  • Занятие 29: HeadFirstSD_ch04_UserStoriesAndTasks
  • Занятие 30:
    • Кои сте вие?
    • Какъв е проблемът?
    • Какво е решението му?
    • Какви бяха предизвикателствата?
    • Какво най-много научихте?
    • Wiki, Демо, Видео, CodeCoverage

Вашият коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *