GMail

Ako pišete na fakultetske adrese sa svojih ličnih gmail adresa, računajte da vam odgovori verovatno neće biti isporučeni jer GMail često odbija poruke sa MATF servera poincare.

Алати за развој софтвера

Резултати испита -- септембар 1

Увид у радове до четвртка 12.9. путем маила (као и обично).

Суденти којима недостаје до 3 поена (укључујући и 3) за већу оцену, а немају максимум на пројекту, могу да дораде пројекат то 12.9. Кад их дорадите, предајте их поново путем истог формулара који сте користили приликом иницијалне предаје пројекта.

Замерке на пројекте су исте као у претходним роковима.

                    Испит  Пројекат  Оцена
mi18147                40        30      8
mi18267                35        30      7
mi19031                43        15      6
mi19107                45        30      8
mi19139                41        30      8
mi19182                30        30      7
mi19197                46        30      8
mi20043                52        30      9
mi20045                70        30      10
mi20104                30        20      6
mi20134                38        30      7
mi20139                60        30      10
mi20188                44        30      8
mi21409                32        30      7

-- студенти који су раније полагали испит
mi18165                30        30      7 (јун 1)
mi18193                30        30      7 (јан 2)
mi18261                34        30      7 (јун 1)
mi18283                38        15      6 (јан 2)
mi19073                39        15      6 (јан 2)
mi19074                43        30      8 (јун 1)
mi19115                32        30      7 (јун 1)
mi19127                47        30      8 (јан 2)
mi19238                43        15      6 (јун 1)
mi19257                34        20      6 (јан 2)
mi19267                31        30      7 (јун 1)
mi19287                38        15      6 (јан 1)
mi20002                50        30      9 (јан 1)
mi20018                58        30      9 (јан 1)
mi20064                30        30      7 (јун 1)
mi20131                48        30      8 (јан 2)
mi20159                30        30      7 (јун 1)
mi20370                37        30      7 (јун 1)
mi21391                46        15      7 (јан 2)
mi21400                43        15      6 (јан 2)

-- испод прага
mi18474                 0
mi19365                17        30      праг

Резултати испита -- јун 1

Увид у радове до четвртка 13.6. путем маила (као и обично).

Пројекте за овај рок можете да предате до недеље 16.6. Кад их дорадите, предајте их поново путем истог формулара који сте користили приликом иницијалне предаје пројекта.

Ако не желите да вам упишем оцену (ако желите поново да изађете на испит, или да дорадите пројекат за неки од наредних рокова), пошаљите ми маил.

                    Испит  Пројекат  Оцена
mi19120                30        25      6
mi19172                30        30      7
mi19180                37        25      7
mi19182                20        25      праг
mi19354                45        25      8
mi20082                30        30      7
mi20162                38        30      7
mi21399                40        20      7

-- студенти који нису предали пројекат
mi18147                19        није предат
mi18165                30        није предат
mi18261                34        није предат
mi19074                43        није предат
mi19115                32        није предат
mi19139                15        није предат
mi19238                43        није предат
mi19267                31        није предат
mi20064                30        није предат
mi20159                30        није предат
mi20370                37        није предат

-- студенти који су раније полагали испит
mi18144                36        25      7 (јан 2)
mi19039                46        30      8 (јан 1)
mi19105                41        30      8 (јан 2)
mi19152                38        20      6 (јан 1)
mi19188                56        30      9 (јан 2)
mi20080                51        30      9 (јан 2)
mi20088                38        20      6 (јан 2)
mi21404                53        30      9 (јан 2)

Резултати испита -- јан 2

Увид у радове до уторка 13.2. путем маила (као и обично).

Пројекте за овај рок можете да дорадите до петка 16.2. Кад их дорадите, предајте их поново путем истог формулара који сте користили приликом иницијалне предаје пројекта.

Ако не желите да вам упишем оцену (ако желите поново да изађете на испит, или да дорадите пројекат за неки од наредних рокова), пошаљите ми маил.

Неки коментари на пројекте:

  • пре предаје пројеката, проверите сва правила везана за пројекте на овој страници;
  • многи погрешно покрећу clang-tidy (без компилационе базе, без скрипте run-clang-tidy) и добијају грешке да, на пример, <vector> или QObject не постоје из чега некако закључе да clang-tidy нема замерке на љихов код;
  • изворни код не треба да се налази у репозиторијуму azrs-tracking, пројекат на коме радите има свој репозиторијум;
  • ако остављате линкове ка туђим изменама, наведите аутора и објасните зашто остављате линкове ка туђим изменама;
  • ако остављате линкове ка изменама, те измене траба да буду везане за тај конкретан задатак;
  • сам снимак екрана да сте покренули неки алат не говори ништа о томе како сте га користили;
  • ако после употребе неког алата нисте због резултата које сте добили изменили код (и поставили линк ка тим изменама), или бар нешто конкретно закључили о свом пројекту (што сте детаљно описали), пробајте поново;
  • Git репозиторијум пројекта не треба да садржи производе компилације, html фајлове које генеришу разни алати (gcov, clang-analyzer)... Ако желите да их поставите негде, њих још и можете да поставите у репозиторијум azrs-tracking.
                    Испит  Пројекат  Оцена
mi16087             32     20        6 (52)
mi16407             30     25        6 (55)
mi17035             46     30        8 (76)
mi17206             38     25        7 (63)
mi17485             47     30        8 (77)
mi18181             41     20        7 (61)
mi18222             36     30        7 (66)
mi19079             40     20        7 (60)
mi19082             37     20        6 (57)
mi19091             53     30        9 (83)
mi19103             55     30        9 (85)
mi19108             44     20        7 (64)
mi19150             61     30        10 (91)
mi19218             38     25        7 (63)
mi19228             41     30        8 (71)
mi19231             35     30        7 (65)
mi19241             43     30        8 (73)
mi19312             39     25        7 (64)
mi20025             52     30        9 (82)
mi20028             30     30        7 (60)
mi20034             48     25        8 (73)
mi20056             38     30        7 (68)
mi20062             34     22        6 (56)
mi20091             37     30        7 (67)
mi20095             47     30        8 (77)
mi20120             38     15        6 (53)
mi20127             48     22        7 (60)
mi20146             40     30        8 (70)
mi20169             37     30        7 (67)
mi20171             43     25        7 (68)
mi20205             42     30        8 (72)
mi20222             48     30        8 (78)
mi20350             35     25        7 (60)
mi20373             48     22        8 (70)
mi21387             46     25        8 (71)
mi22356             45     30        8 (75)

-- студенти који нису предали пројекат
mi18144             36     није предат
mi18193             30     није предат
mi18283             38     није предат
mi19073             39     није предат
mi19105             41     није предат
mi19127             47     није предат
mi19188             56     није предат
mi19257             34     није предат
mi20080             51     није предат
mi20088             38     није предат
mi20131             48     није предат
mi20378             30     није предат
mi21391             46     није предат
mi21400             43     није предат
mi21404             53     није предат

-- дорађени пројекти, испит положен у јануару 1
mi18117             30     30        7 (60)
mi18170             33     30        7 (63)
mi19065             32     30        7 (62)
mi19160             32     30        7 (62)
mi20015             62     30       10 (92)
mi20038             31     30        7 (61)
mi20098             41     30        8 (71)
mi20200             47     30        8 (77)
mi20271             60     30       10 (90)
mi21156             57     30        9 (87)

-- испод прага --
(пројекти су прегледани само за студенте који су положили испит)
mi18147             22
mi18165             18
mi18267              8
mi19182             22
mi20159             21
mi20162             18

Резултати испита -- јан 1

                    Испит  Пројекат  Оцена

mi18170             33     10        5
mi19036             35     30        7
mi19057             36     25        7
mi19066             35     30        7
mi19069             32     25        6
mi19081             43     20        7
mi19156             45     30        8
mi19163             61     30       10
mi19224             35     25        7
mi19255             40     20        7
mi19288             47     20        7
mi20042             55     30        9
mi20070             58     30        9
mi20073             51     30        9
mi20079             38     30        7
mi20084             50     30        9
mi20108             56     30        9
mi20187             30     20        6

mi18117             30     није предат
mi19039             46     није предат
mi19065             32     није предат
mi19287             38     није предат
mi20002             50     није предат
mi20015             62     није предат
mi20018             58     није предат
mi20038             31     није предат

mi19152             38      5        (не уносити)
mi19160             32     20        (не уносити)
mi20098             41     10        (не уносити)
mi20200             47     10        (не уносити)
mi20271             60     10        (не уносити)
mi21156             57     20        (не уносити)

-- испод прага --
(пројекти су прегледани само за студенте који су положили испит)

mi18181             25
mi18283             24
mi19073             22
mi19079             20
mi19091             16
mi19103             26
mi19218             17
mi19228             23
mi19241              5
mi19312             25
mi20062             24
mi20088             28
mi20127             18
mi20169             27
mi20171             23
mi20205             17
mi20350              4
mi21391              8
mr17321             26

-- пројекти из претходне године --

mi20359       25

Налози на студентском сервису алас

Проверите да су вам налози на сервису алас исправни:

Снимци предавања

Снимци предавања ранијих година:
Час 1: Увод у курс, GCC, BASH, Vim (није сниман)
Факултативно: Crazy code, crazy coders (W. E. Brown)
Час 2: Увод у Git
Час 3: Git - наставак
Час 4: Git From the Bits Up (T. Berglund)
Час 5: GDB
Час 6: Git и GitLab
Час 7: Пакети
Час 8: Санитајзери
Час 9: LCov, Hotspot, Git hooks, ...

Асистенти

Прагови

Праг на испиту је 30 поена, а на пројекту је 15.

Испит

Пример задатака какве можете очекивати на испиту видите овде.

Напомена: На испиту пакете који вам затребају за задатак ћете моћи да инсталишете преко конана. За овај пример изнад користите нормалан пакет менаджер који имате на систему (apt, yum...).

Пројекти

Пројекти се раде у тиму, али се оцењују појединачно -- свакоме се бодују они задаци које је урадио/ла. Максималан број поена који је путем пројекта могуће освојити је 30. Оцењује се примена алата који се обрађују на предавањима и вежбама, али и других алата које сте користили.

Рок за предају пројеката

Пројекте ће бити могуће предавати у свком испитном року преко наредног линка:

https://forms.gle/8r8fbTR8qNzPSXtn8

Последњи дан за предају пројекта за сваки испитни рок је термин испита.

Студенти који су претходне године радили пројекат, нека се пријаве преко истог овог формулара и нека ставе "од претходне године, XX poena" уместо линка ка канбан табли (замените XX бројем поена који сте имали на пројекту).

Резултати ће бити објављивани заједно са резултатима испита.

Информације о изради пројеката

Можете да радите следеће:

Задаци

На личном GitLab налогу направити пројекат који ће се звати azrs-tracking и у њему направити канбан таблу и картице за сваки од задатака које планирате да урадите. Овде ћете водити евиденцију о прогресу задатка и описивати начин употребе алата који су у том задатку коришћени.

Дакле, направите канбан картице за сваки задатак, и док радите на задатку додајете коментаре у самој картици шта сте и како урадили. Додајте и снике екрана алата током употребе.

Додатак: На сваки задатак ставите таг на који се алат односи. Тагови треба да буду написани малим словима, речи унутар тага раздвојене цртицама. На пример, за Git, таг би био git, за Clang Format би био clang-format, и слично.

Битно: Сврха алата је да унапреде квалитет неког софтвера. Тако да, кад алатом детектујете неки проблем и направите измене над изворним кодом пројекта над којим сте применили алат, пошаљите merge захтев, и линк ка захтеву такође додате као коментар на картици.

Сам репозиторијум azrs-tracking не мора да садржи ништа, -- код пројекта држите у репозиторијуму у ком радите, а извештаји су унутар канбан табеле. Отварате репозиторијум да бисте могли да направите канбан таблу.

У сваком испитном року ће бити објављиван формулар преко ког предајете завршен пројекат (линк ка канбан табели).

Git (таг git)
Користити неки познати модел гранања, писати уредне commit поруке, користити merge захтеве приликом прављења измена на пројекту.
GDB (таг gdb)
Користити дибагер приликом налажења неке грешке у пројекту на коме радите и исправити ту грешку.
GDB (таг gdb-command)
Направити неку корисну команду за GDB (Python додатак).
CI (таг ci)
Осмислити и имплементирати неколико неуобичајених CI задатака који ће се извршавати кад год се нова ревизија кода пошаље на сервер.
git hook (таг git-hook)
Осмислити и имплементирати бар 3 неуобичајена git hook-a.
CMake (таг cmake)
Направити или унапредити CMakeLists.txt за пројекат (ако је други члан тима направио CMakeLists.txt, додајте неке новине у исти).
Valgrind (таг valgrind)
истражити функције које троше више времена него што би требало и решити проблем.
Gammaray (таг gammaray)
У случају да пројекат користи Qt, испитати апликацију -- кориснички интерфејс и да ли има проблема у истом.
ClangTidy (таг clang-tidy)
Аутоматски рефакторисати код изабраним clang-tody проверама. Објаснити због чега сте укључили баш те провере.
ClangFormat (таг clang-format)
Направити свој формат заснован на неком већ постојећем. Обезбедити да је цео пројекат форматиран тим стилом.
Статичка анализа кода (тагови cppcheck, clang-tidy, clazy, clang-analyzer)
Преко неког од алата за статичку анализу кода наћи 2-3 проблема у пројекту на коме радите. Исправите проблем и пошаљите закрпу путем merge захтева.
Docker (таг docker)
Припремити апликацију да се може покренути као Docker контејнер (докеризовати). Бонус: комбиновати са CI.
GCov (таг gcov)
Генерисати coverage извештај за пројекат.
Остали алати
На пројектима ће бити урачунато и ако сте испробали и документовали употребу и неких алата који нису предавани на курсу.

Завршетак пројеката

  • пре предаје пројеката, проверите сва правила везана за пројекте на овој страници;
  • многи погрешно покрећу clang-tidy (без компилационе базе, без скрипте run-clang-tidy) и добијају грешке да, на пример, <vector> или QObject не постоје из чега некако закључе да clang-tidy нема замерке на љихов код;
  • изворни код не треба да се налази у репозиторијуму azrs-tracking, пројекат на коме радите има свој репозиторијум;
  • ако остављате линкове ка туђим изменама, наведите аутора и објасните зашто остављате линкове ка туђим изменама;
  • ако остављате линкове ка изменама, те измене траба да буду везане за тај конкретан задатак;
  • сам снимак екрана да сте покренули неки алат не говори ништа о томе како сте га користили;
  • ако после употребе неког алата нисте због резултата које сте добили изменили код (и поставили линк ка тим изменама), или бар нешто конкретно закључили о свом пројекту (што сте детаљно описали), пробајте поново;
  • Git репозиторијум пројекта не треба да садржи производе компилације, html фајлове које генеришу разни алати (gcov, clang-analyzer)... Ако желите да их поставите негде, њих још и можете да поставите у репозиторијум azrs-tracking.