Victory's Portfolio

Career Objective

The field that I want to work on is Quantum Computing. My goal is to build a universal quantum processor.

qchackers: Hacking Quantum Computers

Description: qchackers is a long term project Quantum Computing project founded by me and Brendon Geils. It consists of students from all around the country from Carnegie Mellon to Cornell University. qchackers was started in September 2017 to help us learn everything we could about quantum computation. We talk about future experiments, quantum algorithms, and quantum software. This group consists mostly of undergrads; people who don't specilize in the field. We participate in a lot of different projects that are related to quantum computers. Most of our projects are software related because hardware is expensive.

Role: Project lead

Skills and knowledge gained

  • Simulating physics experiments using HFSS
  • Writing Quantum Virtual machines
  • Quantum Algorithms
  • Physical Implementation of Ion trap, Optical, and Superconducting Quantum Computers
  • Quantum Error Correction Methods

Resources used

  • Slack
  • HFSS
  • Github
  • Academic journals

qchackers subprojects

  • qc-hack-harvard: Visualizing quantum algorithms on the web browser
  • -This qchackers project was built at Hack Harvard. Most newbie quantum computing engineers have problems visualizing how quantum algorithms work with respect to the bloch sphere. This project solves that problem by helping engineers visualize how a state vector looks like when a quantum gate is applied to a qubit. The front end is implemented in Meteorjs and the quantum virtual machine is implemented in Python
  • qc-hack-princeton: A Khan Academy for Quantum Computing
  • -This is a project that qchackers built in the Fall 2017 Hack Princeton. We built it because a majority of the new members were not familiar with quantum computing. We decided to solve this problem for us and potentially for anyone else who runs into the same problem by making a website that people who are new to quantum computing can use as an introduction to the field. The frontend is built using Vuejs and the backend quantum virtual machine is built using Python.
  • Aubree: A Quantum entanglement emulator
  • -This program was created to make it easier for people who are learning quantum mechanics for the first time to get familiar with quantum entanglement. It simulates how two qubits could be entangled and how the result of one qubit automatically let's the measurerer know the state of the entangled qubit. This program is implemented in Common Lisp.

SnapBin: A Snapchat clone that sends folders

Description: This was a project that I was part of in COMS 309. We developed the frontend in Android and the backend in PHP. The project was off to a rocky start at the beginning of the semester, but once all the group members got used to working with each other, we were able to work together to get the project done before the end of the semester. This project applies all of the important software development practices that we learned in COMS 309. We used Scrum, so that we can be as efficient as possible. We also learned about feature creep and techical debt; which were important concepts to learn for a COMS 309 project, and other future projects that I will be part of in the future.

Role: UI developer

Skills and knowledge gained

  • Android development
  • PHP
  • SQL

Resources used

  • Android Studio
  • Gitlab
  • Iowa State servers

VictorysAIPlayground: Learning about Machine Learning

Description: This is the project I spent the summer of 2016 on. Even though I had already been programming for 2 years, I was not familiar with web development. This project was inspired by me reading Peter Norvig's: Paradigms of AI Programming: Case Studies in Common Lisp. This was around the same time that a computer defeated the world's best Go player. I found out that most of the methods in that book were outdated; and that the state of the art in artificial intelligence was machine learning. This motivated me to spend the whole summer learning about machine learning. It is the reason I made the blog; to document what I was learning. I also learned web development. VictorysAIPlayground allows users to create accounts, login, logout, and comment on my posts. It was the most complex software project that I had participated in up to that point.

Link to VictorysAIPlayground

Role: Web and Machine learning developer

Skills and knowledge gained

  • GPU CUDA programming
  • Tensorflow
  • Torch
  • Caffe
  • Django

Resources used

  • Nvidia GTX 970
  • Github
  • Tensorflow
  • Stanford's CS231n course
  • Cloud9 IDE

Senior Design Project

C48: A compiler that students can use to learn about compilers

Description: This is a project that I proposed for senior design. Once I got 4 students on board with the project, we got started implementing it right away. The project is currently incomplete; although we are planning on having a decent programming language by May of next year. The programming language that we are designing is supposed to be like a Statically Typed Python with a C-like syntax. It is meant for people who don't know about programming to learn about how programming languages and compilers work.

Role: Project Lead

Skills and knowledge gained

  • Implementing Lexers, Parsers, and Evaluators in the C programming language

Link to C48

Big picture contribution

  • Lead a team that was not experienced in implementing programming languages

Technical work experience

Duties

  • Project management
  • Lead Developer
  • Testing Engineer

Hard technical skills learned

  • Hardware design and implementation
  • Physics
  • Programming

Soft skills learned: Time management and conflict resolution

Writing

Architecture for a microwave quantum computer

Presentations

C48: My team presented our project to the Senior Design class.

C48: We also presented our project to a panel.

Hackathons: I presented my projects to judges

General Education Reflection

The general education classes I liked the most were Psych 101 and Anthropology 201. I loved my general education classes because they served as a reminder that college is not just for job training. It is supposed to be a place where you can get different perspectives on different fields.

There is one thing I did not like about my general education classes; they took some time away from me learning about stuff I really cared about; Engineering. In hindsight, I would say that it was a good tradeoff because the engineering classes did not teach me about ethics the way my general education classes did.

Overall, I am grateful that I took these general education classes. They helped me think about current problems facing society. Anthropology 201 made me learn about how humans influence the environment for better or for worse. I also learned about the social problems that our society is facing today; problems like drug abuse that I learned in Pychcology 310. That class made me more concious about the opiate, crack and heroin crises that our nation is facing. The psychology classes that I took made me know that I and everyone else holds unconsious biases that are hard or impossible to get rid of. These classes made it easier for me to put myself in other people's shoes.

Cumulative Reflection

The most important lesson that Iowa State has taught me is how to be a lifelong learner. I've been taught how to use modern engineering tools like the Java Programming language to solve complex software engineering problems.

I have also learned how to be a proactive learner; too apply my skills outside the classroom and to improve my knowledge. I taught myself web development and quantum computing outside of class. I would not have been able to teach myself these skills if the classes that I took at Iowa State did not give me the prerequisite knowledge that was required to learn these subjects. I am thankful that Iowa State has prepared me to learn outside the classroom.

The lower level classes were less interesting than the upper level ones. It was because I was spending most of that time only learning the basics. I enjoyed taking my upper classes courses; like senior design, computer architecture, and Advanced C programming concepts. I also got the opportunity to participate in independant study so that I could study quantum computing. I am thankful that Iowa State has given me the opportunity to try out a lot of different things in my quest to find out what I want to spend the rest of my career doing.

Ethics paper