Да ли сте спремни за Унапредите своју каријеру?

Наш програм је специјализован у области софтверских система и развоја софтвера користећи ООП (Јава), веб апликације и науку о подацима. Основне области студирања су: напредни развој софтвера, програмирање веб апликација и архитектура, аналитика великих података и технологије, стројно учење и неколико важних подручја примјене.

Сви курсеви су осмишљени да вам помогну да унапредите своју каријеру и сваки курс садржи практичне задатке. Поглед захтјеви за дипломирање.

НОВО! Награђивани Дата Сциенце Трацк

Стандардни основни курсеви

  • Савремене праксе програмирања (Јава програмирање) (ЦС КСНУМКС)

    Овај курс представља основне принципе објектно оријентисаног програмирања. Студенти ће научити како писати софтвер који се може поново користити и боље одржавати, те интегрирати ово знање с лабораторијским задацима и пројектима. Теме укључују: основне принципе и моделе објектно-оријентисаног програмирања, УМЛ дијаграме класе и принципе дизајна који промовирају поновну употребљивост и одрживост софтвера. (КСНУМКС јединице)

  • Напредни развој софтвера (ЦС КСНУМКС)

    Овај курс разматра актуелне методе и праксе за добар дизајн софтверских система. Теме обухватају: обрасце дизајна софтвера, оквире, архитектуре и системе дизајнирања за примјену ових вишеструких апстракција. (КСНУМКС-КСНУМКС кредити) Предуслов: ЦС КСНУМКС или пристанак факултетског одјела.

  • Алгоритми (ЦС КСНУМКС)

    Овај курс представља методе за анализу ефикасности алгоритама (укључујући анализу најгорег и просјечног случаја) и уводи низ познатих, високо ефикасних алгоритама. Анализа, дизајн и имплементација алгоритама имају једнак нагласак. Теме укључују претраживање и сортирање, ефикасност операција на структурама података (укључујући листе, хасхтаблес, балансирана бинарна стабла претраживања, приоритетне редове), графичке алгоритме, комбинаторне алгоритме, повратне односе, динамичко програмирање, НП-комплетне проблеме и неке посебне теме као вријеме омогућава. (Посебне теме укључују рачунску геометрију, алгоритме за крипто системе, апроксимацију, велике податке и паралелно рачунање.)

  • Рачунарске мреже (ЦС КСНУМКС)

    Циљ овог курса је да се упознају са концептима, принципима архитектуре и терминологијом рачунарских мрежа истражујући како мреже функционишу и развијају мрежне апликације. Овај курс прати топ-довн приступ разумијевању мрежа кориштењем интернет архитектуре и протокола као примарног примјера имплементације мрежних принципа. Почињемо на апликационом слоју и настављамо кроз транспортни слој, мрежни слој, слој везе и физички слој рачунарских мрежа. Студенти развијају неколико мрежних апликација и завршавају неколико лабораторија дизајнираних да прате и разумеју доминантне мрежне протоколе који се користе на Интернету. (КСНУМКС јединице) Предуслов: ЦС КСНУМКС или сагласност факултетског одељења.

  • Системи за управљање базама података (ЦС КСНУМКС)

    Системи база података организују и преузимају информације, омогућујући кориснику да лако и ефикасно приступи жељеним информацијама. Теме укључују: релациони модел података; СКЛ; ЕР моделирање; релациона алгебра; нормализација података; трансакције; објекти у бази података; сигурност података и интегритет; складиштење података, ОЛАП и дата мининг; дистрибуиране базе података; и проучавање специфичног система комерцијалних база података. (КСНУМКС јединице) Предуслов: ЦС КСНУМКС или сагласност факултетског одељења.

  • Софтверски инжењеринг (ЦС КСНУМКС)

    Софтверски инжењеринг је курс који студенте упознаје са најбољим праксама у развоју софтвера кроз методологију развоја софтвера. Студенти су већ имали неко искуство у претходним курсевима са објектно оријентисаном парадигмом и користили су неке од основних УМЛ дијаграма за потребе моделирања односа између софтверских објеката. У области софтверског инжењерства, студент ће развити вјештине стављања ових алата заједно у производњу робусног, лако одрживог софтвера. Методологија развоја софтвера описује када и како би се ОО концепти и УМЛ дијаграми требали користити за постизање циља изградње квалитетног софтвера. Курс се базира на малом пројекту у којем се могу илустрирати и примијенити принципи о којима се расправља у формату предавања. До краја курса, студент ће имати покренуту апликацију, изграђену у складу са високим стандардима РУП (Ратионал Унифиед Процесс) методологије развоја.

  • Архитектура и оквири веб апликација (ЦС КСНУМКС)

    Овај курс фокусира веб апликације у окружењу предузећа. Апликација предузећа је велики софтверски систем дизајниран да ради у великој организацији као што је корпорација или влада. Ентерприсе апликације су сложене, скалабилне, засноване на компонентама, дистрибуиране и критичне за мисију. Овај курс, ЦСКСНУМКС, фокусира се на предњи крај или слој презентације веб апликације предузећа. ЦСКСНУМКС Ентерприсе Арцхитецтуре је пратилац курса који се фокусира на задњи крај или пословни слој, укључујући пословну логику, трансакције и упорност. ЦСКСНУМКС, Веб Апплицатион Программинг, је предуслов који обухвата ХТМЛ, ЦСС, ЈаваСцрипт, сервлетс и ЈСП.

    Курс предаје принципе и обрасце који су генерални за све платформе и оквире. Курс ће испитати и радити са два доминантна Јава веб оквира, Јава Сервер Фацес (ЈСФ) и СпрингМВЦ. ЈСФ је оквир заснован на компонентама и званична спецификација оквира презентације за стог технологије Јава Ентерприсе Едитион. СпрингМВЦ је део Цоре Спринг оквира и постао је најраширенији Јава веб оквир последњих година. (КСНУМКС јединице) Предуслов: ЦС КСНУМКС или сагласност факултетског одељења.

  • Програмирање веб апликација (ЦС КСНУМКС)

    Овај курс пружа систематски увод у програмирање интерактивних и динамичких веб апликација. Курс је намењен појединцима са мало или без претходног искуства у програмирању веб апликација. Ова понуда ће користити Јава сервлетс и ЈСП за обраду на страни сервера. Курс ће представити ХТМЛ и ЦСС. ЈаваСцрипт је фокус курса, и покривен је као функционални програмски језик укључујући јКуери, Ајак и ЈаваСцрипт просторе и модуле. То је предуслов за ЦСКСНУМКС Веб Апплицатион Арцхитецтуре. Он не покрива АнгуларЈС или НодеЈС, али ЈаваСцрипт покривен овде ће вас припремити да научите те технологије. (КСНУМКС јединице)
    Предуслов: ЦС КСНУМКС или ЦС КСНУМКС или сагласност факултетског одељења.

  • Наука и технологија свести за професионалце рачунара (ЗА КСНУМКС)

    Ваш први курс је посебно дизајниран да успостави основу како можете постати врхунски професионалац за рачунарске науке. Курс је укоријењен у пракси трансценденталне медитације која води ка испуњењу вашег правог потенцијала. Научит ћете о предностима ТМ-а, укључујући способност рјешавања сложених проблема супериорним менталним функционирањем, побољшавајући креативност и размишљање "изван оквира". Курс ће се фокусирати на принципе који подупиру врхунске резултате у активности развијањем оптималне комбинације одмора и активности. Развијат ћете и искусити идеалну дневну рутину која подржава успјех у животу. (КСНУМКС јединице)

  • Лидерство за техничке менаџере (ЗА КСНУМКСБ)

    Циљ овог курса је да студентима обезбеди знање и вештине у лидерству, укључујући и вештине комуникације као припреме за будуће лидерске улоге.

    На крају овог курса, студенти ће разумети одговоре на кључна питања у вези са ефикасним вођством, укључујући следеће:

    Да ли постоје лидери који су рођени у природи?

    Да ли морате имати ефектну каризму?

    Шта је потребно за вођење?

    У чему је разлика између управљања и вођења?

    Које су многе 'интелигенције' потребне за вођење у овом добу?

    Шта је 'злоупотреба менаџмента' и како то доводи до само-саботаже?

    Знајући да је повратна информација од суштинског значаја за водећи процес, како прелазимо страх од давања и примања?

    Који је извор КСНУМКС% проблема пронађених на радном мјесту?

    Да ли постоје научна истраживања која помажу организацији да побољша своје индивидуалне и тимске лидерске способности?

    Гости предавачи ће бити еминентни предузетници, компјутерски научници, филантропи, академици и други истакнути лидери у друштву.

    (КСНУМКС јединице)

Додатни курсеви МСЦС-а

  • Напредни језици програмирања (ЦС КСНУМКС)

    Овај предмет разматра напредне теме у дизајну програмског језика са нагласком на формалне методе и апстракцијске механизме. Теме укључују апстракцију података и контролу, формалну спецификацију синтаксе и семантике, доказе о исправности програма, не детерминистичко програмирање, напредне контролне структуре и проучавање одређених језика. (КСНУМКС јединице) Предуслов: ЦС КСНУМКС или сагласност факултетског одељења.

  • Велики подаци (Дата Сциенце трацк) (ЦС КСНУМКС)

    Модерна обрада информација дефинисана је огромним репозиторијумима података који се не могу обрадити традиционалним системима базе података. Овај курс покрива најновије технологије развијене и кориштене од стране индустријских лидера да ријеше овај проблем на најефикаснији начин. Обухваћене су специфичне теме као што су МапРедуце алгоритми, МапРедуце алгоритам за дизајнирање, ХДФС, Хадооп кластер архитектура, ИАРН, релативне фреквенције рачунања, секундарно сортирање, веб индексирање, инвертни индекси и компресија индекса, Спарк алгоритми и Сцала. (КСНУМКС јединице) Предуслов: ЦС КСНУМКС алгоритми.

  • Аналитика података (Дата Сциенце трацк) (ЦС КСНУМКС)

    Велики подаци су нови природни ресурс: подаци се удвостручују сваког мјесеца КСНУМКС-КСНУМКС. Овај нови Биг Дата Аналитицс курс покрива основне концепте и алате за рударство великих разноврсних скупова података како би генерисали нове увиде. Ви ћете овладати употребом језика Р да бисте креирали Вордцлоуд, Пагеранк, визуализацију података, дрвеће одлука, регресију, кластерирање, неуронске мреже и још много тога. Радићете са неким великим мултимилионским скуповима података, као и са мојим Твиттер феедовима. Научит ћете Хадооп / МапРедуце и Стреаминг Дата концепте, те ћете истраживати друге Апацхе Биг Дата пројекте као што су Спарк, Флинк, Кафка, Сторм, Самза, НоСКЛ кроз појединачне истраживачке радове. Радит ћете у групама на отвореним пројектима из Каггле.цом како би се натјецали за новчане награде рјешавањем најбољих изазова у анализи података. Такође ћете научити да користите водећи ИБМ СПСС Моделер и опен-соурце платформе за прикупљање података. #КСНУМКС бестселлер уџбеник који се користи у овом курсу написао је сам инструктор. Курс ће такође користити широк спектар видео материјала за обуку од МИТ-а, Цоурсера, Гоогле-а и другде. (КСНУМКС јединице) Предуслов: Сагласност факултетског одељења

  • Биг Дата Тецхнологиес (Дата Сциенце трацк) (ЦС КСНУМКС)

    За само неколико кратких година, технологије великих података су прешле из домена хипера у једну од кључних компоненти новог дигиталног доба. Те технологије су веома корисне за трансформацију информација у знање.

    Циљ курса је да у свој арсенал додате неке заиста важне алате који ће вам помоћи да решите различите проблеме са великим подацима. Почећемо са давањем одговора на питања као што су „Шта су велики подаци? Зашто је то важно или корисно? Како чувате ове велике податке? ”Затим ћемо проучити различите алате и моделе за програмирање из великог склопа технологије података који ће нам помоћи да анализирамо податке. Теме укључују неке од пројеката у екосистему Хадооп као што су МапРедуце, ​​Пиг, Хиве, Скооп, Флуме, ХБасе (НоСКЛ ДБ), Зоокеепер и Апацхе Спарк екосистемски пројекти. Такође ћемо покрити увод у АВС и ЕМР. Углавном ћете радити са једном чвором Хадооп дистрибуције Цлоудера. (КСНУМКС јединице) (нема предуслова)

  • Рачунарска безбедност (ЦС КСНУМКС)

    Овај курс дубоко се бави трима аспектима рачунарске сигурности: повјерљивост, интегритет и доступност. Проучава се неколико модела за повјерљиве политике сигурности и интегритета. Испитана је улога криптографије у осигуравању повјерљивости и интегритета. Остале теме укључују аутентификацију, ревизију, тестирање пенетрације, уобичајене рањивости и откривање упада. Курс се завршава студијом случаја реалног сигурног система. Од студената ће се тражити да прочитају радове из сигурносне литературе и примијене их на материјале дате на предавањима. (КСНУМКС кредити) Предуслов: ЦС КСНУМКС или сагласност факултетског одељења.

  • Архитектура предузећа (ЦС КСНУМКС)

    Овај курс се фокусира на подучавање принципа и пракси које се користе при развоју великих апликација предузећа. Испитат ћемо различите архитектонске слојеве који се често користе и различите технологије повезане с тим слојевима, укључујући објектно релацијско мапирање (ОРМ), овисност о ињекцији (ДИ), аспектно оријентирано програмирање (АОП) и интеграцију с другим апликацијама путем веб-услуга (РЕСТфулл и СОАП), Поруке и даљинско позивање метода. Мора имати радно знање о релационим базама података и СКЛ-у. Ако немате јак курс или добро познавање СКЛ-а, треба да се пријавите за ЦСКСНУМКС ДБМС пре него што се пријавите за ЕА. (КСНУМКС јединице)

  • Машинско учење (Дата Сциенце трацк) (ЦС КСНУМКС)

    Машинско учење, поље студија које компјутерима даје могућност да уче из података, је у средишту готово сваке научне дисциплине, а проучавање генерализације (тј. Предвиђања) из података је централна тема стројног учења. Овај курс даје дипломски ниво увођења у машинско учење и дубинско праћење нових и напредних метода у машинском учењу, као и њихове основне теорије. Он наглашава практичне практичне приступе и разматра низ недавних примена машинског учења, као што је Дата Мининг (у Биг Дата / Дата Сциенце, Дата Аналитицс), обрада природног језика, компјутерска визија, роботика, биоинформатика и обрада текста и Веб података. Машинско учење се користи у различитим индустријама, укључујући финансијске услуге, нафту и гас, здравство, маркетинг и оглашавање, владу, интернет и интернет ствари.

    Овај курс покрива различите парадигме учења, алгоритме, теоријске резултате и апликације. Користи основне концепте из вештачке интелигенције, теорије информација, статистике и теорије контроле, уколико су релевантни за машинско учење. Теме укључују: учење под надзором (генеративно / дискриминативно учење, параметријско / непараметријско учење, неуронске мреже, векторске машине, стабло одлучивања, Баиесово учење и оптимизација); учење без надзора (груписање, смањење димензионалности, методе језгра); теорија учења (компромиси пристраности / варијанце; теорија ВЦ; велике марже); учење ојачавања и адаптивна контрола. Друге теме укључују ХММ (скривени Марков модел), еволуционистичко рачунање, дубоко учење (са неуронским мрежама) и дизајнирање алгоритама чије се перформансе могу ригорозно анализирати за основне проблеме стројног учења.

    Важан део курса је групни пројекат. Главни алати отвореног кода који се користе за паралелно, дистрибуирано и скалабилно машинско учење биће укратко обрађени како би се помогло ученицима да раде на пројектима. (КСНУМКС јединице) Предуслов: Нема.

  • Програмирање мобилних уређаја (ЦС КСНУМКС)

    Важност програмирања мобилних уређаја појавила се последњих година као нови домен у развоју софтвера. Овај курс припрема студенте за развој апликација које раде на мобилним уређајима као што су ИПхоне, ИПад или Андроид телефон. Ово је тржиште које се убрзано развија. Курс се фокусира на инсталирање, развој, тестирање и дистрибуцију мобилних апликација. На крају овог курса студенти су у могућности да развију апликацију за покривене платформе, да их симулирају, тестирају на стварном уређају и на крају објаве у продавници апликација како би учинили доступним корисницима. (КСНУМКС јединице) Предуслов: ЦСКСНУМКС или сагласност факултетског одељења.

  • Модерне веб апликације (ЦС КСНУМКС)

    На овом курсу ћете научити архитектуру Реактивног програмирања СПА (Сингле Паге Веб Апплицатионс) заједно са свим потребним вјештинама за изградњу пуне Модерне веб апликације. Технологије укључују: НодеЈС, ЕкпрессЈС, ТипеСцрипт, АнгуларЈСКСНУМКС, Фиребасе и НоСКЛ базе података (МонгоДБ). Курс ће обухватити:

    • Како Ц ++ ВКСНУМКС мотор и асинхрони код раде у чвору и петљи догађаја Ноде.
    • Како структуирати свој код за поновну употребу и изградити Рестфул АПИ користећи модуле и ЕкпрессЈС.
    • Како раде НоСКЛ базе података: Монго Схелл, Агрегацијски оквир, Реплика Сетс, Цлустеринг, Схардс, Монгоосе ОРМ.
    • Дубоко разумевање начина рада Ангулар (подржано од стране Гоогле-а), Детекција промена, Реактивно програмирање РкЈ-а са посматраним и субјектима, Схадов ДОМ, зоне, модули и компоненте, прилагођене директиве и цеви, услуге и ињекције зависности, Ангулар Цомпилер, ЈИТ и АОФ Цомпилатион , Формс (Темплате Дривен и Дата Дривен), Везивање података, Роутинг, Заштита и Заштита руте, ХТТП клијент, ЈВТ ЈСОН Веб Токен Аутхентицатион.

    (КСНУМКС јединице)

  • Оперативни системи (ЦС КСНУМКС)

    Оперативни систем контролише централне ресурсе рачунарског система и додјељује их појединачним корисницима. Теме курса укључују секвенцијалне и истовремене процесе, узајамно искључивање, дијељење ресурса, процесну сарадњу, блокаду, алокацију ресурса, планирање процесора, управљање меморијом, алгоритме сегментације и пејџинга, системе за расподјелу времена, алгоритме распоређивања и заштиту ресурса. (КСНУМКС јединице) Предуслов: ЦС КСНУМКС или сагласност факултетског одељења.

  • Паралелно програмирање (ЦС КСНУМКС)

    Стандардни процесор за све нове рачунаре сада је мулти-цоре процесор, који има потенцијал да брже извршава програме. Међутим, да би се искористио овај потенцијал, програмер мора имати неко знање о техникама паралелног програмирања. Током овог курса, студенти ће највећи део свог времена проводити у писању и дебагирању паралелних програма. Очекивани резултат ће бити развијање новог нивоа практичне вјештине програмирања. Ова вештина неће бити корисна само за програмирање вишејезгрених процесора, већ и за програмирање оперативних система и програмирање дистрибуиране базе података. Софтверски алати који се користе током овог курса обухватају Мицрософт Висуал Ц / Ц ++, библиотеку за вишекратну обраду Јава и стандард за обраду дебљине слоја ОпенМП. (КСНУМКС јединице) Предувјет: Познавање рачунарског програмирања користећи Јава, Ц или Ц ++.

  • Архитектура софтвера (ЦС КСНУМКС)

    У овом курсу ћемо размотрити технике, принципе и обрасце како дизајнирати флексибилне, скалабилне, тестабилне и еластичне софтверске системе који користе микросервис. Проучићемо како можемо поделити велике апликације на мање микросервусе који су лакши за изградњу и друге предности у односу на монолитне пословне апликације. Дистрибуирана микросервисна архитектура такође даје многе изазове. Ми ћемо проучавати ове изазове и како да их решимо. Теме овог курса су архитектонски стилови, технике и обрасци интеграције, дизајн заснован на домену, архитектура вођена догађајима и реактивно програмирање. (КСНУМКС кредити). (Без предуслова)

  • Практикум у развоју софтвера (ЦС КСНУМКС)

    У оквиру овог практикума студенти изводе рачунарске задатке у техничко-професионалној позицији. Задаци који се изводе могу бити у дизајнирању и развоју нових система или примјени постојећих система за специфичне сврхе. Опис посла практикума формулише послодавац и студент, и захтевају претходну сагласност једног од дипломираних факултета, у консултацији са супервизором практикума где је студент смештен. (Овај курс је првенствено намењен студентима у стажирању или програмима сарадње.) (КСНУМКС-КСНУМКС јединица по блоку - може се поновити.)

“Када сам први пут чуо за МСЦС програм, сумњао сам у то. Нисам могао вјеровати да нешто такво постоји. Али једног дана, мој пријатељ се придружио програму. Тада сам потврдио да је то стварно. Онда сам наставио са процесом пријаве. Добро! Истина је, ја сам овде, завршио сам програм и тако сам срећан. ”

Едвин БвамбалеУганда