Check out my first novel, midnight's simulacra!

Grad school: Difference between revisions

From dankwiki
(16 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[File:Obnoxiousness.png|right|I should have been accomplishing something more useful than learning <tt>ImageMagick</tt>...]]
[[File:Obnoxiousness.png|right|I should have been accomplishing something more useful than learning <tt>ImageMagick</tt>...]]
==PhD at the Georgia Institute of Technology==
I first stepped upon Georgia Tech in Fall 1998 (quarters!), a dewy-eyed undergraduate triple-majoring in Computer Science, Applied Mathematics and Physics.
I will start a PhD in [http://en.wikipedia.org/wiki/Computer_architecture computer architecture] under [http://www.conte.us/ Professor Tom Conte] in Fall 2010, working with the [
 
http://tinker.cc.gatech.edu/ TINKER] research group.
What a long, strange trip it's been.
==PhD-CS at the Georgia Institute of Technology==
I will be a PhD student in [http://comparch.gatech.edu/ computer architecture] under [http://www.conte.us/ Professor Tom Conte] as of Fall 2010, working with the [http://tinker.cc.gatech.edu/ TINKER] research group and following the [http://www.cc.gatech.edu/future/doctoral/phdcs PhD-CS] track.
* You might ask: "What on earth is [http://en.wikipedia.org/wiki/Computer_architecture computer architecture]?"
===Fall 2010===
This actually didn't end up going anywhere! Woo-hah.


==MSCS at the Georgia Institute of Technology==
==MSCS at the Georgia Institute of Technology==
I am currently a Masters student at [http://www.cc.gatech.edu/education/grad/mscs Georgia Tech's College of Computing], following the [http://www.cc.gatech.edu/education/grad/mscs/program MSCS] track. I specialize in:
I was a Master's student from 2008 to 2010 in [http://www.cc.gatech.edu/education/grad/mscs Georgia Tech's College of Computing], following the [http://www.cc.gatech.edu/education/grad/mscs/program MSCS] track. I specialized in:
* high-performance computing / supercomputing
* high-performance computing / supercomputing
** algorithms, programming methodologies, languages and compilers for multicore/manycore
** algorithms, programming methodologies, languages and [[Compiler Design|compilers]] for multicore/manycore
** cache-, cpu-, and topology-adaptive programming methodologies, compilers and libraries
** cache-, cpu-, and topology-adaptive programming methodologies, compilers and libraries
* ...and thus, perhaps, computational solutions to Big Problems. Cancer sucks. [[Nuclear weapons|Fusion's]] hard.
* ...and thus, perhaps, computational solutions to Big Problems. Cancer sucks. [[Nuclear weapons|Fusion's]] hard.
Line 21: Line 26:


===Spring 2010===
===Spring 2010===
* '''CSE8903 - Special Problem: "UNIX I/O in a Multicore, Heterogenous, NUMA World"''' with Professor  [http://vuduc.org/ Rich Vuduc] (3 hours) ''(CSE Research)''
* '''CSE8903 - Research Project: "[[libtorque|UNIX I/O in a Multicore, Heterogenous, NUMA World]]"''' with Professor  [http://vuduc.org/ Rich Vuduc] (3 hours) ''(CSE Research)''
* '''CS4803DGC - Design of Game Consoles and GPUs''' with Professor [http://www.cc.gatech.edu/~hyesoon/ Hyesoon Kim] (3 hours) ''(Systems)''
* '''CS4803DGC - [[CUDA|Design of Game Consoles and GPUs]]''' with Professor [http://www.cc.gatech.edu/~hyesoon/ Hyesoon Kim] (3 hours) ''(Systems)''
* '''CS8803SS - Software Security''' with Professor [http://www.cc.gatech.edu/~giffin/index.shtml Jonathon Giffin] (3 hours) ''(Information Security)''
* '''CS8803SS - [[CUBAR|Software Security]]''' with Professor [http://www.cc.gatech.edu/~giffin/index.shtml Jonathon Giffin] (3 hours) ''(Information Security)''
* '''CS8803DC - Dynamic Compilation and Virtual Runtimes''' with Professor [http://www.cc.gatech.edu/~ntclark/ Nate Clark] (3 hours) ''(Systems)''
* '''CS8803DC - [[daytripper|Dynamic Compilation and Virtual Runtimes]]''' with Professor [http://www.cc.gatech.edu/~ntclark/ Nate Clark] (3 hours) ''(Systems)''
* '''CS7260 - Design of Fast Networking Devices''' with Professor [http://www.cc.gatech.edu/~jx/ Jim Xu] (3 hours) ''(Networking)''
* '''CS7260 - [[LRUmap|Design of Fast Networking Devices]]''' with Professor [http://www.cc.gatech.edu/~jx/ Jim Xu] (3 hours) ''(Networking)''
 
===Fall 2009===
===Fall 2009===
* '''CS6390 - [[Programming Language Theory|Theory of Programming Languages]]''' with Professor [http://www.cc.gatech.edu/~spencer/ Spencer Rugaber] (3 hours) ''(Programming Languages)''
* '''CS6390 - [[Programming Language Theory|Theory of Programming Languages]]''' with Professor [http://www.cc.gatech.edu/~spencer/ Spencer Rugaber] (3 hours) ''(Programming Languages)''
Line 33: Line 39:
* '''Teaching Assistant: CS6290 - [[Architecture|High Performance Computer Architecture]]''' for Professor [http://www.cc.gatech.edu/inside/directory/milos-prvulovic Milos Prvulovic]
* '''Teaching Assistant: CS6290 - [[Architecture|High Performance Computer Architecture]]''' for Professor [http://www.cc.gatech.edu/inside/directory/milos-prvulovic Milos Prvulovic]
===Spring 2009===
===Spring 2009===
* '''CS8803MCA - Multicore and Manycore Architecture''' with Professor [http://www.cc.gatech.edu/directory/faculty/faculty/school-of-computer-science/directory/thomas-conte Tom Conte] (3 hours) ''(Systems)''
* '''CS8803MCA - [[Architecture|Multicore and Manycore Architecture]]''' with Professor [http://www.cc.gatech.edu/directory/faculty/faculty/school-of-computer-science/directory/thomas-conte Tom Conte] (3 hours) ''(Systems)''
* '''CS7530 - [[CS7530|Randomized Algorithms]]''' with Professor [http://www.cc.gatech.edu/directory/richard-lipton/ Richard Lipton] (3 hours) ''(Theory)''
* '''CS7530 - [[CS7530|Randomized Algorithms]]''' with Professor [http://www.cc.gatech.edu/directory/richard-lipton/ Richard Lipton] (3 hours) ''(Theory)''
* '''CS6238 - Secure Systems''' with Professor [http://www.cc.gatech.edu/~mustaq/ Mustaq Ahamed] (3 hours) ''(Information Security)''
* '''CS6238 - Secure Systems''' with Professor [http://www.cc.gatech.edu/~mustaq/ Mustaq Ahamed] (3 hours) ''(Information Security)''
* '''CS6241 - [[Compiler Design]]''' with Professor [http://www.cc.gatech.edu/~santosh/ Santosh Pande] (3 hours) ''(Systems)''
* '''CS6241 - [[Compiler Design]]''' with Professor [http://www.cc.gatech.edu/~santosh/ Santosh Pande] (3 hours) ''(Systems)''
===Fall 2008===
===Fall 2008===
* '''CS6262 - Network Security''' with Professor [http://www.cc.gatech.edu/~wenke/ Wenke Lee] (3 hours) ''(Information Security)''
* '''CS6262 - Network Security''' with Professor [http://www.cc.gatech.edu/~wenke/ Wenke Lee] (3 hours) ''(Information Security)''
Line 48: Line 55:
* I somehow missed it, but there's a nice [[:File:Grad-orientation-2008.pdf|guide to the CoC]] from 2008 Grad Orientation
* I somehow missed it, but there's a nice [[:File:Grad-orientation-2008.pdf|guide to the CoC]] from 2008 Grad Orientation
==Teaching Philosophy==
==Teaching Philosophy==
"If you ladies leave my Institute, if you survive training, you will be a weapon. You will be a minister of death praying for war. But until that day you are pukes. You are the lowest form of life on Earth. You are not even human fucking beings. You are nothing but unorganized grabastic pieces of amphibian shit. Because I am hard you will not like me. But the more you hate me the more you will learn. I am hard but I am fair, and my orders are to weed out all non-hackers who do not pack the gear to serve my beloved Science!" - Adapted from <i>[http://www.imdb.com/title/tt0093058/ Full Metal Jacket]</i>
"If you ladies leave my Institute, if you survive training, you will be a weapon. You will be a minister of solutions praying for difficult problems. But until that day you are pukes. You are the lowest form of life on Earth. You are not even human fucking beings. You are nothing but unorganized grabastic pieces of amphibian shit. Because I am hard, you will not like me, but the more you hate me the more you will learn. I am hard, but I am fair: here you are all equally worthless, and my orders are to weed out all non-hackers who do not pack the gear to serve my beloved Science!" - Adapted from <i>[http://www.imdb.com/title/tt0093058/ Full Metal Jacket]</i>
 
==General notes/advice==
==General notes/advice==
* Amin Vahdat's "[http://idleprocess.wordpress.com/2009/12/07/why-go-to-graduate-school-and-how-to-get-into-the-program-of-your-dreams/ How to Get Into the Program of Your Dreams]"
* Amin Vahdat's "[http://idleprocess.wordpress.com/2009/12/07/why-go-to-graduate-school-and-how-to-get-into-the-program-of-your-dreams/ How to Get Into the Program of Your Dreams]"
* Dianne O'Leary's "[http://www.cs.umd.edu/~oleary/gradstudy Graduate Study in the Computer and Mathematical Sciences: A Survival Manual]" is pretty outstanding (aside from the God stuff, which you can take or leave). It's full of pithy gems like this (quoted from the 2009-08-21 version):<blockquote>It is possible to spend almost all of your time in literature review and seminars. It is easy to convince yourself that by doing this you are working hard and accomplishing something. The truth of the matter is that nothing will come of it unless your are an active reader and listener and unless you assign yourself time to develop your own ideas, too. It is impossible to "finish a literature review and then start research". New literature is always appearing, and as your depth and breadth increases, you will continually see new connections and related areas that must be studied.</blockquote>and:<blockquote>If you have a full or part-time job outside the university, you may feel that you are between two worlds, without belonging to either one. Neither the university nor the workplace is well adapted to dealing with the other, and each may place demands that are incompatible with those of the other. Your biggest problems may be the double commute, scheduling difficulties, and isolation.</blockquote>I can certainly vouch for this last.
* Dianne O'Leary's "[http://www.cs.umd.edu/~oleary/gradstudy Graduate Study in the Computer and Mathematical Sciences: A Survival Manual]" is pretty outstanding (aside from the God stuff, which you can take or leave). It's full of pithy gems like this (quoted from the 2009-08-21 version):<blockquote>It is possible to spend almost all of your time in literature review and seminars. It is easy to convince yourself that by doing this you are working hard and accomplishing something. The truth of the matter is that nothing will come of it unless your are an active reader and listener and unless you assign yourself time to develop your own ideas, too. It is impossible to "finish a literature review and then start research". New literature is always appearing, and as your depth and breadth increases, you will continually see new connections and related areas that must be studied.</blockquote>and:<blockquote>If you have a full or part-time job outside the university, you may feel that you are between two worlds, without belonging to either one. Neither the university nor the workplace is well adapted to dealing with the other, and each may place demands that are incompatible with those of the other. Your biggest problems may be the double commute, scheduling difficulties, and isolation.</blockquote>I can certainly vouch for this last.

Revision as of 00:06, 12 April 2019

I should have been accomplishing something more useful than learning ImageMagick...
I should have been accomplishing something more useful than learning ImageMagick...

I first stepped upon Georgia Tech in Fall 1998 (quarters!), a dewy-eyed undergraduate triple-majoring in Computer Science, Applied Mathematics and Physics.

What a long, strange trip it's been.

PhD-CS at the Georgia Institute of Technology

I will be a PhD student in computer architecture under Professor Tom Conte as of Fall 2010, working with the TINKER research group and following the PhD-CS track.

Fall 2010

This actually didn't end up going anywhere! Woo-hah.

MSCS at the Georgia Institute of Technology

I was a Master's student from 2008 to 2010 in Georgia Tech's College of Computing, following the MSCS track. I specialized in:

  • high-performance computing / supercomputing
    • algorithms, programming methodologies, languages and compilers for multicore/manycore
    • cache-, cpu-, and topology-adaptive programming methodologies, compilers and libraries
  • ...and thus, perhaps, computational solutions to Big Problems. Cancer sucks. Fusion's hard.
    • Let's give the scientists some bigger boxing gloves.
  • algorithms for, and implementation of, high-throughput/low-latency pattern matching
    • for network security (wire-speed, low-latency, rich operators)
    • and bioinformatics (high-volume, gappy/fuzzy, multidimensional)
    • especially using architecture-aware automata theory (Memory-tuned, SIMD-based Glushkov, Thompson, XFA, etc...)
  • intrusion detection and prevention (theory and implementation)

Upon entering MSCS in Fall 2008, I'd have said intrusion detection first, programming language design second, and esoteric automata theories third. Indeed, many things do come to pass.

I've prepared some Disarmingly Forthright Advice for CSMS students at this (as of 2009) 9th-ranked graduate computer science program of ours, and also some materials for the CS Subject Exam GRE. Take these animadversions for whatever they're worth.

Spring 2010

Fall 2009

Spring 2009

Fall 2008

GT College of Computing (CoC) Notes

Teaching Philosophy

"If you ladies leave my Institute, if you survive training, you will be a weapon. You will be a minister of solutions praying for difficult problems. But until that day you are pukes. You are the lowest form of life on Earth. You are not even human fucking beings. You are nothing but unorganized grabastic pieces of amphibian shit. Because I am hard, you will not like me, but the more you hate me the more you will learn. I am hard, but I am fair: here you are all equally worthless, and my orders are to weed out all non-hackers who do not pack the gear to serve my beloved Science!" - Adapted from Full Metal Jacket

General notes/advice

  • Amin Vahdat's "How to Get Into the Program of Your Dreams"
  • Dianne O'Leary's "Graduate Study in the Computer and Mathematical Sciences: A Survival Manual" is pretty outstanding (aside from the God stuff, which you can take or leave). It's full of pithy gems like this (quoted from the 2009-08-21 version):

    It is possible to spend almost all of your time in literature review and seminars. It is easy to convince yourself that by doing this you are working hard and accomplishing something. The truth of the matter is that nothing will come of it unless your are an active reader and listener and unless you assign yourself time to develop your own ideas, too. It is impossible to "finish a literature review and then start research". New literature is always appearing, and as your depth and breadth increases, you will continually see new connections and related areas that must be studied.

    and:

    If you have a full or part-time job outside the university, you may feel that you are between two worlds, without belonging to either one. Neither the university nor the workplace is well adapted to dealing with the other, and each may place demands that are incompatible with those of the other. Your biggest problems may be the double commute, scheduling difficulties, and isolation.

    I can certainly vouch for this last.