I'm Nikita, an aspiring computer scientist with multidisciplinary interests. I'm excited to learn more about education through my courses in the UTeach program. And finally, I strive to explore my creative side through my artwork.

I go to school at the University of Texas at Austin. I'm a Computer Science major in the Turing Scholars honors program. Additionally, I am pursuing two certificates: one in digital art and media and one in teaching. I love learning new things and challenging myself to explore new fields. I'm always excited by a challenge and the opportunity to learn something new.

In my free time, I can be found riding a bike, learning some new dance choreography, or playing a game with friends and family.


[expand all]
CoronOS +
Implemented a rudimentary microkernel modeled off of seL4. Provided security guarantees through a comprehensive design of capabilities and a clean interface. Provided user-space abstractions for UNIX-like syscalls on top of capabilities. Provided endpoints for communication between servers. Provided robust testing harness and tests.
Nanos +
Contributed to the Nanos open source repository. Nanos is an open-source unikernel implementation. Specifically contributed to: the bootloader, focusing on loading in a binary to be read by the BIOS and the testing suite for mmap.
JOS in JOS +
Completed the implementation of a hypervisor that ran the JOS Operating System inside JOS. Implemented support for JOS to be running in a paravirtualized environment. Specifically worked on adding support for extended page tables and for inter-process communication.
UNIX Shell +
Implemented a UNIX shell that supported background and foreground jobs, redirected I/O, signal handling, and several other features. Worked extensively with the UNIX syscall interface - specifically those that interacted with program I/O and signals.



Thanks for visiting my site! If you saw something interesting don't be afraid to email me at nikita@cs.utexas.edu or nikitasharma@utexas.edu!
this web page supports vim-like keybindings! Try out different ones such as: j, k, gg, G, zr, zR, zc, zC, zo, etc.