Com’è studiare informatica alla Duke?

Come CS major alla Duke, passerai la maggior parte del tuo tempo in classe nel Levine Science Research Center (LSRC):

main-qimg-af19ccda51a0fdbf9427b45ed63b7343

E la maggior parte del tuo tempo di studio nel Link (nel seminterrato di Perkins, la biblioteca principale):

main-qimg-39797ddde21a6e74a8c9e94dd2c0c675.webp

Requisiti brevi/flessibili

I requisiti del B.S. in CS alla Duke sono:

  • Intro to CS (Python), o AP CS
  • Calc I & II
  • Algebra lineare
  • Strutture di dati e algoritmi (Java)
  • Matematica discreta per CS
  • Architettura computer (C)
  • Sistemi operativi (C, MIPS)
  • Progettazione e analisi di algoritmi
  • Un corso di statistica
  • 3 elettivi CS, escluso lo studio indipendente
  • 2 elettivi da studio indipendente, matematica, statistica o un'area correlata

Questa è una lista di requisiti relativamente breve rispetto alla maggior parte delle altre università che ho visto;ve visto, soprattutto se si sta facendo un doppio majoring in matematica o ECE. Il B.S. aveva più corsi richiesti, tra cui uno in ingegneria del software e uno in fondazioni numeriche/complessità, ma i requisiti sono stati cambiati un paio di anni fa per renderlo più flessibile. Questo rende facile per gli studenti raddoppiare la specializzazione con CS e prendere la tua scelta di elettivi CS.

Focalizzazione teorica

Il dipartimento CS è nella scuola di arti e scienze, e la scuola di ingegneria è separata. Le uniche classi richieste che hanno una quantità significativa di codifica sono Intro CS, Data Structures, e Operating Systems (e in misura minore, Architecture). Il corso di algoritmi, per esempio, non richiede alcuna programmazione, e i compiti comportano invece la scrittura dei dettagli di un algoritmo per risolvere un dato problema (in parole o pseudocodice), una prova di correttezza, e una prova di runtime.

Lo svantaggio della programmazione relativamente minima è che si potrebbe uscire dalla Duke con meno esperienza di programmazione degli studenti di università comparabili. Il lato positivo è che sembra esserci meno lavoro.

Teoria/algoritmi e AI/ML sembrano essere i punti di forza del dipartimento. Attualmente, a partire dal 2013, non ci sono molti docenti che lavorano specificamente sull'ingegneria del software, sui linguaggi di programmazione, sui compilatori o su altre aree correlate, ma il dipartimento è piccolo.

Collaborazione

Le ore di ufficio del CS si tengono nel Link, dove tutti tendono a lavorare insieme sui compiti (vedi: Melissa Dalis'risposta a Com'è essere un assistente di insegnamento alla Duke?) Il Link è un ambiente molto collaborativo. Gli studenti tendono a trovare queste ore d'ufficio molto preziose e spesso vanno a fare l'assistente tecnico in questi corsi. Le classi di CS di solito non sono valutate su una curva (a differenza della matematica), quindi c'è un incentivo a lavorare insieme (se è permesso).

Industria

Tradizionalmente, le aziende più popolari per gli studenti CS della Duke sembrano essere Microsoft e Google. Facebook ha iniziato a reclutare alla Duke nel 2012-2013, e diversi studenti hanno fatto uno stage la scorsa estate. La maggior parte degli studenti CS della Duke sembra concentrarsi sullo stage in una di queste grandi e più conosciute aziende, anche se questo sembra cambiare un po' di recente con recenti stage/assunzioni presso Dropbox, Box, Palantir, LinkedIn e Quora (anche se solo un paio in ciascuno). Alcune startup semplicemente non hanno ancora la capacità di reclutamento per venire in ogni scuola, quindi comprensibilmente sembrano essere più concentrati sul reclutamento al MIT, Stanford, Harvard, e altre scuole top.

Rispetto ad altre università simili, il programma CS della Duke sembra essere meno intensivo di codifica. Ci sono anche molti studenti che hanno una doppia specializzazione in CS ed Econ, e in generale gli studenti della Duke sono noti per essere abbastanza motivati dal punto di vista finanziario e personalizzabili. Questa combinazione porta molti studenti ad essere interessati a ruoli di Product Manager e Program Manager, piuttosto che al tradizionale ruolo di Software Engineering.

Ricerca

La ricerca è incoraggiata per i laureandi, e la maggior parte degli studenti che sono interessati a fare ricerca partecipano al CSURF (Duke Computer Science C-SURF), dove si lavora con un membro della facoltà di CS su un progetto nel corso di due semestri e un'estate pagata. CSURF e altri studenti con una ricerca significativa possono fare domanda per laurearsi con distinzione in CS scrivendo una tesi e soddisfacendo vari altri requisiti (Graduation with Distinction).

Eventi

Diversi eventi sono ospitati per gli studenti di CS durante l'anno, la maggior parte dal capitolo ACM (Duke University ACM Chapter). Questi eventi includono principalmente conferenze tecniche e, più recentemente, hackathon. Solo durante l'autunno 2013, ci sono stati 3 hackathon:

  • HackDuke, ospitato da studenti della Duke (in particolare Dennis Li), e che ha attirato più di 500 studenti provenienti per lo più dallo stato, Università del Maryland, Università della Virginia, Virginia Tech, e Georgia Tech.
  • Big Byte Challenge, ospitato da Apple e AT&T
  • Windows 8 Hackathon, ospitato da Microsoft

Dimensione

Il dipartimento di CS sta crescendo esponenzialmente, che sembra essere la tendenza recente delle università. Aneddoticamente, quando ho frequentato Data Structures nell'autunno 2010, c'erano circa 60 persone nel corso, e ora nell'autunno 2013 credo ce ne fossero circa 250. Non sono sicuro delle dimensioni esatte del dipartimento, ma non è tra i primi 5 (vedi Quick Facts About Duke).

Studiare all'estero

Un fantastico vantaggio di studiare CS alla Duke è che studiare all'estero è davvero facile. Il dipartimento di CS sembra approvare la maggior parte dei corsi di CS dalle più popolari università di studio all'estero, comprese le università del Regno Unito, Francia, Australia e molti altri paesi. Questo include corsi di base come algoritmi e sistemi operativi, così come elettivi. Il processo di approvazione è stato molto più facile rispetto ad altri dipartimenti, che per me includevano Matematica e Statistica, dove ho avuto estremamente difficoltà a far approvare qualsiasi corso. Il 43-46% degli studenti Duke studiano all'estero, di solito durante il loro semestre autunnale junior (Duke Global Education: Timing), quindi è bello che come CS major tu abbia l'opportunità di farlo.