Alamin ang Mga Kasanayan sa 'Hands-On' na may Pinakabagong Mga Teknolohiya sa Pag-unlad ng Software

Handa ka na bang Advance Your Career?

Handa Ka Bang Isulong ang Iyong Karera?

Sa konsultasyon sa kanilang mga Tagapayo, pinipili ng lahat ng mag-aaral ang Mga Pangunahing Kurso mula sa kaliwang hanay sa ibaba at Mga Advanced na Kurso mula sa kanang hanay.

Batay sa mga qualifying exam na kinuha pagdating nila sa campus, ang mga estudyante lamang sa Paghahanda sa Entry Track ay kailangang kumuha ng 4 na linggong Fundamental Programming Practices (CS 390) na klase. PARA 506 at CS 401 ay kinakailangan para sa lahat ng mga mag-aaral. Tingnan ang Mga Kinakailangan sa Pagtatapos >

Mga Pangunahing Kurso

  • Ang iyong unang kurso ay partikular na idinisenyo upang maitaguyod ang batayan kung paano ka maaaring maging isang nangungunang gumaganap na propesyonal sa agham ng computer. Ang kurso ay nakaugat sa pagsasagawa ng Transcendental Meditation na humahantong sa katuparan ng iyong totoong potensyal. Malalaman mo ang tungkol sa mga pakinabang ng TM kabilang ang kakayahang malutas ang mga kumplikadong problema sa pamamagitan ng nakahihigit na pag-andar ng pag-iisip na nagpapahusay ng pagkamalikhain at "out of the box" na pag-iisip. Ang kurso ay nakatuon sa mga prinsipyo na pinagbabatayan ng pinakamataas na pagganap sa aktibidad sa pamamagitan ng pagbuo ng isang pinakamainam na halo ng pahinga at aktibidad. Bubuo ka at makakaranas ng isang perpektong pang-araw-araw na gawain na sumusuporta sa tagumpay sa buhay. (2 yunit)

  • Ang kursong ito ay nagbibigay ng isang nakatuon na programa para sa pagpapahusay ng mga kasanayan sa pagprogram at analitikal sa limang mga lugar: paglutas ng problema, mga istruktura ng data, programa na nakatuon sa object, ang wika ng programa sa Java, at ang paggamit ng recursion sa mga programang Java.

    Ang mga paksang ito ay partikular na kahalagahan bilang isang paunang kinakailangan para sa mga kurso sa nagtapos na programa sa Computer Science.

    Kasama sa mga paksa ang: mga elemento ng Java programming, disenyo at pagpapatupad na nakatuon sa object, mga istruktura ng data (kabilang ang mga listahan, stack, pila, mga puno ng paghahanap sa binary, mga talahanayan ng hash, at mga set), ang hierarchy ng pagbubukod, file i / o at mga stream, at JDBC. (4 na kredito) Pangangailangan: Para sa mga mag-aaral sa undergraduate: CS 221; para sa mga nagtapos na mag-aaral: pahintulot ng kagawaran ng kagawaran (4 na mga yunit)

  • Ang kursong ito ay nagtatanghal ng mga pangunahing mga prinsipyo ng programming ng object-oriented. Matututuhan ng mga mag-aaral kung paano magsulat ng magagamit na muli at mas mahusay na pinapanatili na software, at isama ang kaalaman na ito sa mga takdang-aralin at proyekto ng laboratoryo. Ang mga paksa ay kinabibilangan ng: mga pangunahing alituntunin at mga modelo ng mga object-oriented programming, diagram ng UML at mga prinsipyo ng disenyo na nagsusulong ng muling paggamit at mapanatili ng software. (Mga unit ng 4)

  • Sinasaklaw ng kursong ito ang mga mahahalaga ng mga prinsipyo ng disenyo ng DB at isang panimula sa mga database ng SQL at NoSQL.

    Paksa ay kinabibilangan ng: Relational DB design principles, Normal Forms, Primary and Foreign and Unique keys; Mga Tanong (Pagsasama-sama, Pagsasama, Pag-uuri); Mga Transaksyon; Mga prinsipyo sa disenyo ng DB na nakabatay sa dokumento, Mga Index, Mga Scaling Database; Availability at pagbawi (dump, restore, export, import); Database bilang isang Serbisyo. Walang Pre-requisites.

    (Mga unit ng 4)

  • Ang mga sistema ng database ay nag-oorganisa at nakakuha ng impormasyon, na nagbibigay-daan sa gumagamit na ma-access ang nais na impormasyon nang madali at mahusay. Kasama sa mga paksa ang: modelo ng pamanggit na pamanggit; SQL; ER pagmomolde; pamanggit algebra; data normalisasyon; mga transaksyon; mga bagay sa database; seguridad ng data at integridad; data warehousing, OLAP, at pagmimina ng data; ibinahagi database; at pag-aaral ng isang tiyak na komersyal na sistema ng database. (4 units) Kinakailangan: CS 401 o pahintulot ng mga guro ng departamento.

  • Ang Software Engineering ay isang kurso na nagpapakilala sa mag-aaral sa mga pinakamahusay na kasanayan sa pagpapaunlad ng software sa pamamagitan ng isang pamamaraan ng software development. Ang mga estudyante ay may ilang karanasan sa mga nakaraang kurso sa Object Oriented paradigm at ginamit ang ilan sa mga pangunahing diagram ng UML para sa mga layunin ng pagmomolde ng mga relasyon sa pagitan ng mga bagay ng software. Sa Software Engineering, mag-aaral ay bumuo ng mga kasanayan sa paglalagay ng mga tool na ito magkasama upang makabuo ng matatag, madali maintainable software. Ang isang pamamaraan sa pag-unlad ng software ay naglalarawan kung kailan at kung paano ang mga konsepto ng OO at mga diagram ng UML ay dapat gamitin upang maisakatuparan ang layunin ng pagbuo ng software ng kalidad. Ang kurso ay nakasentro sa isang maliit na proyekto kung saan ang mga alituntuning tinalakay sa format ng panayam ay maaaring ilarawan at ilapat. Sa pagtatapos ng kurso, ang mag-aaral ay magkakaroon ng tumatakbong aplikasyon, na binuo alinsunod sa mataas na pamantayan ng pamamaraan ng pag-unlad ng RUP (Rational Unified Process).

  • Ang kursong ito ay nagtatanghal ng mga pamamaraan para sa pag-aaral ng kahusayan ng mga algorithm (kabilang ang pinakamasama-case at average-case analysis) at nagpapakilala sa iba't ibang mga kilala, mataas na mahusay na mga algorithm. Ang pagtatasa, disenyo, at pagpapatupad ng mga algorithm ay binibigyan ng pantay na diin. Kasama sa mga paksa ang paghahanap at pag-uuri, ang kahusayan ng mga operasyon sa mga istruktura ng data (kabilang ang mga listahan, mga mayhtable, mga balanseng binary na paghahanap ng paghahanap, mga priority queue), mga algorithm ng graph, mga kombinatoryal na algorithm, mga pag-uulit ng pag-ulit, Dynamic na Programming, NP-kumpletong mga problema, at ilang mga espesyal na paksa tulad ng oras nagpapahintulot. (Mga espesyal na paksa isama ang computational geometry, mga algorithm para sa cryptosystems, approximation, Big Data at parallel computing.)

  • Ang kursong ito ay napupunta nang malalim sa mga asynchronous na konsepto ng web programming at sumasaklaw sa pinakamahalagang pattern ng disenyo para sa JS, na kinabibilangan ng pattern ng tagamasid, pabrika, dekorador, at marami pa. Sinasaklaw din nito ang pagtatrabaho sa Web API at mga hindi nababagong istruktura ng data.

    Paksa ay kinabibilangan ng: Collaborative Git; Panimula sa TypeScript at Mga Bundler; Asynchronous na JavaScript; Event-Loop; History API, Geolocation API; Ajax (HTTP, Ajax, JSON, Fetch, Panimula sa CORS, Pag-debug); Mga Pangako at Async/Await; Reaktibong Programming; Mga Obserbasyon at Operator ng RxJS; Mga Pattern ng Disenyo: Module, Prototype, Singleton, Observer, Façade, Factory, Dekorador, Proxy, Strategy, Memoization; Mga Makabagong Web Browser. Walang pre-requisites.

    (Mga unit ng 4)

  • Ang kinabukasan ng computing ay parallel. Ang pagtaas sa sunud-sunod na pagganap ay tumaas dahil ang mga disenyo ng processor ay umabot sa mga limitasyon ng miniaturization, dalas ng orasan, kapangyarihan, at init. Noong 2005, ang bilang ng mga core ng processor ay biglang nagsimulang tumaas mula sa isang core hanggang sa maraming mga core, na lumilikha ng potensyal na magsagawa ng mga programa nang mas mabilis. Gayunpaman, upang magamit ang potensyal na ito, ang isang programmer ay dapat magkaroon ng ilang kaalaman sa parallel programming techniques.

    Ang kursong ito ay nagtuturo sa mga mag-aaral ng mga pangunahing konsepto ng parallel programming sa konteksto ng Java 9. Ang parallel programming ay nagbibigay-daan sa mga developer na gumamit ng mga multicore na computer upang mapabilis ang pagtakbo ng kanilang mga application sa pamamagitan ng paggamit ng maramihang mga core sa parehong oras. Sa pagtatapos ng kursong ito, matututunan mo kung paano gumamit ng mga sikat na parallel na Java frameworks (tulad ng Multi-Threading, Streams, at Executors) upang magsulat ng mga parallel na programa para sa malawak na hanay ng mga multicore platform kabilang ang mga server, desktop, o mobile device.

    Ang mga tool sa software na ginamit sa kursong ito ay kinabibilangan ng Microsoft Visual Studio, Java multithreading library, at OpenMP threading standard. (4 na unit) Prerequisite: Kaalaman sa computer programming gamit ang Java, C, o C++.

    Para sa karagdagang impormasyon, panoorin itong limang minutong video na ginawa ng Propesor ng kursong ito:

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

  • Ang kursong ito ay nagbibigay ng isang sistematikong panimula sa programming interactive at dynamic na mga web application. Ang kurso ay inilaan para sa mga indibidwal na may kaunti o walang naunang karanasan sa web application programming. Gagamitin ng handog na ito ang NodeJS at ang Express framework para sa pagpoproseso sa panig ng server.

    Ang kurso ay nagsisimula sa isang pagsusuri ng mga pangunahing kaalaman ng HTML at CSS, na may espesyal na pagtuon sa layout ng web page gamit ang CSS. Ang JavaScript ay ang programming language na ginamit sa buong kurso kasama ang mga function, object, module, jQuery framework, Ajax, at Promises. Ginugugol ng mga mag-aaral ang karamihan sa kanilang oras sa pagprograma ng isang serye ng lalong kumplikado at sopistikadong mga website. Ang isang capstone project sa huling linggo ng kurso ay lumilikha ng isang website na may SQL database backend na naa-access ng kliyente nang hindi sabaysabay para sa pinakamainam na pagganap.

    Ang kursong ito ay isang kinakailangan para sa CS545 Web Application Architecture at CS572 Modern Web Applications. Kinakailangan: CS 220 o CS 401 o pahintulot ng faculty ng departamento

    (Mga unit ng 4)

  • Ang pagbuo ng mga programa sa Android ay isang kapana-panabik at potensyal na kapaki-pakinabang na karanasan. Binubuksan ng Android development ang mundo ng pagkamalikhain sa programmer. Binibigyang-daan ka nitong ipahayag ang iyong sarili sa mga paraan na hindi mo pinangarap sa isang digital na mundo kung saan maaari kang lumikha ng isang produkto at gawin itong available sa bilyun-bilyong user sa isang click lang ng isang button. Ang kursong ito ay magtuturo kung paano bumuo ng mga Android application gamit ang Kotlin programming language.

    Kasama sa mga paksa ang: Pagse-set up ng iyong computer para sa Android programming; Manifest na pangunahing kaalaman; Mga Layout, Aktibidad, View at mga bahagi ng UI; Paggawa gamit ang Mga Intent, Fragment, at Shared Preferences; Web View at HTML; Nagtatrabaho sa Multimedia; Mga bahagi ng Android Jetpack, Room Database, at JSON; Understating Sensor; Lokalisasyon; Pag-publish ng app sa Google play store. (4 na units) Walang mga Prerequisite ang kailangan.

  • Nakatuon ang kursong ito sa paggamit ng JavaScript sa backend (NodeJS). Matututuhan ng mga mag-aaral kung paano gumagana ang NodeJS at magkakaroon ng malalim na pag-unawa sa core application programming interface (API) nito. Saklaw ng kurso kung paano gumagana ang JS compiler engine (V8), kung paano buuin ang code gamit ang mga module, at kung paano gumagana ang asynchronous na code sa Node at sa Node event loop. Itinuturo din ng kurso ang Node Package Manager (NPM), kung paano bumuo ng isang web server, kung paano magtrabaho sa Express framework, at kung paano gamitin ang ODM tulad ng Mongoose upang pamahalaan ang MongoDB. Matututuhan ng mga mag-aaral ang lahat ng mga diskarte na tumutukoy sa isang modernong web application, kabilang ang pag-authenticate ng mga user gamit ang JSON Web Tokens, patuloy na data sa database, at pagbuo ng Restful API. Ang iba pang mga konsepto ng agham sa computer ay saklaw din.

    Paksa ay kinabibilangan ng: Disenyo ng HTTP & Rest API; Stateless vs stateful applications; Node API; Node Package Manager (npm); Arkitekturang Model-Controller, Express framework, at middleware; Pagruruta sa gilid ng server; Token-based na pagpapatotoo. Walang Pre-requisites.

    (Mga unit ng 4)

  • Ang Big Data ay ang bagong likas na mapagkukunan: ang data ay dumodoble tuwing 12-18 buwan. Sinasaklaw ng bagong kurso na Big Data Analytics ang mga pangunahing konsepto at tool para sa pagmimina ng malalaking magkakaibang hanay ng data upang makabuo ng mga bagong pananaw. Mahuhusay mo ang paggamit ng wikang R upang lumikha ng Wordcloud, Pagerank, Pagpapakita sa Data, Mga Puno ng Desisyon, Pag-urong, Pag-cluster, Neural Networks, at marami pa. Makikipagtulungan ka sa ilang malalaking milyong record na mga data, at nagmina rin ng mga feed sa Twitter. Malalaman mo ang mga konsepto ng Hadoop / MapReduce at Streaming Data, at tuklasin ang iba pang mga Apache Big Data Projects tulad ng Spark, Flink, Kafka, Storm, Samza, NoSQL sa pamamagitan ng mga indibidwal na papel sa pagsasaliksik. Magtatrabaho ka sa mga pangkat sa mga bukas na proyekto mula sa Kaggle.com upang makipagkumpitensya para sa premyong pera sa pamamagitan ng paglutas ng mga pinakamahusay na-ng-lahi na hamon sa data-analitik. Malalaman mo ring gumamit ng nangunguna sa industriya na SPSS Modeler ng industriya, at mga open-source na platform ng pagmimina ng data. Gumagamit din ang kurso ng isang malawak na hanay ng mga materyal sa pagsasanay sa video mula sa MIT, Coursera, Google, at kung saan pa. (4 na yunit) Pangangailangan: Pahintulot ng kagawaran ng kagawaran

  • Ang layunin ng kursong ito ay upang magbigay ng mga mag-aaral na may kaalaman at kasanayan sa pamumuno, kabilang ang mga kasanayan sa komunikasyon bilang paghahanda para sa mga tungkulin sa hinaharap na pamumuno.

    Sa pagtatapos ng kurso na ito, mauunawaan ng mga estudyante ang mga sagot sa mga mahahalagang tanong tungkol sa epektibong pamumuno, kabilang ang mga sumusunod:

    Mayroon bang mga lider ng 'natural-born'?

    Kailangan mo bang magkaroon ng charisma upang manguna nang epektibo?

    Ano ang isang asset na kinakailangan upang maging isang lider?

    Ano ang pagkakaiba sa pagitan ng pamamahala at pangunguna?

    Ano ang kailangan ng maraming 'mga katalinuhan' upang mamuno sa panahong ito?

    Ano ang 'pamamahala ng pag-aabuso sa tungkulin' at paano ito humantong sa pagsabotahe sa sarili?

    Alam natin na ang feedback ay mahalaga sa nangungunang proseso, paano natin natatakot ang takot sa pagbibigay at pagtanggap nito?

    Ano ang pinagmumulan ng 80% ng mga problema na natagpuan sa lugar ng trabaho?

    Mayroon bang siyentipikong pananaliksik na magagamit upang tulungan ang samahan sa pagpapabuti ng mga kasanayan sa pamumuno ng indibidwal at koponan?

    Ang mga nagsasalita ng bisita ay kasama ang mga bantog na negosyante, mga siyentipiko ng computer, mga pilantropista, mga akademiko at iba pang mga kilalang lider sa lipunan.

    (Mga unit ng 2)

Mga advanced na Kurso

  • Project Management introduces the student to learn through practical development of a project, lectures, reading, experiencing the Project Management Framework,  its body of knowledge areas (10 knowledge areas and related processes) and deployment.  Students work through a real project implementation and experience the role of project management in all phases of the Software Development Life Cycle using an application development methodology.

    Students get real experience in project planning, requirements management, scope management, coding standards, cost estimations for module / code in terms of dollar value as well as in terms of the man hours, schedules management, quality management, risk management and communications management.  By the end of the course, students will have a running application that is developed using the PM processes used in industry. (Starting from requirements through production deployment).  The project is developed using the latest Java Technologies and their frameworks with the Web services and Design Patterns.

  • Isinasaalang-alang ng kurso na ito ang mga advanced na paksa sa programming language design na may diin sa pormal na pamamaraan at mga mekanismo ng abstraction. Ang mga paksa ay kinabibilangan ng data at pagkontrol ng abstraction, pormal na pagtutukoy ng syntax at semantika, mga katibayan ng tamang programa, hindi deterministic programming, advanced control structures, at pag-aaral ng mga tiyak na wika. (4 units) Kinakailangan: CS 401 o pahintulot ng mga guro ng departamento.

  • Saklaw ng kursong ito ang mga pattern ng cloud programming at magbibigay-daan sa mga mag-aaral na magsanay sa pagtatrabaho sa iba't ibang serbisyo sa web cloud, kabilang ang mga function ng AWS Serverless.

    Kabilang sa mga paksa ang: Identity & Access Management (IAM); Virtual Private Cloud (VPC), Network Access Control Lists – NACL, Subnets, Availability Zone, Simple Storage Service (S3), Elastic Cloud Compute (EC2), Simple Notification Service (SNS), Elastic Load Balancer (ELB), Auto Scaling, Ruta 53, API sa cloud; AWS Lambda, Walang Server; Mga serbisyo sa web; Application Deployment, Pangwakas na Proyekto. (4 na kredito). (Walang mga kinakailangan)

  • Ang modernong pagpoproseso ng impormasyon ay tinukoy ng malawak na mga repository ng data na hindi maaaring paghawak ng tradisyunal na mga sistema ng database. Sinasaklaw ng kurso na ito ang pinakabagong teknolohiya na binuo at ginagamit ng mga lider ng industriya upang malutas ang problemang ito sa pinaka mahusay na paraan. Ang mga tukoy na paksa na sakop ay kinabibilangan ng mga MapReduce algorithm, mga pattern ng disenyo ng MapReduce algorithm, HDFS, Hadoop cluster architecture, YARN, compute na kamag-anak na frequency, pangalawang pag-uuri, web crawling, inverted index at index compression, Spark algorithm at Scala. (Mga unit ng 4) Kinakailangan: CS 435 Algorithm.

  • Sa loob lamang ng ilang maikling taon, ang malalaking teknolohiya ng data ay napunta mula sa larangan ng hype sa isa sa mga pangunahing bahagi ng bagong digital na edad. Ang mga teknolohiyang ito ay lubhang kapaki-pakinabang para sa pagbabago ng Impormasyon sa Kaalaman. Ang layunin ng kurso ay magdagdag ng ilang mahahalagang tool sa iyong arsenal upang matulungan kang malutas ang iba't ibang problema sa malaking data.

    Ang kurso ay nagsisimula sa pagbibigay ng mga sagot sa mga tanong tulad ng “Ano ang Big Data at ito ay kahalagahan? Paano ka nag-iimbak ng malaking data nang maaasahan at mura? Aling mga tool ang gagamitin upang makahanap ng kapaki-pakinabang na impormasyon mula sa malaking data na ito? atbp.” Sa kursong ito, pag-aaralan ng mga mag-aaral ang iba't ibang tool at modelo ng programming para sa pagsusuri ng malaking data. Kasama sa mga paksa ang mga proyekto ng ecosystem ng Hadoop gaya ng MapReduce, Pig, Hive, Sqoop, Flume, HBase (NoSQL DB), Zookeeper pati na rin ang mga proyekto ng ecosystem ng Apache Spark tulad ng Spark SQL at Spark Streaming. Ang mga mag-aaral ay binibigyan din ng pagkakataon na bumuo ng isang kumpletong pipeline ng malaking data simula sa pagkolekta ng data sa real-time, pagproseso, pagsusuri at sa wakas ay tinitingnan ang mga resulta sa graphical na format sa mga dashboard. Ang mga mag-aaral ay pangunahing gagana sa isang solong node na Hadoop cluster ng pamamahagi ng Cloudera. (4 na yunit) (MPP ang tanging kinakailangan)

  • Sa mabilis na paglaki ng data mula sa iba't ibang pinagmumulan, karamihan sa mga negosyo at organisasyon ay naging lubos na hinihimok ng data. Ang pagkuha ng pangunahing impormasyon mula sa naturang data at pag-convert iyon sa kaalaman at katalinuhan ang pangunahing function ng Big Data Analytics. Kaya naman mas maraming negosyo ang lalong gumagastos ng mas maraming pera sa Data Analytics. Ito ngayon ay lalo pang pinabilis ng mabilis na paglaki Digital pagbabagong-anyo. Ang kursong Big Data Analytics na ito ay sumasaklaw sa mga pangunahing konsepto ng analytics, algorithm, at tool para sa pagmimina ng malalaking magkakaibang set ng data upang makabuo ng mga bagong insight sa negosyo.

    Lahat ng pangunahing analytics – kabilang ang Descriptive, Predictive, Prescriptive at Diagnostic sasakupin. Saklaw nito ang mga algorithmic approach sa pagsusuri ng malalaking dataset (unstructured, mixed, structured, graph at streaming): Machine Learning (Neural Networks, Deep Learning, Decision Trees, Random Forest at higit pa), AI, Natural Language Processing (NLP), Statistical at streaming algorithm, sa mga modernong distributed analysis platform (hal. MapReduce, Hadoop, Spark,) para sa Regression (prediction), classification, clustering, recommendation system at higit pa. Advanced na Big Data Analytics, Lalo na Causal Analytics sasakupin din. Ang mga wikang programming sa Python / R ay kadalasang gagamitin. Gagawa rin ang mga mag-aaral ng isang proyekto ng grupo upang malutas ang isang problema sa totoong buhay gamit ang Big Data Analytics.

    (4 na units) Prerequisite: Pahintulot ng department faculty

  • Isinasaalang-alang ng kursong ito ang mga kasalukuyang pamamaraan at kasanayan para sa mahusay na disenyo ng mga software system. Kasama sa mga paksa ang mga pattern ng disenyo ng software, mga balangkas, mga arkitektura, at mga sistema ng pagdidisenyo upang ilapat ang mga abstraction na ito sa maraming antas. (2-4 credits) Prerequisite: CS 401 o pahintulot ng department faculty.

  • Nakatuon ang kursong ito sa pagtuturo ng mga prinsipyo at kasanayan na ginagamit sa pagbuo ng mas malalaking aplikasyon sa negosyo. Susuriin namin ang iba't ibang mga layer ng arkitektura na madalas na ginagamit at iba't ibang mga teknolohiyang nauugnay sa mga layer na ito, kabilang ang Object Relational Mapping (ORM), Dependency Injection (DI), Aspect Oriented Programming (AOP), at pagsasama sa iba pang mga application sa pamamagitan ng Web Services (RESTfull). at SOAP), Pagmemensahe at remote na paraan ng invocation. Dapat ay may gumaganang kaalaman sa mga relational database at SQL. Kung wala kang matibay na kurso o mahusay na kaalaman sa SQL dapat kang mag-sign up para sa CS422 DBMS bago mag-sign up para sa EA. (4 na unit)

  • Ang kursong ito ay nakatuon sa mga application sa web sa isang setting ng enterprise. Ang isang enterprise application ay isang malaking software system na dinisenyo upang gumana sa isang malaking organisasyon tulad ng isang korporasyon o isang pamahalaan. Ang mga application ng negosyo ay mahirap unawain, nasusukat, nakabatay sa bahagi, ibinahagi at kritikal na misyon. Ang kurso na ito, CS545, ay nakatuon sa front end o layer ng pagtatanghal ng isang application ng web ng enterprise. Ang CS544 Enterprise Architecture ay isang kasamang kurso na tumutuon sa back end o business layer, kabilang ang lohika ng negosyo, mga transaksyon, at pagtitiyaga. Ang CS472, Web Application Programming, ay isang kurso na unang kailangan na sumasaklaw sa HTML, CSS, JavaScript, servlets at JSP.

    Ang kurso ay nagtuturo ng mga prinsipyo at mga pattern na pangkalahatang sa mga platform at framework. Ang kurso ay susuriin at magtrabaho kasama ang dalawang nakapangingibang web framework ng Java, Java Server Faces (JSF) at SpringMVC. Ang JSF ay isang bahagi na nakabatay sa balangkas at ang opisyal na pagtutukoy ng pagtutukoy ng balangkas para sa stack ng teknolohiya ng Java Enterprise Edition. SpringMVC ay bahagi ng balangkas ng Core Spring at naging pinakalawak na ginamit na web framework ng Java sa mga nakaraang taon. (4 units) Kinakailangan: CS 472 o pahintulot ng mga guro ng departamento.

  • Ang React ay ang pinakasikat na library para sa pagbuo ng makapangyarihang mga web application. Sa kursong ito, matututunan ng mga mag-aaral kung paano gamitin ang React at ES6 upang bumuo ng matatag, nasusukat na mga application mula sa simula gamit ang pinakabagong mga pattern ng Redux upang mapanatili ang kanilang estado ng aplikasyon.

    Kasama sa mga paksa ang: Component-based web application development, Components Design Patterns, Consuming rest API, Persistence with browser API, JSX at React API (props, proptypes, event, ref), Application data flow, at Deploying React app. Mga kinakailangang WAP o CS 477.

    (Mga unit ng 4)

  • Sa kursong ito, natututo ang mga mag-aaral ng Reactive Programming Architecture ng Single Page Web Applications (SPA) kasama ang lahat ng kinakailangang kasanayan upang makabuo ng ganap na modernong web application gamit ang TypeScript at Angular. Nagkakaroon ng malalim na pag-unawa ang mga mag-aaral sa kung paano gumagana ang Angular, kabilang ang: Pagtukoy sa pagbabago; Reaktibong RxJs programming na may mga observable at paksa; Ang Shadow DOM; Mga Sona; Mga module, bahagi, custom na direktiba, at pipe; Mga serbisyo at dependency injection; Angular compiler: JIT at AOF compilation; Mga Form (na hinimok ng template at hinihimok ng data); Pagruruta, mga bantay, at proteksyon sa ruta; HTTP client; at JWT JSON Web Token authentication. Mga Kinakailangan: WAP o CS 477.

    (Mga unit ng 4)

  • Ang kursong ito ay lumilipat mula sa web development patungo sa mobile application development gamit ang React Native, isang sikat na framework mula sa Facebook na nagbibigay-daan sa mga cross-platform native na application na tumakbo gamit ang JavaScript nang walang Java o Swift. Ipinakilala ng kurso ang modernong JavaScript–JavaScript XML (JSX)–isang extension ng JavaScript. Nagkakaroon ng karanasan ang mga mag-aaral sa React Native at sa mga paradigma nito, arkitektura ng application, at mga user interface. Ang kurso ay nagtatapos sa isang pangwakas na proyekto kung saan ang mga mag-aaral ay nagpapatupad ng isang mobile app na ganap ng kanilang sariling disenyo. Mga kinakailangan: WAA o CS568.

    (Mga unit ng 4)

  • Sa kurso na ito, matututunan mo ang Reactive Programming Architecture ng SPA (Single Page Web Applications) kasama ang lahat ng mga kinakailangang kasanayan upang bumuo ng isang buong Modern Web Application. Kabilang sa mga teknolohiya ang: NodeJS, ExpressJS, TypeScript, AngularJS2, Firebase at NoSQL database (MongoDB). Saklaw ng kurso:

    • Paano gumagana ang C + + V8 engine at asynchronous code sa Node at loop ng kaganapan ng Node.
    • Kung paano isama ang iyong code para sa muling paggamit at bumuo ng Restful API gamit ang mga module at ExpressJS.
    • Paano gumagana ang mga database ng NoSQL: Mongo Shell, Pagsasama ng balangkas, Mga Sangkap na Replica, Clustering, Shards, Mongoose ORM.
    • Ang malalim na pag-unawa sa kung paano gumagana ang Angular (backed by Google), Baguhin ang Detection, Reactive RxJs programming sa Observables at Subject, Ang Shadow DOM, Zone, Module at Component, Custom Directive at Pipe, Serbisyo at Dependency Injection, Angular Compiler, JIT at AOF Compilation , Mga Form (Template na Hinimok at Data na Hinimok), Data Binding, Routing, Guards at Ruta Protection, HTTP client, JWT JSON Web Token Authentication.

    (Mga unit ng 4)

  • Sa kursong praktiko na ito, ang mga mag-aaral ay nagsasagawa ng mga gawain na nauugnay sa computer sa isang posisyon na pang-propesyonal. Ang mga gawaing isinagawa ay maaaring sa disenyo at pag-unlad ng mga bagong system o ang aplikasyon ng mga umiiral na system para sa mga tiyak na layunin. Ang mga paglalarawan sa trabaho na Practicum ay binubuo ng employer at ng mag-aaral, at nangangailangan ng pag-apruba nang maaga ng isa sa nagtapos na guro ng departamento, sa konsulta sa tagapangasiwa ng praktiko kung saan inilagay ang mag-aaral. (Ang kursong ito ay pangunahin para sa mga mag-aaral sa internship o kooperatiba na mga programa.) (0.5-1 unit bawat bloke - maaaring ulitin.)

  • Ang Machine Learning ay ang larangan ng pag-aaral na nagbibigay sa mga computer ng kakayahang matuto mula sa data, ay nasa puso ng halos lahat ng siyentipikong disiplina, at ang pag-aaral ng generalization (iyon ay, hula) mula sa data ay ang pangunahing paksa ng machine learning. Ang kursong ito ay nagbibigay ng graduate-level na panimula sa machine learning at malalim na saklaw ng mga bago at advanced na pamamaraan sa machine learning, pati na rin ang kanilang pinagbabatayan na teorya. Binibigyang-diin nito ang mga diskarte na may praktikal na kaugnayan at tinatalakay ang ilang kamakailang aplikasyon ng machine learning, tulad ng Data Mining (sa Big Data / Data Science, Data Analytics), Natural Language Processing, Computer Vision, Robotics, Bioinformatics at Text at Web data processing. Ginagamit ang Machine Learning sa iba't ibang industriya kabilang ang Financial Services, Oil & Gas, Health Care, Marketing at Advertising, Government, Internet at Internet of Things.

    Sinasaklaw ng kursong ito ang iba't ibang mga paradigma sa pag-aaral, mga algorithm, mga resulta ng teoretikal at aplikasyon. Gumagamit ito ng pangunahing mga konsepto mula sa artipisyal na intelihensiya, teorya ng impormasyon, istatistika, at teorya ng kontrol hanggang sa nauugnay ang mga ito sa pag-aaral ng makina. Kasama sa mga paksang: pinangangasiwaang pag-aaral (generative / discriminative learning, parametric / non-parametric learning, neural network, support vector machine, decision tree, Bayesian learning & optimization); hindi suportadong pag-aaral (pag-cluster, pagbawas ng dimensionalidad, mga pamamaraan ng kernel); teorya sa pag-aaral (bias / pagkakaiba-iba tradeoffs; teorya ng VC; malalaking margin); pag-aaral ng pampatibay at adaptive control. Ang iba pang mga paksa ay kasama ang HMM (Nakatagong Markov Model), Evolutionary Computing, Deep Learning (With Neural Nets) at pagdidisenyo ng mga algorithm na ang pagganap ay maaaring mahigpit na masuri para sa pangunahing mga problema sa pag-aaral ng makina.

    Ang isang mahalagang bahagi ng kurso ay isang proyekto ng grupo. Ang mga malalaking open source tools na ginagamit para sa parallel, ipinamamahagi at nasusukat na pag-aaral ng makina ay malimit na sakop upang tulungan ang mga mag-aaral na gumagawa ng mga proyekto. (Mga unit ng 4) Kailangang kailangan: Wala.

  • Ang Artificial Intelligence (AI) ay ang disiplina na sumusubok na bumuo at maunawaan ang Intelligent Systems. Ang mga kompyuter na may katalinuhan sa antas ng tao ay magkakaroon ng malaking epekto sa lipunan. Ang mga Intelligent Software Agents at Multi-Agent System ay mabilis na lumalaki at tumutulong sa maraming lugar tulad ng Digital Transformation, Automation, Conversational System, Web Search, Robotics, Manufacturing, Health, Pharmaceutical, Banking, Supply Chain, Autonomous Driving, Advertisement, Games, para lang pangalanan ang ilan. Ang AI ay nagtutulak ng multi-trilyong dolyar na industriya. Ang kursong ito ay magtuturo sa mga pundasyon ng AI at magbibigay sa mga mag-aaral ng praktikal na pag-unawa sa larangan. Kasama sa mga paksa ang mga pangunahing konsepto ng AI – matalinong ahente, multi-agent system, matalinong paghahanap, una at mas mataas na order na lohika, representasyon ng kaalaman, pangangatwiran, persepsyon, pag-aaral, semantika (NLP, Imahe, Bagay..), pagpaplano, paggawa ng desisyon, acting, reactive, deliberative, rational, adaptive, komunikasyon at interaksyon. Binibigyang-diin ng kurso ang mga diskarte na may praktikal na kaugnayan at tinatalakay ang ilang kamakailang sikat na aplikasyon ng AI. Ang mga pangunahing open source na tool at programming language para sa AI (kabilang ang Mababang code at Walang code) ay tatalakayin sa madaling sabi. Ang mga mag-aaral ay gagawa din ng pangkatang proyekto upang malutas ang isang problema sa totoong buhay gamit ang AI.

    (4 na units) Prerequisite: Pahintulot ng department faculty

  • Sa kurso na ito, titingnan natin ang mga diskarte, prinsipyo at mga pattern ng kung paano mag-disenyo ng kakayahang umangkop, nasusukat, masusubok at nababanat na mga sistema ng software na gumagamit ng microservices. Pag-aaralan namin kung paano namin maaaring hatiin ang mga malalaking application sa mas maliit na microservices na mas madali upang bumuo at iba pang mga pakinabang kumpara sa monolitikong mga aplikasyon ng enterprise. Ang isang ipinamamahagi microservice architecture ay nagbibigay din ng maraming hamon. Pag-aaralan natin ang mga hamong ito at kung paano matugunan ang mga ito. Ang mga paksa ng kursong ito ay mga estilo ng arkitektura, mga diskarte sa pagsasama at mga pattern, disenyo ng hinihimok ng domain, arkitektura na hinihimok ng kaganapan at reaktibo na programming. (4 credits). (Walang mga kinakailangan)

  • Bilang parangal sa 50 taon ng MIU na edukasyon, masaya ang Computer Science Department na simulan ang aming bagong serye ng Golden Jubilee ComPro Tech Talks.

    Ang buwanang seryeng ito ay inaayos at pinangangasiwaan ni Propesor Renuka Mohanraj.

    Available ang mga pag-uusap sa https://www.youtube.com/playlist?list=PLoBuI1C_-EtrAMdD45sldMnd8HXNhmyBQ.

    Tingnan ang aming pinakabagong naitalang usapan, mula Sabado, Mayo 28, 2022:

    Ang MIU Computer Science instructor na si Unubold Tumenbayar, isang AWS certified professional solutions architect, ay sumasaklaw sa mga paksang ito sa aming pinakabagong ComPro Tech Talk:
    o Pagbuo ng isang Full-stack na app sa ilang minuto sa cloud
    o Pagtalakay sa Makabagong Teknolohiya
    o GraphQL
    o Mag-react
    o NoSQL gamit ang mga serbisyo at tool ng AWS

    Tingnan ang mga slide ng Unbold dito.

    Ang pag-uusap na ito ay isang magandang preview ng ating Kurso sa Cloud Computing (CS 516).

Mga Opsyon sa Pag-aaral

Mayroong 3 mga opsyon sa pag-aaral para sa mga International Student.
Ang bawat isa ay nagbibigay ng MS sa Computer Science.
Lahat ay may mga petsa ng pagpasok ng Enero, Abril, Agosto o Oktubre.

ProgramaMga Buwan ng On-Campus StudyMay Bayad na PracticumDistance Education (DE) Habang Practicum
CPT8-9Hanggang sa 2 na taon CPT4 na Kurso sa DE
Pumili9-10Hanggang sa 11.5 na buwan CPT + 3 taon Pumili (Opsyonal)3 na Kurso sa DE
Full-time sa Campus12-133 year Pumili opsyonNA

"Sa kauna-unahan kong narinig tungkol sa programa ng MSCS, nag-alinlangan ako. Hindi ako makapaniwala na may ganitong bagay. Ngunit isang araw, isang kaibigan ko ang sumali sa programa. Iyon ay noong nakumpirma kong totoo ito. Pagkatapos ay ipinagpatuloy ko ang aking proseso ng aplikasyon. Eh! Totoo, narito ako, nakumpleto ko ang programa at napakasaya ko. "

Handa Ka na Bang Magsimula ng Isang Bagong Karera?

US EMBASSY INTERVIEW WAITING TIMES AT MSCS APPLICATION PROCESSING TIMES

Nalaman namin na maraming mga bansa ang naantala ng mga petsa ng panayam. Mangyaring tingnan Oras ng Paghihintay ng Visa Appointment (state.gov) para malaman ang haba ng oras para makakuha ng petsa ng panayam para sa iyong bansa/lungsod.

Kung ang oras ng paghihintay ng panayam ay higit sa 2 buwan, hinihikayat ka naming mag-apply at kumpletuhin kaagad ang iyong aplikasyon, kahit na nagpaplano kang mag-aplay para sa susunod na pagpasok. Sa ganitong paraan maaari mong kumpletuhin ang proseso ng aplikasyon, kunin ang iyong I-20, at pagkatapos ay makakuha ng petsa ng panayam. Dapat mayroon kang I-20 para makuha ang petsa ng panayam. Kung ang petsa ay mas maaga kaysa sa plano mong pumunta sa US, maaari mong palaging ipagpaliban ang iyong petsa ng pagdating sa sandaling makuha mo ang visa. Bibigyan ka lang namin ng bagong I-20 para sa petsa ng pagpasok kung saan plano mong pumunta.

Para sa mga katanungan tungkol sa impormasyong ito, mangyaring makipag-ugnayan sa aming tanggapan ng admisyon sa csadmissions@miu.edu.

Tanungin ang Iyong Sarili nitong 4 na Tanong:

  1. Mayroon ka bang Bachelor's degree sa isang teknikal na larangan? Oo o Hindi?

  2. Mayroon ka bang magagandang marka sa iyong Bachelor's degree? Oo o Hindi?

  3. Mayroon ka bang hindi bababa sa 6 na buwan ng full-time, bayad na karanasan sa trabaho bilang isang software developer pagkatapos ng iyong Bachelor's degree? Oo o Hindi?

  4. Available ka bang pumunta sa US para sa mga klase (hindi available online ang program na ito)? Oo o Hindi?

Kung sumagot ka ng 'oo' sa lahat ng tanong sa itaas, maaari kang mag-apply (Bagaman hindi nito ginagarantiyahan na matatanggap ka.)