That's me! Spyros A. Hadjichristodoulou
Stony Brook University
Computer Science Department
Applied Logic Lab
Who am I?
What have I done? TA info

My name is Spyros Hadjichristodoulou, and I'm currently living in Long Island (NY) with my fiancee, Katerina. I am a Ph.D. candidate at Stony Brook University, in the Department of Computer Science.  

I spent one fascinating year (May 2010 - May 2011) working in the Probabilistic Tabled Logic Programming group, under professor C.R. Ramakrishnan. My work there involved research in probabilistic negation semantics for general logic programs. Since June 2011, I decided to turn my research into a more "languages" direction, and I'm currently working with professor David Warren in the general area of Logic Programming. In particular, we are looking into ways of making Prolog easier to use by both the first learner and the more experienced user by the means of IDEs, a type system for "correctness reassurance", and using XSB-Prolog as a static analysis tool for large codebases.

I graduated from the National Technical University of Athens, School of Electrical and Computer Engineering with a Bs. on Computer Science (tracks : Software, Hardware, Networks and Mathematics). My diploma thesis was supervised by one of the people I respect most, professor Nikos Papaspyrou, and was titled "Incremental Lexing and Parsing" (you can find a copy in Greek here).

I have been a lab assistant at the programming labs of 1st and 2nd semester in the NTUA for 4 years. While in Stony Brook, I've been a TA for CSE 150 (Honors in Computer Science), CSE 307 (Principles of Programming Languages) and CSE 548 (Analysis of Algorithms).

During my undergrad studies, I've taken many courses in Programming Languages, Compilers and Theory. In one of these courses, I was introduced by another professor I mostly respect, professor Kostis Sagonas, to the magic of Prolog. I didn't realise the greatness of this language (btw I consider myself as a novice Prolog programmer) until I had CSE 505 - Computing with Logic in Stony Brook, by professor David S. Warren. Anyway, I try to write most of my code in OCamlHaskell or Python, since I am a big believer in small and compact code. However, noone can underestimate the power of C, especially when efficiency is key in a project, and that's why my work involves lots of C code, which I think is responsible for many small instanity crises I have been experiencing. My OO skills are a bit rusty, but I can wrap my hands around some C++ code without much trouble.

During my career as a graduate student, I've taken CSE 548 - Analysis of Algorithms, CSE 540 - Theory of Computation, CSE 506 - Operating Systems, CSE 526 - Principles of Programming Languages, CSE 541 - Logic in Computer Science, CSE 614 - Advanced Programming Languages, CSE 505 - Computing with Logic, CSE 504 - Compiler Design.

You can find a complete resume here. Don't hesitate to contact me for any further information!
Document made with Nvu