Pesho Ivanov


About me

I am a PhD student in Software Reliability Lab since May 2017.

I am interested in combinatorial algorithms, data structures, genetics, evolution, bioinformatics. I am working towards precise and reliable algorithmic methodologies in biology. We should eventually be able to reprogram a living cell the way we do with computers.

Religion: open source, open science.


  • Sofia University (1 year, 2008) – Computer Science, moved after 1 year
  • Moscow State University (Specialist program: 4 years, 2009–2013) – Applied Mathematics and Informatics, Computer Vision
  • Shumen University (graduated with BSc and MSc, 2014–2017) – Computer Science, thesis: Framework for Genomic Reconstruction Algorithms
  • (private evening school) Yandex School in Data Mining (2 years, 2011–2013), Moscow – Bioinformatics
  • Attended numerous school in Informatics, Physics, Computer vision


  • Four 1st places on Bulgarian national competitions in informatics (2006–2008)
  • National (Bulgarian) Laureate in Informatics (2008)
  • 11th place on TopCoder High School Finals (2008)


  • Google (1.5 years, 2014–2015) – programmer


  • Mentored high school students during Summer and Winter schools in Bulgaria, Russia and Portugal (2008-2016)
  • Assistant for an algorithmic (Sofia University, 2009) and a bioinformatics (Coursera, 2013) course
  • Full-time informatics competiton trainer (1 year) leading a group with 24 students
  • Author and jury of informatics competitions for high school students (2008–2014)


  • Martin Vechev's group (1 year, 2016): Genome assemblers, Single-cell Transcriptomics, T-cell receptor reconstruction
  • Pavel Pevzner's group (2 months, 2013): Single-cell genome assembling algorithms
  • Konstantin Severinov's group (9 months, 2012): Math modeling for microbiology
  • Martin Vechev's group (2 months, 2012): Probabilistic verification for ecology
  • Google Summer of Code (3 months, 2011): Computational geometry algorithms (CGAL)
  • Industrial: glass cutting (3 months, 2007): Genetic algorithms for cutting optimization