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

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

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

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

კამპუსში ჩასვლისას ჩაბარებული საკვალიფიკაციო გამოცდების საფუძველზე, მხოლოდ სტუდენტები იმყოფებიან მოსამზადებელი შესვლის სიმღერა დასჭირდება 4-კვირიანი ძირითადი პროგრამირების პრაქტიკის (CS 390) კლასის გავლა. FOR 506 და CS 401 საჭიროა ყველა სტუდენტისთვის. იხილეთ გამოსაშვები მოთხოვნები >

ფუნდამენტური კურსები

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

  • ეს კურსი გთავაზობთ ფოკუსირებულ პროგრამას პროგრამირებისა და ანალიტიკური უნარების ასამაღლებლად ხუთი მიმართულებით: პრობლემის გადაჭრა, მონაცემთა სტრუქტურები, ობიექტზე ორიენტირებული პროგრამირება, ჯავა პროგრამირების ენა და ჯავას პროგრამებში რეკურსის გამოყენება.

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

    თემებში შედის: Java პროგრამირების ელემენტები, ობიექტზე ორიენტირებული დიზაინი და განხორციელება, მონაცემთა სტრუქტურები (მათ შორის სიები, სტეკები, რიგები, ორობითი საძიებო ხეები, ჰეშის მაგიდები და სიმრავლეები), გამონაკლისის იერარქია, ფაილის i / o და ნაკადები და JDBC. (4 კრედიტი) წინაპირობა: ბაკალავრიატის სტუდენტებისათვის: CS 221; ასპირანტებისთვის: დეპარტამენტის ფაკულტეტის თანხმობა (4 განყოფილება)

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

  • ეს კურსი მოიცავს DB დიზაინის პრინციპების არსს და SQL და NoSQL მონაცემთა ბაზების შესავალს.

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

    (4 ერთეული)

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

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

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

  • ეს კურსი ღრმად შედის ასინქრონული ვებ პროგრამირების კონცეფციებში და მოიცავს JS-ის დიზაინის ყველაზე აუცილებელ შაბლონებს, რომელიც მოიცავს დამკვირვებლის შაბლონს, ქარხანას, დეკორატორს და ბევრ სხვას. ის ასევე მოიცავს ვებ API-სთან და Immutable მონაცემთა სტრუქტურებთან მუშაობას.

    თემები მოიცავს: ერთობლივი Git; TypeScript-ისა და Bundlers-ის შესავალი; ასინქრონული JavaScript; Event-Loop; History API, Geolocation API; Ajax (HTTP, Ajax, JSON, Fetch, CORS-ის შესავალი, გამართვა); Promises and Async/Wait; რეაქტიული პროგრამირება; RxJS Observables და ოპერატორები; დიზაინის ნიმუშები: მოდული, პროტოტიპი, სინგლტონი, დამკვირვებელი, ფასადი, ქარხანა, დეკორატორი, პროქსი, სტრატეგია, მემოიზაცია; თანამედროვე ვებ ბრაუზერები. არანაირი წინაპირობები.

    (4 ერთეული)

  • ეს კურსი უზრუნველყოფს სისტემურ შესავალს ინტერაქტიული და დინამიური ვებ აპლიკაციების პროგრამირებაში. კურსი განკუთვნილია იმ პირებისთვის, რომლებსაც აქვთ მცირე ან საერთოდ არ აქვთ ვებ აპლიკაციის პროგრამირების გამოცდილება. ეს შეთავაზება გამოიყენებს NodeJS-ს და Express ჩარჩოს სერვერის მხარეს დასამუშავებლად.

    კურსი იწყება HTML და CSS-ის საფუძვლების მიმოხილვით, განსაკუთრებული აქცენტით ვებ გვერდის განლაგებაზე CSS-ის გამოყენებით. JavaScript არის პროგრამირების ენა, რომელიც გამოიყენება კურსში, ფუნქციების, ობიექტების, მოდულების, jQuery Framework, Ajax და Promises ჩათვლით. სტუდენტები დროის უმეტეს ნაწილს ატარებენ მზარდი რთული და დახვეწილი ვებსაიტების სერიის პროგრამირებაში. კაპისტონის პროექტი კურსის ბოლო კვირის განმავლობაში ქმნის ვებსაიტს SQL მონაცემთა ბაზის ფონით, რომელსაც კლიენტი ასინქრონულად წვდება ოპტიმალური მუშაობისთვის.

    ეს კურსი არის CS545 ვებ აპლიკაციის არქიტექტურისა და CS572 თანამედროვე ვებ აპლიკაციების წინაპირობა. წინაპირობა: CS 220 ან CS 401 ან დეპარტამენტის ფაკულტეტის თანხმობა

    (4 ერთეული)

  • ეს კურსი ფოკუსირებულია JavaScript-ის გამოყენებაზე backend-ში (NodeJS). სტუდენტები შეისწავლიან თუ როგორ მუშაობს NodeJS და გაეცნობიან მისი ძირითადი აპლიკაციის პროგრამირების ინტერფეისის (API). კურსი მოიცავს, თუ როგორ მუშაობს JS შემდგენელი ძრავა (V8), როგორ უნდა სტრუქტურირდეს კოდი მოდულების გამოყენებით და როგორ მუშაობს ასინქრონული კოდი Node-სა და Node-ის მოვლენის ციკლში. კურსი ასევე ასწავლის Node Package Manager-ს (NPM), როგორ ავაშენოთ ვებ სერვერი, როგორ ვიმუშაოთ Express Framework-თან და როგორ გამოვიყენოთ ODM, როგორიცაა Mongoose MongoDB-ის სამართავად. სტუდენტები შეისწავლიან ყველა იმ ტექნიკას, რომელიც განსაზღვრავს თანამედროვე ვებ აპლიკაციებს, მათ შორის მომხმარებლების ავთენტიფიკაციას JSON Web Tokens-ით, მონაცემთა ბაზაში შენარჩუნებულ მონაცემთა ბაზაში და Restful API-ს შექმნას. ასევე დაფარულია კომპიუტერული მეცნიერების სხვა ცნებები.

    თემები მოიცავს: HTTP & Rest API დიზაინი; მოქალაქეობის არმქონე vs სახელმწიფოებრივი განაცხადები; Node API; კვანძის პაკეტის მენეჯერი (npm); Model-Controller არქიტექტურა, Express Framework და Middlewares; სერვერის მხრიდან მარშრუტიზაცია; ჟეტონზე დაფუძნებული ავთენტიფიკაცია. არანაირი წინაპირობები.

    (4 ერთეული)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    (2 ერთეული)

მოწინავე კურსები

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

    ეს კურსი სტუდენტებს ასწავლის პარალელური პროგრამირების ფუნდამენტურ ცნებებს Java 9-ის კონტექსტში. პარალელური პროგრამირება დეველოპერებს საშუალებას აძლევს გამოიყენონ მრავალბირთვიანი კომპიუტერები, რათა მათი აპლიკაციები უფრო სწრაფად იმუშაონ რამდენიმე ბირთვის გამოყენებით ერთდროულად. ამ კურსის ბოლოს, თქვენ შეისწავლით თუ როგორ გამოიყენოთ პოპულარული პარალელური ჯავის ჩარჩოები (როგორიცაა Multi-Threading, Streams და Executors) პარალელური პროგრამების დასაწერად მრავალბირთვიანი პლატფორმებისთვის, სერვერების, დესკტოპის ან მობილური მოწყობილობების ჩათვლით.

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

    დამატებითი ინფორმაციისთვის უყურეთ ამ კურსის პროფესორის მიერ გადაღებულ ხუთწუთიან ვიდეოს:

    https://www.youtube.com/watch?v=dWcWAnn0Ppc

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

    თემები მოიცავს: თქვენი კომპიუტერის დაყენება ანდროიდის პროგრამირებისთვის; მანიფესტის საფუძვლები; განლაგება, აქტივობები, ხედები და UI კომპონენტები; ზრახვებთან, ფრაგმენტებთან და საერთო პრეფერენციებთან მუშაობა; ვებ ხედი და HTML; მულტიმედიასთან მუშაობა; Android Jetpack კომპონენტები, ოთახის მონაცემთა ბაზა და JSON; გაგების სენსორები; ლოკალიზაცია; აპლიკაციის გამოქვეყნება Google Play Store-ში. (4 ერთეული) არ არის საჭირო წინაპირობები.

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

  • ეს კურსი მოიცავს ღრუბლოვანი პროგრამირების შაბლონებს და საშუალებას მისცემს სტუდენტებს ივარჯიშონ სხვადასხვა ვებ ღრუბლოვან სერვისებთან, მათ შორის AWS სერვერის ფუნქციებთან.

    თემები მოიცავს: პირადობის და წვდომის მენეჯმენტს (IAM); ვირტუალური პირადი ღრუბელი (VPC), ქსელში წვდომის კონტროლის სიები – NACL, ქვექსელები, ხელმისაწვდომობის ზონები, მარტივი შენახვის სერვისი (S3), ელასტიური ღრუბლოვანი გამოთვლა (EC2), მარტივი შეტყობინების სერვისი (SNS), ელასტიური დატვირთვის ბალანსერი (ELB), ავტომატური მასშტაბირება, მარშრუტი 53, API ღრუბელში; AWS Lambda, სერვერის გარეშე; ვებ სერვისები; განაცხადის განლაგება, საბოლოო პროექტი. (4 კრედიტი). (წინასწარი არ არის)

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

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

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

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

  • React არის ყველაზე პოპულარული ბიბლიოთეკა ძლიერი ვებ აპლიკაციების შესაქმნელად. ამ კურსში სტუდენტები შეისწავლიან თუ როგორ გამოიყენონ React და ES6, რათა შექმნან ძლიერი, მასშტაბირებადი აპლიკაციები თავიდანვე, უახლესი Redux-ის შაბლონების გამოყენებით, მათი აპლიკაციის მდგომარეობის შესანარჩუნებლად.

    თემები მოიცავს: კომპონენტებზე დაფუძნებული ვებ აპლიკაციების შემუშავებას, კომპონენტების დიზაინის შაბლონებს, დასვენების API-ების მოხმარებას, მდგრადობას ბრაუზერის API-სთან, JSX და React API-სთან (პროპსიები, პროტოტიპები, მოვლენები, refs), აპლიკაციის მონაცემთა ნაკადი და React აპლიკაციების დანერგვა. წინაპირობები WAP ან CS 477.

    (4 ერთეული)

  • ამ კურსში სტუდენტები სწავლობენ ერთგვერდიანი ვებ აპლიკაციების რეაქტიული პროგრამირების არქიტექტურას (SPA) და ყველა საჭირო უნარს, რათა შექმნან სრული თანამედროვე ვებ აპლიკაცია TypeScript და Angular გამოყენებით. მოსწავლეები ღრმად იგებენ, თუ როგორ მუშაობს Angular, მათ შორის: ცვლილების გამოვლენა; რეაქტიული RxJs პროგრამირება დაკვირვებად და საგნებთან; Shadow DOM; ზონები; მოდულები, კომპონენტები, საბაჟო დირექტივები და მილები; სერვისები და დამოკიდებულების ინექცია; კუთხური შემდგენელი: JIT და AOF კომპილაცია; ფორმები (თარგზე ორიენტირებული და მონაცემების საფუძველზე); მარშრუტიზაცია, დაცვა და მარშრუტის დაცვა; HTTP კლიენტი; და JWT JSON Web Token ავთენტიფიკაცია. წინაპირობები: WAP ან CS 477.

    (4 ერთეული)

  • ეს კურსი გადადის ვებ-განვითარებიდან მობილური აპლიკაციების შემუშავებაზე React Native-ის გამოყენებით, Facebook-ის პოპულარული ფრეიმერის საშუალებით, რომელიც საშუალებას აძლევს cross-platform მშობლიურ აპლიკაციებს გაუშვან JavaScript-ის გამოყენებით Java ან Swift-ის გარეშე. კურსი წარმოგიდგენთ თანამედროვე JavaScript–JavaScript XML (JSX)– JavaScript გაფართოებას. სტუდენტები იძენენ გამოცდილებას React Native-თან და მის პარადიგმებთან, აპლიკაციის არქიტექტურასთან და მომხმარებლის ინტერფეისებთან. კურსი მთავრდება საბოლოო პროექტით, რომელშიც სტუდენტები ახორციელებენ მობილურ აპლიკაციას მთლიანად საკუთარი დიზაინით. წინაპირობები: WAA ან CS568.

    (4 ერთეული)

  • ამ კურსის განმავლობაში თქვენ შეისწავლით 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 ერთეული)

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

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

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

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

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

  • MIU განათლების 50 წლიანი საპატივცემულოდ, კომპიუტერული მეცნიერების დეპარტამენტი სიამოვნებით იწყებს ჩვენი ახალი Golden Jubilee ComPro Tech Talks სერიას.

    ამ ყოველთვიური სერიის ორგანიზატორი და მოდერატორია პროფესორი რენუკა მოჰანრაჯი.

    მოლაპარაკებები ხელმისაწვდომია https://www.youtube.com/playlist?list=PLoBuI1C_-EtrAMdD45sldMnd8HXNhmyBQ.

    იხილეთ ჩვენი უახლესი ჩაწერილი საუბარი, შაბათიდან, 28 წლის 2022 მაისიდან:

    MIU კომპიუტერული მეცნიერების ინსტრუქტორი Unubold Tumenbayar, AWS სერთიფიცირებული პროფესიონალური გადაწყვეტილებების არქიტექტორი, აშუქებდა ამ თემებს ჩვენს უახლეს ComPro Tech Talk-ში:
    o Full-stack აპლიკაციის შექმნა ღრუბელში წუთებში
    o დისკუსია თანამედროვე ტექნოლოგიების შესახებ
    o GraphQL
    o რეაგირება
    o NoSQL AWS სერვისებისა და ხელსაწყოების გამოყენებით

    იხილეთ Unbold-ის სლაიდები აქ.

    ეს საუბარი არის ჩვენი კარგი გადახედვა Cloud Computing კურსი (CS 516).

სწავლის პარამეტრები

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

პროგრამებიკამპუსში სწავლის თვეებიფასიანი პრაქტიკადისტანციური განათლება (DE) პრაქტიკის დროს
CPT8-92 წლამდე CPT4 DE კურსი
დამ9-10მაქსიმუმ 11.5 თვე CPT + 3 წელი დამ (არასავალდებულო)3 DE კურსი
სრული განაკვეთი კამპუსში12-133 წლით დამ ვარიანტიNA

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

მზად ხართ ახალი კარიერის დასაწყებად?