Grad school

From dankwiki
Jump to: navigation, search
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 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

...to be determined...

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.