Технология на програмирането 2017-2018

Кирил Митов

Въведение

Оценяване

Домашните за важни. Контролните също.

Теми на курса

Първоначалния план е да разделим курса на конкретни малки теми от по 4 -6 седмици всяка.

План

Работим с много технологии, но общата цел на курс е разработка на качествен софтуер, следване на процеси, тестване.

  1. Запознаване с курса и изискванията към курса, както и с Ръководството за академична честност в ТУЕС.

Тема 1 – RoR, CSV

Обрабокта на финансови документи. Да се върви по ledger и да се намират приходи, разходи, баланс. Да се вадят статистики. Целта е да се усвои работата с CSV документи. Приложенията да бъдат web и да са качени на heroku.

  • Да се уточнят нужните понятия относно „пари“ и финансова обработка на документите
  1. Инсталиране на Ruby и няколко прости примера с Ruby
  2. Инсталиране на Rails  и няколко прости примера с Rails
  3. Да се мине през ресурсите за Ruby със следните задължителни
    1. Beginners guide Ruby
    2. Try Ruby
    3. Ruby in Twenty Minutes
    4. Програмиране с Руби
  4. Да се разработят за домашно и предадът програми за решавана на прости математически задачи с езика Руби. Програмата да приема аргументи от командния ред и да връща резултат.
  5. Да ре мине през ресурсите за Rails със следните задължителни
    1. http://guides.rubyonrails.org/getting_started.html
    2. https://scotch.io/tutorials/build-a-restful-json-api-with-rails-5-part-one
  6. Качване ан приложения върху Heroku.
  7. Да се реализират набор от задачи върху CSV документи
    1. Качват се CSV документът и се отговаря на въпросът
      1. каква е сумата в колона Х
      2. колко за записите в колана У отговарящи на условие в колона Z
      3. да се намери интервалът от 30 последователни дни в които нетният приход да е най-голям
      4. да се направи линейна регресия на данните и да се намерят съответните уравнения.

Тема 2 – RoR, RSpec, JSON, API, Web

Да се разработи приложение за скрити, криптирани съобщения подобно на https://privnote.com/. Да се разработят тестове за него.

  1. Работа с модели, бази и съхранения.
  2. Разработка на RSpec тестове върху функционалността.
  3. Генериране на сигурно URL – криптиране, хеш, случайност. Съхранение на данните сигурно.
  4. Разработка на JSON API за приложението – възможност за създаване на съобщение чрез curl заявка. Работа с JSON документи.
  5. Да има възможност при плащане, човек да получи допълнителни функционалността от приложението. Плащането да е с PayPal.

Тема 3 – JavaScript, Ajax, Angular 2, Jasmine, XML

Да се разработи JavaScript интерфес, който работи с API-то предоставено Тема 2.

Тема 4- JavaScript, Canvas и векторна графика

Да се разработи прост редактор на векторна графика чрез Three.js, в който да се чертаят прости фигури. Да се разработи приложение за съхранение на тези прости фигури в SVG формат на сървър качен на Heroku.

Тема 5 – node.js

 

Дневник за оценяване, домашни и други неща

Матерали от занятията, които не са в github

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