Hello, and welcome to my page!
I am currently working as a Research Assistant in Computational Biology within the Artificial Intelligence Group of the Computer Laboratory, where I am working on developing machine learning algorithms on complex networks, and their applications to bioinformatics.
I hold a BA degree in Computer Science from the University of Cambridge, having completed the Computer Science Tripos in 2015.
Veličković, P., Wang, D., Day, B., Spiga, F. and Liò, P. (2016) Multilayer neural networks with intra-layer specialisation and inter-layer feedback. To appear in the ARM Research Summit 2016.
Veličković, P., Ivašković, A., Lau, S. and Stanojević, M. (2016) Viral: Real-world competing process simulations on multiplex networks. The 1st Belgrade Bioinformatics Conference (BelBi 2016).
Veličković, P. and Liò, P. (2016) muxstep: an open-source C++ multiplex HMM library for making inferences on multiple data types. Bioinformatics, doi:10.1093/bioinformatics/btw196
Veličković, P. and Liò, P. (2015) Molecular multiplex network inference using Gaussian mixture hidden Markov models. Journal of Complex Networks, doi:10.1093/comnet/cnv029
Viral: Java-based client-server application that facilitates real-life simulations of epidemics (and other spreading processes) in modern society, using a multilayer network back-end. One of the seven finalist projects at Hack Cambridge.
muxstep: an open-sourced generalised C++ library implementation of the Multiplex (GM)HMM model proposed in previous research, designed to be immediately useful out-of-the-box as well as easily extendable for specific user needs.
How to make a (GameBoy) emulator?. Cambridge Coding Summer School, 13 July 2016. Computer Laboratory, University of Cambridge
Deep reinforcement learning: DQN and extensions. NVIDIA Deep Learning Day, 30 June 2016. New Museums Site, University of Cambridge
Competitive programming. Computational Biology Group Meeting, 5 May 2016. Computer Laboratory, University of Cambridge
Viral: Realne simulacije konkurentnih procesa nad multipleks mrežama (with Andrej Ivašković). Bioinformatics Seminar, 6 April 2016. Faculty of Mathematics, University of Belgrade
Multiplex network inference (using hidden Markov models). Computational Biology Group Meeting, 11 February 2016. Computer Laboratory, University of Cambridge
Thus far, I have held a single formal lecture to undergraduate students. I enjoy lecturing, and would definitely be interested in further opportunities within this scope.
I currently supervise, or have supervised, the following courses:
- Advanced Algorithms
- Artificial Intelligence II
- Compiler Construction
- Computation Theory
- Concepts in Programming Languages
- Security I
As a product of preparing these supervisions, I have also created a set of example sheets. I'll leave them here, so that they can be found more easily.
- Advanced Algorithms - k-best 0-1 Knapsack Problem
- Compiler Construction - Example Sheet 1
- Compiler Construction - Example Sheet 2
- Compiler Construction - Example Sheet 3
- Compiler Construction - Example Sheet 3++
- Compiler Construction (+ Databases) - Example Sheet 4
- Compiler Construction (+ Databases) - Example Sheet 5
- Security I - Example Sheet 1
- Security I - Example Sheet 2
I have attained substantial work experience spanning a wide variety of Computer Science fields, through three summer internships during my undergraduate degree:
- 2013: I have interned as a software engineer at Microsoft Development Center Serbia, where I was part of a four-man team in charge of creating a prototype for a brand new stress testing tool; it was my job to handle the entire implementation and present the results achieved to the test leads in the US; the project was extremely successful.
- 2014: I have worked on the Altera-sponsored summer placement at the Computer Laboratory's Computer Architecture Group, under the supervision of Prof Simon Moore. I have worked in parallel on developing debugging and tracing utilities as part of the ongoing CHERI research project, as well as developing potential future teaching resources. The projects have been successfully executed.
- 2015: I have worked as a software developer intern at Jane Street. This allowed me to experience first-hand one of the major real-world uses of functional programming, and particularly how it's used for efficient quantitative trading. I have worked directly on trading-specific critical systems, as well as on infrastructure and standard library development (contributing directly to Jane Street's Core standard library), primarily in OCaml. My work was highly commended.
Along with Andrej Ivašković and Miloš Stanojević, in 2015 I have kickstarted the mgcsweek seminar at the High School of Mathematics in Belgrade. This seminar aims to give insights into a variety of Computer Science topics, to ~20 of the most gifted high school students, for a week during each school year. Through this seminar I was given the excellent opportunity to give lectures on several topics in Computer Science I find particularly interesting:
- Bioinformatics algorithms: analysis of DNA sequences
- How to make a (GameBoy) emulator?
- Computer security: authentication protocols and passwords
- Great software disasters
- Linear programming and the Simplex algorithm
- IQ sampling and FM demodulation using MATLAB
- Markov chains, PageRank and clustering
- Multiplex network inference
- AlphaGo: superhuman artificial intelligence in exponentially growing spaces
- Data compression on DNA molecules
- Anatomy of an electronic trading system
Thus far the seminar has been very successful and has expanded far beyond our original conceptions, with the potential of spreading across the specialised high schools in Serbia. It was covered by the national television (RTS) twice: (mgcsweek1), (mgcsweek2)
I used to be an extremely avid competitive programmer (and still compete on Codeforces occasionally). Achievements I'm happy about on that front include:
- Bronze medal at the ACM-ICPC Northwestern Europe Regional Contest 2014 in Linköping, Sweden;
- Four-time finalist at the Bubble Cup contest, organised by Microsoft Development Center Serbia (in 2012, 2013, 2014 and 2016);
- Ranked 311st at the Facebook Hacker Cup 2016 Round 2 (sufficient to win a Facebook t-shirt);
- Ranked 2nd overall at Codeforces Round #169 (Div. 2);
- Third prize at the Serbian Olympiad in Informatics in 2012.
I'm currently far more active as a problem setter than solver, though; since 2014 I'm a member of the Serbian Committee for Competitions in Informatics, which is responsible for organising contests on all levels from regional all the way to the Serbian Olympiad in Informatics, determining Serbia's team for the International Olympiad in Informatics.
Aside from this, I also enjoy hackathons. I've attended six of them so far, with Hack Cambridge 2016 being the most successful one by far (having made it into the top seven projects, as well as spearheading the project that ended up becoming Viral).
Artificial Intelligence Group
University of Cambridge
15 JJ Thomson Avenue
Cambridge CB3 0FD
Phone: +44 (0)1223 763544
Email: petar [dot] velickovic [at] cl [dot] cam [dot] ac [dot] uk