Увод у рачунарство 2

Акроним
1Ц09МНС902
Статус предмета
обавезан
Семестар
2
Фонд часова
3П + 2В
Број ЕСПБ
7.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.

Облици провјере знања и оцјењивање

Колоквијум(и), у облику списка задатака. Писмени (практични) испит. Теоријски испит, у облику теста и усменог

Методе извођења наставе

Предавања. Вођена дискусија. Вјежбе.