Harmony
The Stack Specification and Implementation project implements a thread-safe stack data structure. Multiple threads can run concurrently and push, pop, and execute other stack functions.
Five functions were required to create the overall stack data structure, Stack(l), push(s, st), pop(s), length(s), and is_palindrome(s). Planning and designing these functions involved determining how the stack should be represented, and I ultimately decided to store auxiliary variables to help determine certain properties of the stack without requiring more calculations than needed.
We developed the specification and two different implementations of the stack data structure using the Harmony programming language, which is a Python-like programming language for testing and experimenting with concurrent programs. One implementation uses binary semaphores via the Split Binary Semaphore technique, and the other uses Mesa condition variables.
Camellia Guan, Eric Li
Oct 2023 - Nov 2023
C#
Oracle SQL Developer
MySQL
The Final Year Project (FYP) Management System is an application that manages a relational database of students, professors, and final year projects for the Hong Kong University of Science and Technology.
This project was composed of three tasks. Task 1 involved designing the relational database, including creating Faculty, Student, FYP, etc. tables and relations between the tables. Task 2 involved coding these tables via MySQL and designing SQL queries for specific purposes, such as finding the FYP title and supervisor username for FYPs in the category "software technology" that have only one supervisor. Task 3 involved developing SQL statements in C# to enable users to manage FYPs through a web-based interface.
I created SQL queries, tables, and relations using Oracle SQL Developer and connected them to an interface using C#. This interface functionality allowed the SQL queries to run and for users to manage project information across different database tables via the user interface.
Camellia Guan
Jun 2023 - Aug 2023
Python
Tank Game is the very first game that I coded from scratch. By implementing a game such as this, I learned more about the process of game development and creating interfaces. I was be able to design a game, implement it, and test the game throughout my process. The game uses Turtle module to add more flexibility and simplicity to the game that the Kivy module, which I originally tried utilizing, could not provide.
I created an extensive design log in the README of this project. Planning out the game involved creating four milestones, with 10 tasks split between these milestones.
I separated the implementation into 10 different tasks, including creating the welcome interface, programming projectile movement, and adding additional features such as wind. I utilized the Turtle module in Python to create the interface.
Camellia Guan
Jul 2022 - Aug 2022
HTML
CSS
JavaScript
JQuery
PHP
SQLite
Heroku
The Playful Plants Project at Cornell University aims to educate designers, planners, and facility managers about the value plants and natural features can add to their spaces. For this project, I followed a 2-phase development pattern that included design and then implementation.
I documented a design journey to identify audience goals, wireframe website designs, and plan out a database and formulate SQL queries.
The database was created via SQLite, and the server-side content rendering was conducted via PHP. The final implementation included a Consumer page and an Administrator page. The Consumer page allows users to browse, sort, and filter plants. Administrators of Playful Plants can also access the Administrator page, allowing them to edit plant entries that can then be viewed by consumers.
Camellia Guan
Apr 2022 - May 2022
OCaml
The OCaml Piano is an open-ended, agile software development experience project created as part of CS 3110: Data Structures and Functional Programming.
The project was split into multiple files and functions, which were divided among the contributors.
The piano was built from scratch and consists of approximately 1000 lines of OCaml code, consisting of an interface, documentation, and testing.
Raymond Chiang, Camellia Guan, Sean Wang
Sep 2021 - Dec 2021
Python
SQLAlchemy
CU Course Reviews is an IOS-based application that provides easy access to course reviews and allows students to review courses. This app won best interface for Cornell University's Hack Challenge, Spring '21.
I was in charge of designing the backend, including determining the structure and relationships between the database tables. This involved identifying the entities and their attributes that needed to be stored in the database, as well as defining the relationships between these entities.
I utilized the SQLAlchemy module in Python to create tables and write queries. These queries were then linked to an interface and launched on Heroku, where classes and reviews could be added and viewed.
Heysil Baez, John Fernandez, Camellia Guan, Miranda Medina, Anthony Zheng
Apr 2021 - May 2021