Impara le competenze pratiche con le più recenti tecnologie di sviluppo software

Sei pronto per Anticipa la tua carriera?

Sei pronto a far avanzare la tua carriera?

In consultazione con i propri consulenti, tutti gli studenti scelgono i Corsi Fondamentali dalla colonna di sinistra in basso e i Corsi Avanzati dalla colonna di destra.

Sulla base degli esami di abilitazione sostenuti al loro arrivo nel campus, solo gli studenti del Pista di ingresso preparatoria dovrà seguire il corso di 4 settimane sulle pratiche di programmazione fondamentale (CS 390). FOR 506 e CS 401 sono obbligatori per tutti gli studenti. Visualizza i requisiti di laurea >

Corsi Fondamentali

  • Il tuo primo corso è specificamente progettato per stabilire le basi su come puoi diventare un professionista dell'informatica con le migliori prestazioni. Il corso è radicato nella pratica della Meditazione Trascendentale che porta alla realizzazione del tuo vero potenziale. Imparerai a conoscere i vantaggi della Meditazione Trascendentale, inclusa la capacità di risolvere problemi complessi mediante un funzionamento mentale superiore, migliorando la creatività e il pensiero “fuori dagli schemi”. Il corso si concentrerà sui principi che sono alla base delle massime prestazioni in attività sviluppando un mix ottimale di riposo e attività. Svilupperai e sperimenterai una routine quotidiana ideale che supporta il successo nella vita. (2 unità)

  • Il corso FPP fornisce un programma mirato per migliorare la programmazione e le capacità analitiche in cinque aree: risoluzione dei problemi, strutture dati, programmazione orientata agli oggetti, linguaggio di programmazione Java e uso della ricorsione nei programmi Java.

    Questi argomenti sono di particolare importanza come prerequisito per i corsi del corso di laurea in Informatica.

    Gli argomenti includono: elementi di programmazione Java, progettazione e implementazione orientata agli oggetti, strutture di dati (inclusi elenchi, stack, code, alberi di ricerca binaria, tabelle hash e set), la gerarchia delle eccezioni, i / o file e flussi e JDBC. (4 crediti) Prerequisito: Per studenti universitari: CS 221; per i laureati: consenso della facoltà di dipartimento (4 unità)

  • Il corso MPP presenta i principi fondamentali della programmazione orientata agli oggetti. Gli studenti impareranno come scrivere software riutilizzabile e con una migliore manutenzione e integreranno questa conoscenza con incarichi e progetti di laboratorio. Gli argomenti includono: principi e modelli fondamentali della programmazione orientata agli oggetti, diagrammi di classi UML e principi di progettazione che promuovono la riusabilità e la manutenibilità del software. (4 unità)

  • I sistemi di database organizzano e recuperano le informazioni, consentendo all'utente di accedere alle informazioni desiderate in modo semplice ed efficiente. Gli argomenti includono: modello di dati relazionali; SQL; Modellazione ER; algebra relazionale; normalizzazione dei dati; transazioni; oggetti nel database; sicurezza e integrità dei dati; data warehousing, OLAP e data mining; database distribuiti; e studio di un sistema di database commerciale specifico. (Unità 4) Prerequisito: CS 401 o consenso del dipartimento facoltà.

  • Ingegneria del software è un corso che introduce lo studente alle migliori pratiche nello sviluppo del software attraverso una metodologia di sviluppo del software. Gli studenti hanno già avuto una certa esperienza in corsi precedenti con il paradigma Object Oriented e hanno usato alcuni dei diagrammi UML di base allo scopo di modellare le relazioni tra oggetti software. In Ingegneria del software, lo studente svilupperà competenze nel mettere insieme questi strumenti per produrre un software robusto e facilmente gestibile. Una metodologia di sviluppo del software descrive quando e come i concetti OO e i diagrammi UML dovrebbero essere usati per raggiungere l'obiettivo di costruire software di qualità. Il corso si concentra su un piccolo progetto in cui i principi discussi nel formato della lezione possono essere illustrati e applicati. Alla fine del corso, lo studente avrà un'applicazione in esecuzione, costruita in accordo con gli standard elevati della metodologia di sviluppo RUP (Rational Unified Process).

  • Questo corso presenta metodi per analizzare l'efficienza degli algoritmi (comprese le analisi caso peggiore e caso medio) e introduce una varietà di algoritmi noti e altamente efficienti. L'analisi, la progettazione e l'implementazione degli algoritmi hanno la stessa importanza. Gli argomenti includono la ricerca e l'ordinamento, l'efficienza delle operazioni sulle strutture dati (inclusi elenchi, hashtables, alberi binari di ricerca bilanciati, code di priorità), algoritmi grafici, algoritmi combinatori, relazioni di ricorrenza, programmazione dinamica, problemi NP-completi e alcuni argomenti speciali come tempo permette. (Argomenti speciali includono geometria computazionale, algoritmi per crittosistemi, approssimazione, Big Data e calcolo parallelo).

  • Il futuro dell'informatica è parallelo. L'aumento delle prestazioni sequenziali si è stabilizzato poiché i design dei processori hanno raggiunto i limiti di miniaturizzazione, frequenza di clock, potenza e calore. Nel 2005 il numero di core del processore ha iniziato bruscamente ad aumentare da un singolo core a più core, creando il potenziale per eseguire programmi molto più rapidamente. Tuttavia, per utilizzare questo potenziale, un programmatore deve avere una certa conoscenza delle tecniche di programmazione parallela.

    Questo corso insegna agli studenti i concetti fondamentali della programmazione parallela nel contesto di Java 9. La programmazione parallela consente agli sviluppatori di utilizzare computer multicore per velocizzare le loro applicazioni utilizzando più core contemporaneamente. Alla fine di questo corso imparerai come utilizzare i più diffusi framework Java paralleli (come Multi-Threading, Streams ed Executor) per scrivere programmi paralleli per un'ampia gamma di piattaforme multicore inclusi server, desktop o dispositivi mobili.

    Gli strumenti software utilizzati durante questo corso includono Microsoft Visual Studio, la libreria multithreading Java e lo standard di threading OpenMP. (4 unità) Prerequisiti: Conoscenza della programmazione informatica tramite Java, C o C++.

    Per ulteriori informazioni, guarda questo video di cinque minuti realizzato dal Professore di questo corso:

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

  • Questo corso fornisce un'introduzione sistematica alla programmazione di applicazioni web interattive e dinamiche. Il corso è rivolto a persone con poca o nessuna esperienza precedente nella programmazione di applicazioni web. Questa offerta utilizzerà NodeJS e il framework Express per l'elaborazione lato server.

    Il corso inizia con una rassegna dei fondamenti di HTML e CSS, con un focus particolare sull'impaginazione di pagine web tramite CSS. JavaScript è il linguaggio di programmazione utilizzato durante il corso che include funzioni, oggetti, moduli, framework jQuery, Ajax e Promises. Gli studenti trascorrono la maggior parte del loro tempo a programmare una serie di siti web sempre più complessi e sofisticati. Un progetto capstone durante l'ultima settimana del corso crea un sito Web con un backend di database SQL a cui il client accede in modo asincrono per prestazioni ottimali.

    Questo corso è un prerequisito per CS545 Web Application Architecture e CS572 Modern Web Applications. Prerequisito: CS 220 o CS 401 o consenso della facoltà di dipartimento

    (unità 4)

  • Lo sviluppo di programmi Android è un'esperienza entusiasmante e potenzialmente redditizia. Lo sviluppo di Android apre il mondo della creatività al programmatore. Ti consente di esprimerti in modi che non avresti mai immaginato in un mondo digitale in cui puoi creare un prodotto e renderlo disponibile a miliardi di utenti con un solo clic di un pulsante. Questo corso insegnerà come sviluppare applicazioni Android utilizzando il linguaggio di programmazione Kotlin.

    Gli argomenti includono: Configurazione del computer per la programmazione Android; Nozioni di base manifeste; Layout, attività, visualizzazioni e componenti dell'interfaccia utente; Lavorare con intenti, frammenti e preferenze condivise; Visualizzazione Web e HTML; Lavorare con la multimedialità; Componenti Android Jetpack, Room Database e JSON; Sottovalutare i sensori; Localizzazione; App di pubblicazione nel Google Play Store. (4 unità) Non sono richiesti prerequisiti.

  • I Big Data sono la nuova risorsa naturale: i dati raddoppiano ogni 12-18 mesi. Questo nuovo corso di Big Data Analytics copre i concetti e gli strumenti fondamentali per estrarre grandi set di dati diversi per generare nuove informazioni. Imparerai l'uso del linguaggio R per creare Wordcloud, Pagerank, visualizzazione dati, alberi decisionali, regressione, clustering, reti neurali e altro ancora. Lavorerai con alcuni grandi set di dati multimilionari e estrarrai anche i feed di Twitter. Imparerai i concetti di Hadoop/MapReduce e Streaming Data ed esplorerai altri progetti Apache Big Data come Spark, Flink, Kafka, Storm, Samza, NoSQL attraverso documenti di ricerca individuali. Lavorerai in gruppi su progetti aperti da Kaggle.com per competere per premi in denaro risolvendo sfide di analisi dei dati migliori del settore. Imparerai anche a utilizzare IBM SPSS Modeler leader del settore e piattaforme di data mining open source. Il corso utilizzerà anche una vasta gamma di materiali di formazione video di MIT, Coursera, Google e altri. (4 unità) Prerequisito: Consenso della facoltà del dipartimento

  • Lo sviluppo software è il processo sistematico di concepimento, specifica, analisi, progettazione, programmazione, test, documentazione e mantenimento coinvolto nella produzione di alcuni sistemi o software applicativi.

    In questo corso, gli studenti impareranno come produrre soluzioni software di livello aziendale, prendendo in considerazione i requisiti dalla concezione attraverso l'analisi, la progettazione, l'implementazione e il test fino alla consegna e all'implementazione del software funzionante. Insegnerà una serie di principi, migliori pratiche e relativi strumenti e tecnologie e come questi vengono utilizzati e applicati nella produzione di soluzioni software robuste e di alta qualità. Le tecniche e gli strumenti trattati saranno per lo più incentrati, ma non limitati a, sulla piattaforma software Java.

    Studieremo le tecniche su come identificare e suscitare i requisiti corretti per un prodotto software, come analizzare questi requisiti e selezionare un'architettura di soluzione software adeguata e creare un progetto appropriato. E come implementare la progettazione nel codice, inclusi i test e, infine, come creare e impacchettare l'artefatto risultante per la consegna/distribuzione. Considereremo vari meccanismi di implementazione moderni, incluso il Cloud. Prerequisito: CS 401

    Gli argomenti comprendono:

    • Progettazione e sviluppo di database
    • Analisi e progettazione orientata agli oggetti
    • Modellazione del dominio
    • Architettura dei sistemi
    • Sviluppo di applicazioni Web utilizzando Spring Web MVC
    • Implementazione e test del sistema; inclusi test unitari, mocking e test di integrazione
    • Sicurezza del software, inclusa la gestione dell'identità e degli accessi
    • Containerizzazione e tecnologie dei container

    (unità 4)

  • L'obiettivo di questo corso è fornire agli studenti conoscenze e abilità nella leadership, comprese le abilità comunicative come preparazione per i futuri ruoli di leadership.

    Alla fine di questo corso, gli studenti capiranno le risposte a domande chiave riguardanti una leadership efficace, tra cui:

    Ci sono leader "di origine naturale"?

    Devi avere carisma per guidare in modo efficace?

    Quale asset è necessario per essere un leader?

    Qual è la differenza tra la gestione e la guida?

    Quali sono le molte "intelligenze" richieste per guidare in questa era?

    Che cosa è "malasanità da parte del management" e come conduce all'autosabotaggio?

    Sapendo che il feedback è essenziale per il processo guida, come possiamo superare la paura di dare e riceverlo?

    Qual è la fonte di 80% dei problemi riscontrati sul posto di lavoro?

    È disponibile una ricerca scientifica per aiutare l'organizzazione a migliorare le proprie capacità di leadership individuale e di squadra?

    Tra i relatori ospiti figurano eminenti imprenditori, informatici, filantropi, accademici e altri leader di spicco della società.

    (unità 2)

Corsi avanzati

  • Project Management introduce lo studente all'apprendimento attraverso lo sviluppo pratico di un progetto, lezioni frontali, letture, sperimentando il Project Management Framework, il suo corpo di aree di conoscenza (10 aree di conoscenza e processi correlati) e la distribuzione. Gli studenti lavorano attraverso una vera implementazione del progetto e sperimentano il ruolo della gestione del progetto in tutte le fasi del ciclo di vita dello sviluppo del software utilizzando una metodologia di sviluppo dell'applicazione.

    Gli studenti ottengono una reale esperienza nella pianificazione del progetto, nella gestione dei requisiti, nella gestione dell'ambito, negli standard di codifica, nelle stime dei costi per modulo/codice in termini di valore in dollari, nonché in termini di ore di lavoro, gestione degli orari, gestione della qualità, gestione del rischio e gestione delle comunicazioni. Alla fine del corso, gli studenti disporranno di un'applicazione funzionante sviluppata utilizzando i processi PM utilizzati nell'industria. (A partire dai requisiti attraverso la distribuzione della produzione). Il progetto è sviluppato utilizzando le ultime tecnologie Java e i loro framework con i servizi Web e i modelli di progettazione.

  • Questo corso tratterà i modelli di programmazione cloud e consentirà agli studenti di esercitarsi a lavorare con vari servizi cloud Web, comprese le funzioni AWS Serverless.

    Gli argomenti includono: Identity & Access Management (IAM); Virtual Private Cloud (VPC), Network Access Control List – NACL, sottoreti, zone di disponibilità, Simple Storage Service (S3), Elastic Cloud Compute (EC2), Simple Notification Service (SNS), Elastic Load Balancer (ELB), Auto Scaling, Route 53, API nel cloud; AWS Lambda, senza server; Servizi web; Distribuzione dell'applicazione, progetto finale. (4 crediti). (Nessun prerequisito)

  • L'elaborazione moderna delle informazioni è definita da vasti archivi di dati che non possono essere gestiti dai sistemi di database tradizionali. Questo corso copre l'ultima tecnologia sviluppata e utilizzata dai leader del settore per risolvere questo problema nel modo più efficiente. Argomenti specifici trattati includono algoritmi MapReduce, schemi di progettazione algoritmo MapReduce, HDFS, architettura cluster Hadoop, YARN, calcolo delle frequenze relative, ordinamento secondario, web crawling, indici invertiti e compressione indice, algoritmi Spark e Scala. (Unità 4) Prerequisito: CS 435 Algorithms.

  • In pochi anni, le tecnologie dei big data sono passate dal regno dell'hype a uno dei componenti fondamentali della nuova era digitale. Queste tecnologie sono molto utili per trasformare l'Informazione in Conoscenza. Lo scopo del corso è aggiungere alcuni strumenti importanti al tuo arsenale per aiutarti a risolvere vari problemi di big data.

    Il corso inizia dando risposte a domande come “Cos'è il Big Data e la sua importanza? Come archiviare i big data in modo affidabile ed economico? Quali strumenti utilizzare per trovare informazioni utili da questi big data? eccetera." In questo corso, gli studenti studieranno diversi strumenti e modelli di programmazione per l'analisi dei big data. Gli argomenti includono progetti dell'ecosistema Hadoop come MapReduce, Pig, Hive, Sqoop, Flume, HBase (NoSQL DB), Zookeeper e progetti dell'ecosistema Apache Spark come Spark SQL e Spark Streaming. Agli studenti viene inoltre data la possibilità di costruire una pipeline completa di big data partendo dalla raccolta dei dati in tempo reale, elaborando, analizzando e infine visualizzando i risultati in formato grafico su dashboard. Gli studenti lavoreranno principalmente con un cluster Hadoop a nodo singolo della distribuzione Cloudera. (4 unità) (MPP è l'unico prerequisito)

  • Con la rapida crescita dei dati provenienti da varie fonti, la maggior parte delle aziende e delle organizzazioni è diventata fortemente basata sui dati. Estrarre informazioni chiave da tali dati e convertirle in conoscenza e intelligenza è la funzione chiave di Big Data Analytics. Questo è il motivo per cui sempre più aziende spendono sempre più soldi per l'analisi dei dati. Questo è ora ulteriormente accelerato dalla rapida crescita DIGITAL TRANSFORMATION. Questo corso di Big Data Analytics copre i concetti fondamentali di analisi, algoritmi e strumenti per l'estrazione di grandi set di dati diversi per generare nuove intuizioni aziendali.

    Tutte le principali analisi, inclusi Descrittivo, Predittivo, Prescrittivo e Diagnostico sarà coperto. Tratterà approcci algoritmici per l'analisi di grandi set di dati (non strutturati, misti, strutturati, grafici e streaming): Machine Learning (Neural Networks, Deep Learning, Decision Trees, Random Forest e altro), AI, Natural Language Processing (NLP), Statistical and algoritmi di streaming, su moderne piattaforme di analisi distribuite (ad es. MapReduce, Hadoop, Spark) per regressione (previsione), classificazione, clustering, sistemi di raccomandazione e altro ancora. Analisi avanzata dei Big Data, Specialmente Analisi causale sarà anche coperto. Saranno maggiormente utilizzati i linguaggi di programmazione Python/R. Gli studenti realizzeranno anche un progetto di gruppo per risolvere un problema della vita reale utilizzando Big Data Analytics.

    (4 unità) Prerequisito: Consenso del corpo docente del dipartimento

  • Questo corso considera i metodi e le pratiche attuali per una buona progettazione di sistemi software. Gli argomenti includono modelli di progettazione software, framework, architetture e sistemi di progettazione per applicare queste astrazioni multilivello. (2-4 crediti) Prerequisito: CS 401 o consenso della facoltà di dipartimento.

  • Questo corso si concentra sull'insegnamento dei principi e delle pratiche utilizzate durante lo sviluppo di applicazioni aziendali su larga scala. Esamineremo i diversi livelli architetturali utilizzati di frequente e le diverse tecnologie associate a questi livelli, tra cui Object Relational Mapping (ORM), Dependency Injection (DI), Aspect Oriented Programming (AOP) e integrazione con altre applicazioni tramite Web Services (RESTfull e SOAP), Messaggistica e chiamata al metodo remoto. Deve avere una conoscenza pratica di database relazionali e SQL. Se non disponi di un corso approfondito o di una buona conoscenza operativa di SQL, dovresti iscriverti a CS422 DBMS prima di iscriverti a EA. (4 unità)

  • Questo corso focalizza le applicazioni web in un ambiente aziendale. Un'applicazione aziendale è un grande sistema software progettato per operare in una grande organizzazione come una società o un governo. Le applicazioni aziendali sono complesse, scalabili, basate su componenti, distribuite e mission critical. Questo corso, CS545, si concentra sul front-end o sul livello di presentazione di un'applicazione Web aziendale. CS544 Enterprise Architecture è un corso complementare incentrato sul back-end o sul livello aziendale, tra cui business logic, transazioni e persistenza. CS472, Web Application Programming, è un corso prerequisito che copre HTML, CSS, JavaScript, servlet e JSP.

    Il corso insegna principi e modelli generali su piattaforme e framework. Il corso esaminerà e lavorerà con i due framework web Java predominanti, Java Server Faces (JSF) e SpringMVC. JSF è un framework basato su componenti ed è la specifica del framework di presentazione ufficiale per lo stack tecnologico Java Enterprise Edition. SpringMVC fa parte del framework Core Spring ed è diventato il framework web Java più utilizzato negli ultimi anni. (Unità 4) Prerequisito: CS 472 o consenso del dipartimento facoltà.

  • In questo corso imparerai l'architettura di programmazione reattiva di SPA (applicazioni Web a pagina singola) insieme a tutte le competenze necessarie per creare un'applicazione Web moderna completa. Le tecnologie includono: database NodeJS, ExpressJS, TypeScript, AngularJS2, Firebase e NoSQL (MongoDB). Il corso riguarderà:

    • Come il motore V8 C ++ e il codice asincrono funzionano nel nodo degli eventi Nodo e Nodo.
    • Come strutturare il codice per riutilizzarlo e creare API restful usando i moduli e ExpressJS.
    • Come funzionano i database NoSQL: Mongo Shell, Aggregation framework, Replica Sets, Clustering, Shards, Mongoose ORM.
    • Comprensione approfondita di come funziona Angular (supportato da Google), Rilevamento modifiche, RxJ reattivo programmazione con oggetti osservabili e soggetti, DOM ombra, Zone, moduli e componenti, Direttive e tubi personalizzati, Servizi e Iniezione delle dipendenze, Compilatore angolare, Compilazione JIT e AOF , Forms (Template Driven e Data Driven), Data Binding, Routing, Guard e Route Protection, client HTTP, JWT JSON Web Token Authentication.

    (unità 4)

  • In questo corso pratico, gli studenti svolgono compiti relativi al computer in una posizione professionale tecnica. I compiti svolti possono riguardare la progettazione e lo sviluppo di nuovi sistemi o l'applicazione di sistemi esistenti per scopi specifici. Le descrizioni del lavoro pratico sono formulate dal datore di lavoro e dallo studente e richiedono l'approvazione anticipata da parte di uno dei docenti universitari del dipartimento, in consultazione con il supervisore del praticantato in cui è collocato lo studente. (Questo corso è principalmente per studenti in stage o programmi cooperativi.) (0.5-1 unità per blocco - può essere ripetuto).

  • Machine Learning (ML) è il campo di studio che offre ai computer la capacità di apprendere dai dati, è al centro di quasi tutte le discipline scientifiche e lo studio della generalizzazione (ovvero la previsione) dai dati è l'argomento centrale dell'apprendimento automatico . Questo corso offre un'introduzione di livello universitario all'apprendimento automatico e una copertura approfondita dei metodi nuovi e avanzati nell'apprendimento automatico, nonché della loro teoria sottostante. Sottolinea gli approcci con rilevanza pratica e discute una serie di recenti applicazioni dell'apprendimento automatico, come il data mining (in Big Data / Data Science, Data Analytics), l'elaborazione del linguaggio naturale, la visione artificiale, la robotica, la bioinformatica e l'elaborazione dei dati di testo e web. L'apprendimento automatico è utilizzato in vari settori tra cui servizi finanziari, petrolio e gas, assistenza sanitaria, marketing e pubblicità, governo, Internet e Internet delle cose.

    Questo corso copre una varietà di paradigmi di apprendimento, algoritmi, risultati teorici e applicazioni. Utilizza concetti di base di intelligenza artificiale, teoria dell'informazione, statistica e teoria del controllo nella misura in cui sono rilevanti per l'apprendimento automatico. Gli argomenti includono: apprendimento supervisionato (apprendimento generativo / discriminativo, apprendimento parametrico / non parametrico, reti neurali, macchine a vettori di supporto, albero decisionale, apprendimento e ottimizzazione bayesiana); apprendimento non supervisionato (clustering, riduzione della dimensionalità, metodi kernel); teoria dell'apprendimento (compromessi di bias / varianza; teoria VC; ampi margini); apprendimento per rinforzo e controllo adattivo. Altri argomenti includono HMM (Hidden Markov Model), Evolutionary Computing, Deep Learning (With Neural Nets) e la progettazione di algoritmi le cui prestazioni possono essere analizzate rigorosamente per problemi fondamentali di machine learning.

    Una parte importante del corso è un progetto di gruppo. I principali strumenti open source utilizzati per l'apprendimento automatico parallelo, distribuito e scalabile verranno brevemente trattati per aiutare gli studenti a realizzare i progetti. (Unità 4) Prerequisito: nessuno.

  • L'Intelligenza Artificiale (AI) è la disciplina che cerca di costruire e comprendere i Sistemi Intelligenti. I computer con intelligenza a livello umano avrebbero un enorme impatto sulla società. Gli agenti software intelligenti e i sistemi multi-agente sono in rapida crescita e aiutano in molte aree come la trasformazione digitale, l'automazione, i sistemi conversazionali, la ricerca sul Web, la robotica, la produzione, la salute, la farmaceutica, le banche, la catena di approvvigionamento, la guida autonoma, la pubblicità, i giochi, solo per citarne alcuni. L'intelligenza artificiale guida un'industria multimiliardaria. Questo corso insegnerà le basi dell'IA e fornirà agli studenti una comprensione pratica del campo. Gli argomenti includono i concetti fondamentali dell'intelligenza artificiale: agenti intelligenti, sistemi multi-agente, ricerca intelligente, logica di primo ordine e superiore, rappresentazione della conoscenza, ragionamento, percezione, apprendimento, semantica (PNL, immagine, oggetto...), pianificazione, processo decisionale, recitazione, reattivo, deliberativo, razionale, adattivo, comunicazione e interazione. Il corso enfatizza gli approcci con rilevanza pratica e discute una serie di recenti applicazioni popolari dell'IA. Verranno brevemente trattati i principali strumenti open source e linguaggi di programmazione per l'intelligenza artificiale (inclusi Low code e No code). Gli studenti realizzeranno anche un progetto di gruppo per risolvere un problema della vita reale utilizzando l'intelligenza artificiale.

    (4 unità) Prerequisito: Consenso del corpo docente del dipartimento

  • In questo corso esamineremo tecniche, principi e modelli su come progettare sistemi software flessibili, scalabili, testabili e resilienti utilizzando microservizi. Studieremo come possiamo suddividere le applicazioni di grandi dimensioni in microservizi più piccoli che sono più facili da costruire e altri vantaggi rispetto alle applicazioni aziendali monolitiche. Un'architettura di microservizi distribuiti offre anche molte sfide. Studieremo queste sfide e come affrontarle. Gli argomenti di questo corso sono gli stili architettonici, le tecniche e i modelli di integrazione, la progettazione basata sul dominio, l'architettura basata su eventi e la programmazione reattiva. (Crediti 4). (Nessun prerequisito)

  • In onore dei 50 anni di istruzione MIU, il Dipartimento di Informatica è lieto di avviare la nostra nuova serie di conferenze tecniche ComPro del Giubileo d'oro.

    Sono disponibili colloqui qui.

Opzioni di studio

Ci sono 3 opzioni di studio per studenti internazionali.
Ciascuno fornisce un Master in Informatica.
Tutti hanno date di ingresso di febbraio, maggio, agosto o novembre.

ProgrammiMesi di studio nel campusPratica a pagamentoFormazione a distanza (DE) durante il praticantato
CPT8-9Fino a 2 anni CPT4 Corsi DE
OPT8-9Fino a 11.5 mesi CPT + 3 anni OPT (facoltativo)4 Corsi DE
Tempo pieno in Campus12-133 anni OPT opzioneNA

“La prima volta che ho sentito parlare del programma MSCS, ne dubitavo. Non potevo credere che esistesse qualcosa di simile. Ma un giorno, un mio amico si è unito al programma. Fu allora che ho confermato che era reale. Quindi ho ripreso il mio processo di candidatura. Bene! È vero, sono qui, ho completato il programma e sono così felice. "

Sei pronto per iniziare una nuova carriera?

Nuovo Tour di reclutamento nell'Africa occidentale e settentrionale dal 7 al 22 dicembre

> Scopri i dettagli e prenota il tuo biglietto gratuito

(I biglietti sono ora disponibili per tutti e 5 gli eventi)

TEMPI DI ATTESA DEL COLLOQUIO DELL'AMBASCIATA DEGLI STATI UNITI E TEMPI DI ELABORAZIONE DELLA DOMANDA MSCS

Abbiamo scoperto che molti paesi hanno date di intervista molto ritardate. Perfavore guarda Tempi di attesa per l'appuntamento per il visto (state.gov) per scoprire quanto tempo occorre per ottenere una data per il colloquio nel tuo paese/città.

Se il tempo di attesa per il colloquio è superiore a 2 mesi, ti invitiamo a fare domanda e completare la tua domanda immediatamente, anche se hai intenzione di fare domanda per un ingresso futuro. In questo modo puoi completare il processo di candidatura, ottenere il tuo I-20 e quindi ottenere una data per il colloquio. Devi avere un I-20 per ottenere la data del colloquio. Se la data è precedente a quella in cui prevedi di venire negli Stati Uniti, puoi sempre posticipare la data di arrivo una volta ottenuto il visto. Ti emetteremo solo un nuovo I-20 per la data di ingresso per la quale prevedi di venire.

Per domande relative a queste informazioni, si prega di contattare il nostro ufficio ammissioni all'indirizzo ammissionidirector@miu.edu.

Fatti queste 5 domande:

  1. Hai una laurea in un campo tecnico? Si o no?

  2. Hai avuto buoni voti alla tua laurea? Si o no?

  3. Hai almeno 12 mesi di esperienza lavorativa retribuita a tempo pieno come sviluppatore di software dopo la laurea? Si o no?

  4. Attualmente lavori come sviluppatore di software? Si o no?

  5. Sei disponibile a venire negli Stati Uniti per le lezioni (questo programma non è disponibile online)? Si o no?

Se hai risposto "sì" a tutte le domande precedenti, potresti candidarti (Anche se questo non garantisce che sarai accettato.)