Sofia Petrova

Hi! I’m in my junior year at UC Santa Cruz studying Computer Science and focusing on Game Design and Playable Media. My interests are in human - machine interactions, UX Design, game design, and digital arts media.

My goal in life is crafting complex problems into simple and clean solutions. I’m inspired by the people around me and strive to make the world a better place. 

My projects

Job Shadowing App Design

UMBRA is a job shadowing app designed with feedback from industry professionals.

Chat App Mockup

Arcana is a chatroom GUI mockup designed in Adobe Illustrator across multiple iterations.

Short Form Video Game

Fate of The Dragon Princess is a 3-level video game created in the game engine Construct 3.

Text Based Adventure Game

Liminal is a link-based text adventure game created in the game engine Twine.

RSA Encryption Library

C Library for RSA Asymmetric Encryption and Decryption with arbitrary precision integer arithmetic.

Huffman File Compression Library

C Library for file compression and decompression using modified binary stream Huffman Encoding.

My Work Experience

Open Source Embedded Debugger

Designed and programmed a full-stack serial debugger for open source projects: 3D design, MCU embedded code (C++ for Atmel), LCD screen, and serial protocol.

Python Teaching Assistant

Taught Python programming language to undergraduate students at University of California, Santa Cruz.

Camp Activity Director

Managed and monitored program activities for teens and adults at a Council Camp owned by the Boy Scouts of America.

Digital Tech Instructor

Taught skills relating to digital technology and communication within the Boy Scouts of America.

BSA Golden Gate Area Council

Founder of Troop 220 BSA Golden Gate Area Council. Under my leadership the troop numbers grew to over 70 in a year. In 2021 I became one of the first female Eagle Scouts in the nation.

UCSC Classes

The classes I've taken at UC Santa Cruz

Human Centered Design Research

Students move through a rigorous design-research process involving skills and principles in human-centered design research as well as selected formal research methods. They learn to use tools for ideation, human-centered qualitative research, domestic probes, mock-ups, and prototypes

C Programming

Focuses on C programming, command line, shell programming, editors, debuggers, source code control, and other tools. Examines basic computer systems, algorithm design, and development, data types, and program structures. Develops understanding of process model, compile-link-execute build cycle, language-machine interface, memory, and data representation.

3D Modeling

Introduces theory and techniques of 3D computer graphics. Topics include: capabilities of modern graphics hardware; 3D coordinate spaces; modeling with polygons; NURBS and subdivision surfaces; applying textures and materials; lighting; and simple effects. Students develop proficiency in 3D modeling via lectures and assignments focused on the use of a 3D modeling tool. 

Programming Abstractions: Python

Introduction to software development in Python focusing on structuring software in terms of objects endowed with primitive operations. Introduces concepts and techniques via a sequence of concrete case studies. Coursework consists of programming assignments and a final examination.

Digital Tools for Contemporary Art

Introduces the digital tools and mediums available to contemporary art practices. Tools are explored from a historical and theoretical context and from a technical perspective through hands-on tutorials. A variety of artworks that use digital mediums are also examined. Covers photo and vector editors, sound and video editing, basic 3D modeling, and images and interactions generated by code.