მზად ხართ წინასწარ შენი კარიერა?

ჩვენი პროგრამა სპეციალიზირებულია პროგრამული სისტემებისა და პროგრამების განვითარებაში OOP (Java), ვებ-პროგრამებისა და მონაცემთა მეცნიერების გამოყენებით. სწავლის ძირითადი სფეროებია: თანამედროვე პროგრამული უზრუნველყოფა, ვებ პროგრამირების პროგრამირება და არქიტექტურა, დიდი მონაცემთა ანალიტიკა და ტექნოლოგიები, მანქანათმცოდნეობა და რამდენიმე მნიშვნელოვანი გამოყენების სფერო.

ყველა კურსი განკუთვნილია იმისათვის, რომ ხელი შეუწყოს თქვენს კარიერას და თითოეული კურსი შეიცავს პრაქტიკულ დავალებებს. ნახვა დამთავრების მოთხოვნები.

ახალი! ჯილდო გამარჯვება მონაცემთა მეცნიერების

სტანდარტული Core კურსები

  • თანამედროვე პროგრამირების პრაქტიკა (ჯავის პროგრამირება) (CS 401)

    ეს კურსი წარმოადგენს ობიექტზე ორიენტირებული პროგრამირების ფუნდამენტურ პრინციპებს. მოსწავლეები შეისწავლიან თუ როგორ უნდა დაწერონ ხელსაყრელი და უკეთესად დაცული პროგრამული უზრუნველყოფა და ინტეგრირება ეს ცოდნა ლაბორატორიული დავალებებისა და პროექტების გამოყენებით. თემები მოიცავს: ობიექტზე ორიენტირებული პროგრამირების ფუნდამენტური პრინციპები და მოდელები, UML კლასის დიაგრამები და დიზაინის პრინციპები, რომლებიც ხელს უწყობენ ხელახალი გამოყენებადობას და პროგრამული უზრუნველყოფის შენარჩუნებას. (4 ერთეული)

  • გაფართოებული პროგრამული უზრუნველყოფა (CS 525)

    ეს კურსი მიიჩნევს მიმდინარე მეთოდებს და პრაქტიკას პროგრამული სისტემის კარგ დიზაინზე. თემები მოიცავს: პროგრამული დიზაინის ნიმუშებს, ჩარჩოებს, არქიტექტორებს და დიზაინის სისტემებს, რომლებიც გამოიყენება ამ მრავალ დონის აბსტრაქციებზე. (2-4 კრედიტი) წინაპირობა: CS 401 ან დეპარტამენტის ფაკულტეტის თანხმობა.

  • ალგორითმები (CS 435)

    ეს კურსი წარმოადგენს ალგორითმების ეფექტურობის ანალიზს (მათ შორის ყველაზე უარესი და საშუალო შემთხვევების ანალიზი) და აცნობიერებს სხვადასხვა ცნობილი, მაღალეფექტური ალგორითმებით. ალგორითმების ანალიზი, დიზაინი და დანერგვა თანაბარი აქცენტით არის მოცემული. თემები მოიცავს მონაცემთა სტრუქტურებში (მათ შორის სიები, hashtables, დაბალანსებული ორობითი ძიების ხეები, პრიორიტეტული რიგები), გრაფიკული ალგორითმები, კომბინატორი ალგორითმები, განმეორებითი ურთიერთობები, დინამიური პროგრამირება, NP- სრული პრობლემები და ზოგიერთი სპეციალური თემა, საშუალებას იძლევა. (სპეციალური თემები მოიცავს კომპიუტერული გეომეტრიას, ალგორითმს კრიპტოსისტების, დაახლოების, დიდი მონაცემთა და პარალელური გამოთვლითი).

  • კომპიუტერული ქსელები (CS 450)

    ამ კურსის მიზანია კომპიუტერული ქსელების ცნებები, არქიტექტურის პრინციპები და ტერმინოლოგიის შესწავლა, თუ როგორ შეისწავლის ქსელები მუშაობას და ქსელური პროგრამების შემუშავებას. ეს კურსი მიესადაგება ინტერნეტის არქიტექტურისა და პროტოკოლების გამოყენებით ქსელის გაგების მეთოდს, როგორც ქსელის პრინციპების განხორციელების მთავარი მაგალითი. ჩვენ დავიწყებთ აპლიკაციის ფენას და გააგრძელეთ სატრანსპორტო ფენის, ქსელის ფენის, ბმული ფენის და კომპიუტერული ქსელების ფიზიკური ფენის მეშვეობით. სტუდენტებს განავითარონ რამდენიმე ქსელური პროგრამა და დაასრულებენ რამდენიმე ლაბორატორიას, რომლებიც განკუთვნილია ინტერნეტში გამოყენების უპირატესი ქსელის პროტოკოლების კვალისა და გასაგებად. (4 ერთეული) წინაპირობა: CS 401 ან დეპარტამენტის ფაკულტეტის თანხმობა.

  • მონაცემთა ბაზის მართვის სისტემები (CS 422)

    მონაცემთა ბაზის სისტემებს ორგანიზება და ინფორმაციის მიღება, რაც საშუალებას მისცემს მომხმარებელს სასურველი ინფორმაციის ხელმისაწვდომობა ადვილად და ეფექტურად. თემები მოიცავს: SQL; ER მოდელირება; რელიგიური ალგებრა; მონაცემთა ნორმალიზაცია; გარიგებები; ობიექტების მონაცემთა ბაზაში; მონაცემთა უსაფრთხოება და მთლიანობა; მონაცემთა სასაწყობო, OLAP და მონაცემთა სამთო; განაწილებული მონაცემთა ბაზები; და კონკრეტული კომერციული მონაცემთა ბაზის სისტემის შესწავლა. (4 ერთეული) წინაპირობა: CS 401 ან დეპარტამენტის ფაკულტეტის თანხმობა.

  • პროგრამული ინჟინერია (CS 425)

    პროგრამული საინჟინრო არის კურსი, რომელიც სტუდენტს წარუდგენს პროგრამული უზრუნველყოფის განვითარებას პროგრამული უზრუნველყოფის განვითარების მეთოდოლოგიით. მოსწავლეებს უკვე ჰქონდათ გარკვეული გამოცდილება წინა საგანით, რომლებიც ობიექტზე ორიენტირებულ პარადიგმაში იყვნენ და ზოგიერთ ძირითად UML დიაგრამაზე იყენებდნენ პროგრამული უზრუნველყოფის ობიექტებს შორის მოდელების შექმნის მიზნებს. პროგრამული საინჟინრო, სტუდენტი შეიმუშავებს უნარების ამ ინსტრუმენტების ერთად, რათა წარმოედგინა ძლიერი, ადვილად შენარჩუნება პროგრამული. პროგრამული უზრუნველყოფის დამუშავების მეთოდოლოგია აღწერს, თუ როდის და როგორ უნდა მოხდეს OO კონცეფციები და UML დიაგრამები ხარისხის პროგრამული უზრუნველყოფის შესაქმნელად. კურსი მოიცავს მცირე პროექტს, სადაც ილუსტრირებული და გამოყენებული იქნება ლექციის ფორმატში განხილული პრინციპები. რა თქმა უნდა, სტუდენტს ექნება რბოლის რაციონალური სტანდარტების (რაციონალური ერთიანი პროცესი) განვითარების მეთოდოლოგიის შესაბამისად აშენებული აპლიკაცია.

  • ვებ აპლიკაციის არქიტექტურა და ჩარჩოები (CS 545)

    ეს კურსი ფოკუსირებულია ვებ აპლიკაციებში საწარმოს გარემოში. საწარმოს განაცხადის დიდი პროგრამული სისტემის შემუშავება, რომელიც ფუნქციონირებს მსხვილ ორგანიზაციაში, როგორიცაა კორპორაცია ან მთავრობა. საწარმო განაცხადები კომპლექსური, სკალადირებული, კომპონენტირებული, გავრცელებული და მისიის კრიტიკული. ეს კურსი, CS545, ფოკუსირებულია საწარმოს ვებ აპლიკაციის წინა ბოლომდე ან პრეზენტაციაზე. CS544 Enterprise არქიტექტურა არის პარტნიორული კურსი, რომელიც ფოკუსირებულია უკან ბოლომდე ან ბიზნეს ფენის, მათ შორის ბიზნეს ლოგიკაზე, ტრანზაქციებზე და არსებულობაზე. CS472, ვებ პროგრამირება, არის წინაპირობა, რომელიც მოიცავს HTML, CSS, JavaScript, servlets და JSP.

    კურსი ასწავლის პრინციპებსა და ნიმუშებს, რომლებიც ზოგადად პლატფორმებსა და ჩარჩოებშია. კურსი შეისწავლის და იმუშავებს ორ უპირატესი ჯავის ვებ-პროგრამასთან, Java Server Faces (JSF) და SpringMVC- სთან. JSF არის კომპონენტის დაფუძნებული ჩარჩო და არის ოფიციალური პრეზენტაცია ჩარჩო სპეციფიკაცია Java Enterprise Edition ტექნოლოგიის დასტისთვის. SpringMVC არის ნაწილი Core საგაზაფხულო ჩარჩო და გახდა ყველაზე ფართოდ გამოიყენება ჯავის ვებ ფარგლებში ბოლო წლებში. (4 ერთეული) წინაპირობა: CS 472 ან დეპარტამენტის ფაკულტეტის თანხმობა.

  • ვებ პროგრამირება (CS 472)

    ეს კურსი უზრუნველყოფს სისტემურ დანერგვას პროგრამირების ინტერაქტიული და დინამიური პროგრამებისთვის. კურსი განკუთვნილია მცირე ან წინასწარი ვებ პროგრამირების პროგრამირების გამოცდილებით. ეს შეთავაზება გამოიყენებს ჯავის სერვეტებს და JSP სერვერის მხარეს გადამუშავებას. კურსი გააცნობს HTML და CSS. JavaScript არის აქცენტი კურსს და დაფარულია როგორც ფუნქციონალური პროგრამირების ენა, მათ შორის jQuery, Ajax და JavaScript namespaces და მოდულები. ეს არის წინაპირობა CS545 ვებ აპლიკაციის არქიტექტურისთვის. იგი არ მოიცავს AngularJS ან NodeJS, მაგრამ JavaScript დაფარული აქ მოამზადებს თქვენ ისწავლოს იმ ტექნოლოგიების. (4 ერთეული)
    წინაპირობა: CS 220 ან CS XXX ან დეპარტამენტის ფაკულტეტის თანხმობა.

  • კომპიუტერის პროფესიონალებისთვის ცნობიერების მეცნიერება და ტექნიკა (FOR 506)

    შენი პირველი კურსი სპეციალურად შემუშავებულია იმის საფუძველს, თუ როგორ შეიძლება გახდეს კომპიუტერულ მეცნიერებათა პროფესიული ასპექტები. კურსი ფესვგადგმულია ტრანსცენდენტალური მედიტაციის პრაქტიკაში, რომელიც იწვევს თქვენს ნამდვილ პოტენციალს. თქვენ შეისწავლით სარგებელს TM მათ შორის უნარი გადაჭრას კომპლექსური პრობლემები უმაღლესი გონებრივი ფუნქციონირების გაღრმავების შემოქმედების და "გარეთ ყუთი" აზროვნება. კურსი ყურადღებას გაამახვილებს ისეთ პრინციპებზე, რომლებიც განსაზღვრავენ საქმიანობას პიკის შესრულებაზე, დანარჩენი და აქტივობის ოპტიმალური ნაზავი. თქვენ შეიმუშავებთ და განიცდიან იდეალურ ყოველდღიურ რუტინას, რომელიც მხარს უჭერს წარმატებას ცხოვრებაში. (2 ერთეული)

  • ლიდერობა ტექნიკურ მენეჯერთათვის (FOR XBB)

    ამ კურსის მიზანია მოსწავლეებისთვის ცოდნისა და უნარ-ჩვევების უზრუნველყოფა, მათ შორის საკომუნიკაციო უნარ-ჩვევები, როგორც მომავალი ლიდერობის როლებისთვის მომზადება.

    ამ კურსის დასრულების შემდეგ მოსწავლეები გაიგებენ პასუხს საკვანძო კითხვებზე ეფექტური ხელმძღვანელობის შესახებ, მათ შორის:

    არსებობს თუ არა "ბუნებრივი დაბადებული" ლიდერები?

    გაქვთ ქარიზმა ეფექტურად უხელმძღვანელო?

    რომელი აქტივი უნდა იყოს ლიდერი?

    რა განსხვავებაა მმართველობასა და ხელმძღვანელობას შორის?

    რა არის ბევრი "ინტელექტუალური" საჭიროა ამ ეპოქაში?

    რა არის "მენეჯმენტის malpractice" და როგორ ეს გამოიწვევს თვითმმართველობის საბოტაჟი?

    იცის, რომ ეს თემა მნიშვნელოვანია წამყვანი პროცესისთვის, როგორ უნდა მივიღოთ იმის გამო, რომ ჩვენ ვიღებთ შიშის მიცემასა და მიღებას?

    რა არის წყარო სამუშაო ადგილების ნაპოვნი პრობლემების 80%?

    არსებობს თუ არა სამეცნიერო კვლევა ორგანიზაციის დასახმარებლად მისი ინდივიდუალური და გუნდური ლიდერობის უნარების გაუმჯობესებაში?

    სტუმარს მოიცავს გამოჩენილი მეწარმეები, კომპიუტერის მეცნიერები, ფილანტროპებისტები, მეცნიერები და სხვა გამოჩენილი ლიდერები საზოგადოებაში.

    (2 ერთეული)

დამატებითი MSCS კურსები

  • Advanced პროგრამირების ენები (CS 505)

    ეს კურსი ითვალისწინებს წინასწარი თემატიკის პროგრამულ პროგრამებს, აქცენტით ფორმალური მეთოდებისა და აბსტრაქციის მექანიზმებზე. თემები მოიცავს მონაცემთა და კონტროლის აბსტრაქციას, სინტაქსისა და სემანტიკის ფორმალურ სპეციფიკაციას, პროგრამების სისწორეს, არატექნიკური პროგრამირების, მოწინავე კონტროლის სტრუქტურების და კონკრეტული ენების შესწავლის მტკიცებულებებს. (4 ერთეული) წინაპირობა: CS 401 ან დეპარტამენტის ფაკულტეტის თანხმობა.

  • დიდი მონაცემები (მონაცემთა მეცნიერება) (CS 522)

    თანამედროვე ინფორმაციის დამუშავება განისაზღვრება მონაცემთა ვრცელი საცავებით, რომლითაც ტრადიციული მონაცემთა ბაზის სისტემები ვერ მოხერხდება. ეს კურსი მოიცავს თანამედროვე ტექნოლოგიების განვითარებას და იყენებს ინდუსტრიის ლიდერებს ამ პრობლემის გადაჭრაში ყველაზე ეფექტური გზით. სპეციალურ თემებზე დაფარული მოიცავს MapReduce ალგორითმები, MapReduce ალგორითმის დიზაინი შაბლონები, HDFS, Hadoop კასეტური არქიტექტურა, YARN, კომპიუტერული ნათესავი სიხშირეები, საშუალო დახარისხება, ვებ მცოცავი, ინვერსიული ინდექსები და ინდექსის შეკუმშვის, Spark ალგორითმები და Scala. (4 ერთეული) წინაპირობა: CS X ალგორითმები.

  • დიდი მონაცემთა ანალიტიკა (მონაცემთა მეცნიერება) (CS 488)

    დიდი მონაცემები ახალი ბუნებრივი რესურსია: მონაცემები გაორმაგდება ყველა 12-18 თვის განმავლობაში. ეს ახალი დიდი მონაცემთა ანალიტიკა კურსი მოიცავს ფუნდამენტურ კონცეფციებს და ინსტრუმენტები სამთო მრავალფეროვანი მონაცემების კომპლექტი გენერირება ახალი insights. თქვენ დაეუფლებინ R- ს გამოყენებას Wordcloud, Pagerank, მონაცემთა ვიზუალიზაცია, გადაწყვეტილების ხეები, რეგრესია, კლასტერული, ნევროლოგიური ქსელები და სხვა. თქვენ იმუშავებთ რამდენიმე მსხვილი მილიონიანი ჩანაწერის მონაცემებით, ასევე ჩემი Twitter- ის საშუალებით. თქვენ შეისწავლით Hadoop / MapReduce და Streaming Data Concepts და შეისწავლის სხვა Apache დიდი მონაცემთა პროექტები, როგორიცაა Spark, Flink, Kafka, Storm, Samza, NoSQL ინდივიდუალური კვლევითი ნაშრომები. თქვენ იმუშავებთ ჯგუფებში ღია პროექტებში Kaggle.com- ს კონკურენციის მისაღებად საუკეთესო-ჯიშის მონაცემთა ანალიზური გამოწვევების მოსაგვარებლად. თქვენ ასევე ისწავლით გამოიყენოთ ინდუსტრიის წამყვანი IBM SPSS Modeler და ღია მონაცემთა სამთო პლატფორმები. ამ კურსში გამოყენებული #1 ბესტსელერი სახელმძღვანელოს თავად ინსტრუქტორი უწერია. კურსი ასევე გამოიყენებს MIT, Coursera, Google და სხვაგან ვიდეოს ტრეინინგის ფართო სპექტრს. (4 ერთეული) წინაპირობა: დეპარტამენტის ფაკულტეტის თანხმობა

  • დიდი მონაცემთა ტექნოლოგიები (მონაცემთა მეცნიერება) (CS 523)

    მხოლოდ რამდენიმე მოკლე წლის განმავლობაში, დიდი მონაცემთა ტექნოლოგიები გაიზარდა სფეროში Hype ერთი ძირითადი კომპონენტების ახალი ციფრული ასაკი. ეს ტექნოლოგიები ძალიან სასარგებლოა ინფორმაციის ცოდნაზე.

    კურსის მიზანია თქვენს არსენალში არსებულ მართლაც მნიშვნელოვან იარაღს დაამატოთ სხვადასხვა დიდი მონაცემთა პრობლემების მოგვარება. ჩვენ დავიწყებთ კითხვებზე პასუხებს, როგორიცაა "რა არის დიდი მონაცემები? რატომ არის ეს მნიშვნელოვანი ან სასარგებლო? როგორ შევამციროთ ეს დიდი მონაცემები? "ჩვენ მაშინ შეისწავლით სხვადასხვა ინსტრუმენტებს და პროგრამირების მოდელებს დიდი მონაცემთა ტექნოლოგიების დასტისგან, რომელიც დაგვეხმარება მონაცემთა ანალიზისთვის. თემები მოიცავს Hadoop ეკოსისტემის ზოგიერთ პროექტს, როგორიცაა MapReduce, Pig, Hive, Sqoop, Flume, HBase (NoSQL DB), Zookeeper და Apache Spark ეკოსისტემის პროექტები. ჩვენ ასევე დავფარავთ დანერგვას AWS და EMR. თქვენ ძირითადად მუშაობთ ერთი კვანძის Hadoop განაწილება Cloudera. (4 ერთეული) (წინაპირობა არ არის)

  • კომპიუტერული უსაფრთხოება (CS 466)

    ეს კურსი ღრმად ჩაითვლება კომპიუტერის უსაფრთხოების სამი ასპექტში: კონფიდენციალურობა, მთლიანობა და ხელმისაწვდომობა. შესწავლილია რამდენიმე სახის კონფიდენციალური და მთლიანობის უსაფრთხოების პოლიტიკის მოდელები. განიხილება კრიპტოგრაფიის როლი კონფიდენციალურობისა და მთლიანობის უზრუნველყოფის მიზნით. სხვა თემები მოიცავს ავტორიზაციის, აუდიტის, შეღწევადობის ტესტირების, საერთო ხარვეზებისა და ჩანერგვის გამოვლენას. კურსი ასრულებს რეალისტური უსაფრთხოების სისტემის საქმის შესწავლას. მოსწავლეებს სთხოვენ, წაიკითხონ ლიტერატურის ნაშრომები და გამოიყენონ ლექციებში მოცემული მასალა. (4 კრედიტი) წინარეკვიზიტები: CS 401 ან დეპარტამენტის ფაკულტეტის თანხმობა.

  • საწარმო არქიტექტურა (CS 544)

    ეს კურსი ყურადღებას ამახვილებს სწავლების პრინციპებსა და პრაქტიკებზე, რომლებიც გამოიყენება მსხვილი საწარმოო პროგრამების შემუშავებისას. ჩვენ შევისწავლით სხვადასხვა სახის არქიტექტურულ ფენებს, რომლებიც გამოიყენება ამ ფენებთან, მათ შორის ობიექტის Relational Mapping (ORM), საიმედო ინჟექტორი (DI), ასპექტის ორიენტირებული პროგრამირება (AOP) და სხვა პროგრამებთან ინტეგრაცია Web Services (RESTfull და SOAP), მიმოწერა და დისტანციური მეთოდი invocation. უნდა ჰქონდეს ცოდნა მონაცემთა ბაზებთან და SQL- სთან. თუ არ გაქვთ ძლიერი კურსი ან SQL- ის კარგი ცოდნა, თქვენ უნდა დარეგისტრირდეთ CS422 DBMS- ისთვის EA- სთვის ხელმოწერამდე. (4 ერთეული)

  • მანქანათმცოდნეობა (მონაცემთა მეცნიერება) (CS 582)

    მანქანათმცოდნეობა, კვლევის სფერო, რომელიც კომპიუტერებს აძლევს მონაცემების შესწავლის შესაძლებლობას, თითქმის ყოველ სამეცნიერო დისციპლინის გულშია, ხოლო განზოგადების შესწავლა (ეს არის წინასწარმეტყველება) მონაცემთა სწავლების ცენტრალური თემაა. ეს კურსი იძლევა მანქანათმცოდნეობის დონის შესწავლას და მანქანათმცოდნეობაში ახალი და მოწინავე მეთოდების სიღრმისეულ გაშუქებას, ასევე მათ თეორიას. ეს ხაზს უსვამს პრაქტიკული მნიშვნელობის მქონე მიდგომებს და განიხილავს მანქანათმცოდნეობის უახლეს გამოყენებას, როგორიცაა მონაცემთა სამთო (დიდი მონაცემთა / მონაცემთა მეცნიერების, მონაცემთა ანალიტიკა), ბუნებრივი ენის დამუშავება, კომპიუტერული ხედვა, რობოტები, ბიოინფორმატიკა და ტექსტი და ვებ-მონაცემთა დამუშავება. Machine Learning გამოიყენება სხვადასხვა ინდუსტრიებში, მათ შორის ფინანსური მომსახურება, ნავთობისა და გაზის, ჯანდაცვა, მარკეტინგი და რეკლამა, მთავრობა, ინტერნეტი და ინტერნეტი.

    ეს კურსი მოიცავს მრავალფეროვან სასწავლო პარადიგმების, ალგორითმების, თეორიულ შედეგებსა და პროგრამებს. იგი იყენებს ძირითად კონცეფციებს ხელოვნური ინტელექტის, ინფორმაციის თეორიის, სტატისტიკისა და კონტროლის თეორიისგან, რადგან ისინი შესაბამისობაშია მანქანათმცოდნეობაზე. თემები მოიცავს: გენეატიული / დისკრიმინაციული სწავლება, პარამეტრული / არაპრაიმერული სწავლება, ნერვული ქსელები, ვექტორული აპარატების მხარდაჭერა, გადაწყვეტილების ხე, ბაიასური სწავლება და ოპტიმიზაცია); unsupervised სწავლის (კლასტერული, განზომილების შემცირება, ბირთვის მეთოდები); სწავლის თეორია (მიკერძოება / განსხვავებული ვაჭრობა, VC თეორია, დიდი ზღვარი); გაძლიერების სწავლება და ადაპტური კონტროლი. სხვა თემებში შედის HMM (დამალული მარკოვის მოდელი), ევოლუციური გამოთვლითი, ღრმა სწავლება (ნერვული ნეტებით) და ალგორითმების შემუშავება, რომელთა შესრულება შეიძლება მკაცრად გაანალიზდეს ფუნდამენტურ მანქანათმცოდნეობის პრობლემებზე.

    კურსის მნიშვნელოვანი ნაწილია ჯგუფური პროექტი. პარალელური, დისტრიბუციისა და სკალირებადი მანქანების სწავლების ძირითადი საშუალებები მოკლედ დაფარავს სტუდენტებისთვის პროექტების განხორციელებაში. (4 ერთეული) წინაპირობა: არა.

  • მობილური მოწყობილობის პროგრამირება (CS 473)

    მობილური მოწყობილობების პროგრამირების მნიშვნელობა ბოლო წლების განმავლობაში წარმოიშვა როგორც ახალი დომენი პროგრამული უზრუნველყოფის განვითარებაში. ეს კურსი მოსწავლეებს ამზადებს აპლიკაციების განვითარებისთვის, რომლებიც აწარმოებენ მობილურ მოწყობილობებს, როგორიცაა IPhone, iPad ან Android ტელეფონი. ეს არის სწრაფად განვითარებადი ბაზარი. კურსი ყურადღებას ამახვილებს მობილური აპლიკაციების დაყენებაზე, განვითარებაზე, ტესტირებაზე და გავრცელებაზე. ამ კურსის ბოლოს სტუდენტებს საშუალება აქვთ შეიმუშაონ პლატფორმის აპლიკაცია, შეიმუშაონ ისინი, შეამოწმონ ისინი რეალურ მოწყობილობაზე და საბოლოოდ გამოაქვეყნონ აპლიკაციის მაღაზიაში მომხმარებლების ხელმისაწვდომობა. (4 ერთეული) წინაპირობა: CS472 ან დეპარტამენტის ფაკულტეტის თანხმობა.

  • თანამედროვე ვებ აპლიკაციები (CS XXX)

    ამ კურსის განმავლობაში თქვენ შეისწავლით SPA- ს (Single Page Web Applications) რეაქტიული პროგრამირების არქიტექტურას, ისევე როგორც ყველა საჭირო უნარით სრული ვებ-გვერდის სრული ვებსაიტის შესაქმნელად. ტექნოლოგიები მოიცავს: NodeJS, ExpressJS, TypeScript, AngularJS2, Firebase და NoSQL მონაცემთა ბაზები (MongoDB). კურსი მოიცავს:

    • როგორ C ++ V8 ძრავა და ასინქრონული კოდი მუშაობს Node და Node Event loop.
    • როგორ სტრუქტურა თქვენი კოდი reuse და ავაშენოთ Restful API გამოყენებით მოდულები და ExpressJS.
    • როგორ ფუნქციონირებს NoSQL მონაცემთა ბაზები: მონგო შელი, აგრეგაციის ჩარჩო, რეპლიკა კომპლექტი, კლასტერული, შარდსი, მონგოეის ORM.
    • ღრმა გაგება, თუ როგორ Angular (მხარდაჭერით Google) მუშაობს, შეცვლა დიაგნოსტიკა, რეაქტიული RxJs პროგრამირების ერთად Observables და სუბიექტები, Shadow DOM, ზონების, მოდულები და კომპონენტები, საბაჟო დირექტივები და მილები, მომსახურება და საიმედო ინჟექტორი, კუთხოვანი შემდგენელი, JIT და AOF Compilation , ფორმები (თარგი დრაივანი და მონაცემთა ორიენტირებული), მონაცემთა აკინძვა, მარშრუტიზაციის, დაცვა და მარშრუტის დაცვა, HTTP კლიენტი, JWT JSON Web Token Authentication.

    (4 ერთეული)

  • ოპერაციული სისტემები (CS 465)

    ოპერაციული სისტემა აკონტროლებს კომპიუტერული სისტემის ცენტრალურ რესურსებს და ინდივიდუალურ მომხმარებლებს ანიჭებს მათ. კურსის თემები მოიცავს თანმიმდევრული და კონკურენტული პროცესები, ურთიერთდამოკიდებულება, რესურსების გაზიარება, პროცესის თანამშრომლობა, ჩიხი, რესურსების განაწილება, პროცესორი დისპეჩერიზაციის, მეხსიერების მართვა, სეგმენტაცია და პეიჯინგის ალგორითმები, დროის მართვის სისტემები, დაგეგმვის ალგორითმები და რესურსების დაცვა. (4 ერთეული) წინაპირობა: CS 401 ან დეპარტამენტის ფაკულტეტის თანხმობა.

  • პარალელური პროგრამირება (CS 471)

    ყველა ახალი კომპიუტერის სტანდარტული პროცესორი არის მრავალპროგრამული პროცესორი, რომელსაც აქვს პროგრამების შესრულება უფრო სწრაფად. თუმცა, ამ პოტენციალის გამოყენებისას, პროგრამისტს უნდა ჰქონდეს გარკვეული ცოდნა პარალელური პროგრამირების ტექნიკაზე. ამ კურსის მსვლელობისას მოსწავლეები უმეტესწილად ატარებენ პარალელურ პროგრამებს. მოსალოდნელი შედეგი იქნება პრაქტიკული პროგრამების ახალი უნარის შემუშავება. ეს უნარი არა მხოლოდ სასარგებლოა მრავალპროგრამის დამამუშავებელი პროგრამებისთვის, არამედ ოპერაციული სისტემების პროგრამირების და მონაცემთა ბაზის პროგრამირების განაწილებაზე. პროგრამაში გამოყენებული პროგრამული ინსტრუმენტები მოიცავს Microsoft Visual C / C ++, Java multithreading library და OpenMP threading სტანდარტი. (4 ერთეული) წინაპირობა: კომპიუტერული პროგრამების ცოდნა Java, C, ან C ++.

  • პროგრამული არქიტექტურა (CS 590)

    ამ კურსში გადავხედავთ ტექნიკას, პრინციპებსა და შაბლონებს, თუ როგორ უნდა შეიმუშავონ მოქნილი, სკალადი, ტესტირებადი და სტაბილური პროგრამული სისტემები, რომლებიც იყენებენ მიკროორგანიზაციებს. ჩვენ შეისწავლით, თუ როგორ შეგვიძლია გაყოფილი მცირე აპლიკაციები პატარა მიკროპროცესებში, რომლებიც უფრო ადვილად ააშენებენ და სხვა უპირატესობებს მონოლითურ საწარმოსთან შედარებით. განაწილებული მიკროსერვის არქიტექტურა ასევე აძლევს უამრავ გამოწვევას. ჩვენ შევისწავლით ამ გამოწვევებს და როგორ მივმართოთ მათ. ამ კურსის თემაა არქიტექტურული სტილები, ინტეგრაციის ტექნიკა და ნიმუშები, დომინანტური დიზაინი, მოვლენათა ორიენტირებული არქიტექტურა და რეაქტიული პროგრამირება. (X კრედიტები). (წინაპირობები არ არის)

  • პრაქტიკული პროგრამული უზრუნველყოფის განვითარება (CS XX)

    ამ პრაქტიკულ კურსში მოსწავლეები ასრულებენ კომპიუტერულ საკითხებს ტექნიკურ პოზიციებში. შესრულებული ამოცანები შეიძლება იყოს ახალი სისტემების დიზაინი და განვითარება ან არსებული სისტემების გამოყენება კონკრეტული მიზნებისათვის. პრაქტიკული სამუშაოს აღწერილობები ემზადება დამქირავებლისა და სტუდენტის მიერ და მოითხოვს დეპარტამენტის ერთ-ერთი კურსდამთავრებული ფაკულტეტის მიერ წინასწარ დასამტკიცებლად პრაქტიკოსი ზედამხედველის კონსულტაციასთან დაკავშირებით, სადაც არის სტუდენტი. (ეს კურსი, პირველ რიგში, სტაჟირების ან კოოპერატივის პროგრამებში სტუდენტებისთვის) (0.5-1 ერთეული ბლოკად შეიძლება განმეორდეს).

"პირველად მესმის MSCS პროგრამის შესახებ, მე ეჭვი მაქვს. მე ვერ მჯერა, რომ მსგავსი რამ არსებობს. მაგრამ ერთ დღეს, ჩემი მეგობარი მოვიდა პროგრამა. ეს იყო მაშინ, როცა დავამტკიცებდი, რომ ეს რეალობაა. შემდეგ დავბრუნდი ჩემი განაცხადის პროცესი. კარგად! მართალია, მე აქ ვარ, პროგრამა დავასრულე და ძალიან ბედნიერი ვარ. "

ედვინ ბუამბალიუგანდა