CS Night - 2021

Lo Schiavo Hall and Walkway

Join the Department of Computer Science for the 20th Annual Computer Science Night 
Thursday, Dec. 9 |  5:30–8:00 p.m.

Register now

Program Schedule

5:30 pm - 7:00pm - Student project presentations 
7:00pm - 7:30pm - Awards Distribution & Address by the Department Chair
7:30pm onwards - After Party & Networking

graduate  Projects

US Covid-19 Vaccine Sentiment Tracking on Twitter
Presenters: Ariana Jorgensen, Ganesh Medidhi Venkata, Rakshith Venkatachalapathy
Sponsors: Ana Areias and Weidong Yang, Kineviz
Faculty Advisor: Prof. Olga Karpenko

This project aims to explore public sentiment & response to the Covid-19 vaccine. We passed a large dataset of Covid-19 vaccine-related Tweets through a sentiment analysis machine learning model in order to assign each Tweet a sentiment class of positive, negative, or neutral. Using the results from the model, we have created a multitude of visualizations within an interactive dashboard that we hope will engage and educate users. By investigating the rhetoric that surrounds negative sentiments, in particular, we hope to better understand vaccine-hesitant individuals and potentially facilitate public health education.

Autoprep: Simplifying Data Preparation
Presenters: Aryan Choudhary, Alexander Phan, Tuethu Tran
Sponsors: Cole Howard and Greg Benson, SnapLogic
Faculty Advisor: Prof. Olga Karpenko

SnapLogic is a data integration platform as a service (iPaas) used to transfer data between end points. SnapLogic enables quick development of sophisticated data and application pipelines using a visual drag and drop interface. We have developed a new tool to use with SnapLogic called Autoprep that automates data preparation. With Autoprep, users can have clean and prepared data through a few simple clicks. Autoprep introspects the data, creates a robust profile, and generates clean, reusable preparation code. Mundane tasks such as null value imputation, string replacement, and hierarchical data restructuring can all be handled with Autoprep.

The SnapLogic Data Mesh
Presenters: Nikhil Bhutani, Anthony Knox, Adarsh Srivastava 
Sponsors: Robin Howlett and Greg Benson, SnapLogic
Faculty Advisor: Prof. Olga Karpenko

As companies scale and their data grows, their data ecosystem can easily devolve into an unmaintainable monolithic conglomerate, where data is no longer discoverable and requires highly specialized ownership. Data Mesh is a relatively new, high-level concept that shifts the paradigm to viewing data as a product with specific domain ownership and consumer-oriented discoverability.

SnapLogic is an Infrastructure Platform as a Service that provides users ease with connecting to various data sources and developing complex data processing pipelines using their visual drag and drop interface. We have implemented various principles of Data Mesh on top of the SnapLogic platform in an attempt to provide users with the ability to encapsulate their data sources into usable, manageable, and discoverable entities called Data Assets. We provide the infrastructure necessary to capture metadata surrounding data sources to create and maintain these Data Assets. Additionally, we provide a Data Portal, where users can search for and filter from all of the Data Assets that exist within their company as well as directly use these data sources through automated pipeline creation. Our project has opened up the possibility of extending these features to include concepts such as Data Lineage, Data Profiling, and other Data Mesh concepts.

Connecting Crypto Wallet and Native dApp with Walletlink
Presenters: Jiangfeng Li, Ziyang Liu, Zhuoan Xu
Sponsor: John Huang, dYdX
Faculty Advisor: Prof. Olga Karpenko

Doing cryptocurrency transactions on trading websites is common nowadays, however, there are limited resources for doing so on mobile phones, especially on Android smartphones. Therefore, our team has developed a middleware that enables the communication between a native Android App and a crypto wallet by importing and expanding the WalletLink Open Source library. We implemented functions that allow apps to encrypt and send specified JSON-RPC payload format, extract and decrypt the payloads and allow the users to either approve or reject the payloads. Besides, we also built features to enable the users to communicate with the smart contract on the Ethereum network.

Friend Lotto
Presenters: Nuo Cheng, Shulin Li, Yiqi Wei
Sponsor: Jose Alvarado, SF Dev Shop
Faculty Advisor: Prof. Olga Karpenko

Friend Lotto is a social media mobile application designed to connect with friends, chat in a group, transfer money between friends and play fun lotto games. Current payment apps such as Venmo allow users to transfer money between people, but offer few social functions. At the same time, during the pandemic, it became more challenging than usual to stay connected with friends. Therefore, our team developed a Friend Lotto app that has the basic functionalities of Venmo, but provides more social features to strengthen our relationship with friends. Users can add friends, form groups, chat with friends, play exciting lottery games, as well as send and receive money.

Expert Finder
Presenters: Gustav Wahl, Iris Li, Yudan Su
Sponsor: Reiner Steffens, Consilient Labs
Faculty Advisor: Prof. Doug Halperin

Especially for distributed teams and in “working from home” times, the ease of identifying the right contact partner or expert for an issue is pivotal. In this project, we develop the “Expert Finder”  web application to help engineers find experts for open-source issues and provide visualizations to show the proof for the selected experts. We used Angular to implement a multi-stage process to identify and create a list of expert Candidates, on top of Consilient Lab’s existing restful APIs and database, and D3 for data visualization. Unlike classical “search” where the user has to “guess” the right “search terms”, the Expert Finder leverages  Consilient Lab’s novel Artificial Intelligence methods to free the user from the guesswork and in a context-adaptive and context-sensitive fashion “finds” the experts. Moreover, the “Expert Finder” explains WHY someone is an “expert” -- it can reason with the results it found. The novel Artificial Intelligence methods also do not require any model building or training. Instead, we create a real-time computation for customers’ requests and show proof for our computation results.

Highly Performant Blogging Platform with a Cryptocurrency Data Feed
Presenters: Hugo Laboisse, Patrick Porter, Zhenzhen Wang
Sponsor: Dustin Lyons, Zeroed Labs
Faculty Advisor: Prof. Doug Halperin

Bitcoin Noobs is a web application for finding the latest crypto currency prices and educational articles consisting of reviews, guides, news, and comparisons about the crypto currency world. It was originally built on WordPress in 2017 and over time the site has built up interest from Google searches for certain keywords. This year our sponsor purchased the site and we’ve ported it to a Jamstack architecture, migrated the content and images, incorporated a headless Content Management System (CMS) to support submission of content by new creators, and built a crypto currency data pipeline to provide a price feed of the top 100 crypto currencies. Users can browse articles and potentially click affiliate links which will yield a percentage of revenue to the website owner. Content is pre-rendered and the statically generated assets are pushed to a Content Delivery Network (CDN) which allows for blazing fast load times for users. Dynamic content is added by client-side JavaScript, APIs, and serverless functions. The Jamstack architecture provides higher performance and greater user experience than the legacy site, it will see more traffic because of better SEO optimization thanks to static generation, and it will have better Google PageSpeed results because of the use of CDNs. Additionally, static generation improves compatibility with social media integration and hosting the website on CDNs provides inherent security to the website since it is not provided by a single server.

Open Source Project Evaluator
Presenters: Milton Carreno, Yuan Qian, Giulio Cappellani, Olga Kondratenko
Sponsor: Malini Bhandaru, Intel; Anna Jung,  VMware
Faculty Advisor: Prof. Doug Halperin

Whether we know it or not, Open Source software is an integral part of today’s technological development and is regularly used in a myriad of projects across the globe. In an effort to contribute to the Open-Source community, we have set out to address an unresolved issue: how to properly assess Open Source projects. We believe that to assess a project reasonably and practically, one must evaluate its constructiveness and inclusiveness. The Constructiveness & Inclusiveness Evaluator (CIE) analyzes and scores a given project’s pull requests, according to its constructiveness and inclusiveness criteria. These scores are aggregated, and the project is assigned an overall score. It is our hope that newcomers and experts, startups and corporations, small and large projects, use this tool to better navigate and inform their decision-making process.

Presenters: Chou Sung Wang, Kate Luo, Rachel Chen
Sponsor: Greg Benson, SnapLogic
Faculty Advisor: Prof. Doug Halperin

SnapLogic is an Integration Platform as a Service (iPaaS) that enables the rapid development of sophisticated data and application pipelines using a visual drag and drop interface. The new SnapLogic Flows application allows users to create simple pipelines via a guided interface. In our project, called FlowTalk, we explore adding a conversational user interface (CUI) to the main Flows web interface. By utilizing the latest research and state-of-the-art Natural Language Processing (NLP) models, FlowTalk enables users to create Flows in a step-by-step manner all at their fingertips without touching the mouse. Our system interprets natural language, configures endpoints, and creates pipelines, reflecting the changes dynamically as the conversation progresses. FlowTalk also allows users with constrained screen sizes (such as on mobile devices) to create a pipeline like texting a virtual agent without using a computer.

TV/Movie Recommendation App
Presenters: Berk Burak Tasdemir, Keita Nonaka, Maxwell Bruckhaus
Sponsor: Jose Alvarado, SF Dev Shop
Faculty Advisor: Prof. Doug Halperin

With a plethora of streaming services offering a wide variety of content it can be difficult to find something to watch and keep track of what you are interested in. Our TV/Movie Recommendations application is an exciting and simple way to find something you will enjoy, manage your interests, and share what you are watching with your friends and family. We used SwiftUI to create an iOS application complete with user authentication via AWS Amplify while movie and show details are fetched via the TMDB API. This application consists of multiple features including adding friends, managing your watchlist/favorites, rating and leaving reviews, and forming groups to share recommendations. Overall, this is a crucial tool for those who wish to maximize their enjoyment from entertainment.

Distributed Scheduling Service
Presenters: Seyedeh Arghavan Abbasi, Jake Zhong, Nikhil Matta, Rajeshwari Variar
Sponsor: Mario Lim, Openprise
Faculty Advisor: Prof. Doug Halperin

People may find it overwhelming when they are expected to complete a large number of jobs in a short time. It’s also a waste of time to complete repetitive jobs that can be easily done by automation. To solve these problems, we worked with our sponsor to create a Distributed Scheduling Service, a highly reliable and available web platform, that helps users schedule their jobs ahead of time and fire them repeatedly as needed. Our scheduler allows people to manage and run all their automated tasks in one place with status monitoring and error handling mechanisms such as automatic retries in case of failure to reduce manual intervention. With our user-friendly interface, even users with non-technical backgrounds can use it easily without having to learn the intricacies of cron to manage scripts.

Presenters: Resika Selvamani Balasundaram, Parisa Hemmati
Sponsor: Julian de Nijs, InstaServe
Faculty Advisor: Prof. Olga Karpenko

InstaServe is an in-store online ordering solution that provides a seamless experience for both customers and restaurants. By using InstaServe software suite, customers can order food and drinks directly through the app instead of relying exclusively on servers and bartenders. This will reduce wait times, increase revenue and improve the diners' experience. InstaServe is a two-sided platform that consists of a customer online ordering system and a restaurant order management system. For the Masters project, our team developed the restaurant app that allows the restaurant staff to create and edit the menu, process orders, modify items in the orders, and manage employee accounts.

USF Adventure
Presenters: Utku Can Kutkut, He Wei, Dan Zhong
Sponsor: Jon Rahoi
Faculty Advisor: Prof. Olga Karpenko

USF Adventure is a real-time multiplayer 2D browser game that allows people to enjoy themselves in a USF campus like playground. Characters representing students from different majors will chase and tag each other in this playground, earning points to win the game. Each character has different abilities that allow the character to perform different actions during the game.

Undergraduate  Projects

List of Lists
Presenters: Cara Ingram, Gurjot Kaur, Jenna Radwan, Saige Madden, Yordanos Solomon
Sponsor: Jose Alvarado, SF Dev Shop
Faculty Advisors: Prof. Doug Halperin & Prof. Luigi Lucaccini, CS490
Teaching Assistant: Kate Luo

List of Lists is the place for browsing, creating, and organizing lists for anything under the sun. People create and use lists, either online or on paper, every single day. The List of Lists application gives users a platform to organize their lives and share a variety of information with others in the form of lists, all in one place. Using List of Lists users can create public and private lists to share with others or keep for themselves. They can browse all of the public lists on the platform and can follow individual lists or all of the public lists of given users. Users are also able to upvote lists and see the most popular ones. User analytics keep track of how many times a user’s profile or list is viewed. The frontend is built using the React and Next frameworks, and the backend is implemented with the Node and Express frameworks supported by a PostgreSQL database.

File Explorer Web App
Presenters: Georgina Cruz, Patrick Madden, Riley Thompson, Rhea Arora
Sponsor: Pedram Namiranian
Faculty Advisors: Prof. Doug Halperin & Prof. Luigi Lucaccini, CS490
Teaching Assistant: Kate Luo

The File Explorer Web App is a downloadable web application that lets a user view the local files on their computer through a browser regardless of operating system. It is intended for end users who want to privately access their local files, in the comfort of their web browser, without using any cloud storage mechanism. Our work consisted of adding functionality to the work of last year’s senior team, including the ability to upload and download files through our web application. Users may also conduct searches based on file tags or open a file from a list of suggested files presented to them.  With a Java and PostgreSQL backend and React JavaScript frontend, this application provides a responsive, intuitive, and consistent file exploring experience.

CI/CD Pipeline
Presenters: Cangqing Wang, Eric Zakharian, Shayan Vahabi, Xizhe Sun
Sponsor: Chris Smith
Faculty Advisors: Prof. Doug Halperin & Prof. Luigi Lucaccini, CS490
Teaching Assistant: Kate Luo

The CI/CD Pipeline project aims to introduce the team to software monitoring and automation techniques that improve the process of application development. CI/CD allows for seamless integration and deployment of software to both local environments and on the cloud. For this project, the team developed a full-stack web application using Spring Boot in Java, along with Thymeleaf as the front-end framework in order to test and demonstrate a pipeline’s functionality and ease of use. The application uses a MongoDB NoSQL database for session handling. The pipeline itself uses the Travis CI build tool and Docker for containerization. The application is then deployed onto the cloud using Heroku’s cloud deployment system.

USF Innovation Hive App
Presenters: Michael Miranda, Ritesh Pakala, Jeremy Benitez, Aneil Johal, Sarah Halversen
Sponsor: Sean Olson
Faculty Advisors: Prof. Doug Halperin & Prof. Luigi Lucaccini, CS490
Teaching Assistant: Kate Luo

USF’s new Innovation Hive provides access to a workshop with rapid prototyping tools that have a high barrier of entry, such as 3D printers, laser cutters, and CNC machines. The purpose of the Hive’s web application is to connect students and teachers to the Hive by an easy to use interface, through which individuals can learn about the Hive, get training for equipment use, and schedule time to use the equipment. The app is also intended to support the Hive’s manager by providing a system for managing the allocation of the Hive’s resources to individuals requesting them. We added calendaring and quiz functionality and further developed the previously developed Hive application and its functioning by using DynamoDB linked to HTTP API gateway in a lambda architecture that connects to a React=based app.

AccesSOS Android App
Presenters: Kieran Gregg, Genesis Kaleikau, Bae Sung Kim, Yohan Le Rouzes, & Reeya Ajmani
Sponsor: Gabreilla Wong
Faculty Advisors: Prof. Doug Halperin & Prof. Luigi Lucaccini, CS490
Teaching Assistant: Ethan Pociask

AccesSOS is an accessible text-to-911 mobile app. AccesSOS was created to make emergency help accessible for everyone, including, but not limited to the deaf community. Other potential users are individuals with speech hindrances or limited English proficiency, domestic violence survivors or simply anyone who is not in a position to call for help using speech. We created an Android application for AccesSOS, building on an existing work-in-progress iOS app. The Android application is built using Kotlin and Android Studio for both the front and back end. We utilized the database tool mongoDB to verify user location data, allowing us to determine whether or not a user is in an eligible text-to-911 region. The user’s location is obtained using the Mapbox API which allows us to display an interactive map showing the user’s current location, along with a movable pin to allow the user to specify an exact location/position.

Captain Client
Presenters: Eli Gruzman, Peter Gish, Ray Ma, Tiffany Zhang and Loong Yi Yong
Sponsor: Jon Rahoi
Faculty Advisors: Prof. Doug Halperin & Prof. Luigi Lucaccini, CS490
Teaching Assistant: Ethan Pociask

The goal of this project is to develop an educational platform in which users learn about concepts of system design. This is done through an interactive gaming application, Captain Client, so that the player can have both an educational and enjoyable experience with the subject matter of building a reliable network of components. In this application, users participate in a contest using system knowledge acquired from our program. Users compete against time while manipulating system design components in an attempt to fulfill as many service requests as possible while ascending through a series of levels to achieve the highest possible score. We chose JavaScript to be the driving language within our project and used a specific game library called Kaboom.js to help deal with elements like the UI and user inputs.

Ranked Choice Voting Entry System
Presenters: Khashayar Shafieikermani, Bryce Mighell, Chloe Gonzales, James Fotakis, Srivatsen Saravanan
Sponsors: Armin Samii & Chris Hughes, Ranked Choice Voting Resource Center.
Faculty Advisors: Prof. Doug Halperin & Prof. Luigi Lucaccini, CS490
Teaching Assistant: Ethan Pociask

Currently, the RCVis.com website generates a visual representation of ranked choice voting election information submitted by a user, such as an election official, after an election is completed. The motivation of this project is to build a better database to allow users to input information to the RCVis website more easily. As it is right now, the website only allows users to input information from a JSON file. We are developing a lightweight HTML+JS data entry table for inputting two-dimensional data in which users are able to interact with dynamic rows and columns and set up their own configurations. The technologies used are Github, Vanilla JavaScript, HTML, and CSS.  Figma is used to design UI/UX and Jest unit tests are employed to assess functionality.