Навигација

1Ц19МИН007 - Увод у организацију и архитектуру рачунара 2

Спецификација предмета
Тип студијаАкадемске студије првог циклуса
Студијски програмМатематика и информатика
НазивУвод у организацију и архитектуру рачунара 2
АкронимСтатус предметаСеместарФонд часоваБрој ЕСПБ
1Ц19МИН007обавезан23П + 2В8.0
Наставници
Наставник (предавач)
Наставник/сарадник (вјежбе)
Условљност другим предметимаОблик условљености
Увод у организацију и архитектуру рачунара 1Положен испит
Циљеви изучавања предмета
1. Упознавање са је језиком асемблера. 2. Упознавање са вишим програмским језиком Пајтоном. 3. Развијање програмерског погледа на рачунар као машину. 4. Програмско упознавање са могућностима које рачунар нуди као машина за аутоматску обраду података, имајући у виду различите парадигме, технологије, и примјене. 5. Разумијевање из програмерског угла: меморијског модела, похране података (типови и представа), рада са улазом и излазом, те прекидима и изузецима; 6. Постављање темеља за праћење курсева: Структуре података и алгоритми, Конструкција и анализа алгоритама.
Исходи учења (стечена знања)
Студент би требао да овлада сљедећим: - познавање карактеристика писања кода на језику асемблера; - познавање основних веза између нижих и виших програмских језика; - писање простих процедуралних скрипти на рачунарском програмском језику Пајтон. основи тестирања кода. - дефинисање програмских класа на Пајтону према датој спецификацији; - познавање меморијског модела извршавања кода. - програмско пројектовање простог графичког корисничког прочеља (У/И интеракције) и познавање MVC-a; - програмско качење на базу података и извршавање простих SQL-исказа; - познавање клијент-сервер модела; - разликовање различитих начина програмирања упоредних прорачуна.
Садржај предмета
Основи програмирања на језику асемблера. Увод у програмирање на рачунарском програмском језику Пајтон. Типови. Промјенљиве. Наредба додјеле. Унос и испис. Уграђене функције. Дефинисање сопствених функција. Документовање функција и коментарисање кода. Визуелизација позивног стека (слога). Претварање типова. If-искази. Индексирање и исијецање. Методи знаковних ниски. Листе. Функција range. For и While циклуси. Упоредне и угнијежђене листе. Угнијежђени циклуси. Обрада датотека. N-торке. Рјечници. Извртање рјечника. Увод у тестирање. Јунитест. Увод у анализу алгоритама. Линеарна претрага листе. Бинарна преграга листе. Поређење претрага. Уређење размјеном сусједних. Уређење избором. Уређење уметањем. Увод у објектно-оријентисано програмирање. Формирање нових типова. Функције као аргументи. Подразумијевани и именовани аргументи. Изузеци. Увод у пројектовање графичког корисничког прочеља. Увод у базе података. Упознавање са клијент-сервер моделом. Флинова таксономија. Упознавање са упоредним прорачунима.
Методе извођења наставе
Предавања. Вођена дискусија. Вјежбе.
Литература
  1. Jennifer Campbell, Paul Gries, Jason Montojo, Greg Wilson, Practical Programming: An Introduction to Computer Science Using Python 3, Pragmatic Bookshelf, 2017.
  2. Милош А. Ковачевић, Основе програмирања на Пајтону, Грађевински факултет у Београду, Београд, 2021.
  3. Група аутора, Методичка збирка задатака из основа програмирања --- Python, Друштво математичара Србије и Фондација “Петља”, Београд, 2019.
Облици провјере знања и оцјењивање
Колоквијуми. Завршни (теоријски) испит.