SJSU CS Systems Group

this is a brief description of the projects going on in the systems group in the computer science department at SJSU. please contact ben reed if you would like to get involved. some students work on projects for a master's project or capstone project, while others get involved just for fun.

i highly recommend watching this video from julia evans (that i found on mastodon :) ) https://www.youtube.com/watch?v=30YWsGDr8mA . she presents a lot of ideas that align with my approach for working on hard problems.

future projects (love to find people interested in)


 

actively looking for people


canvas integration tools

https://github.com/SJSU-CS-systems-group/canvas_tool

canvas has become a important tool for assessment of learning, but the question management system is horrible. there is a python utility for creating canvas quizes using markdown text files, but it doesn't support the latest functionality of canvas. we need to write a new utility to parse markdown and generate QTI 2.1 files. we also develop tools for automatic evaluation of canvas submission.

disconnected data distribution

https://github.com/SJSU-CS-systems-group/DDD

we live in a connected world, and we have come to count on connectivity to do even the most basic things in life. unfortunately, much of the world lacks connectivity. even in locations with good connectivity, natural disasters can knock out critical infrastructure. this project explores how to use intermittently connected transports to provide needed data connectivity. this project helps students gain experience in network protocols and file formats.

java based mastodon server

https://github.com/SJSU-CS-systems-group/moth

we are implementing a java based (spring boot) mastodon server that is compatible with mastodon clients. the mastodon server is written in ruby, which students aren't familiar with. by implementing the server in java, we can do future research project with mastodon in a familiar environment.

well staffed


wrapping up


write-ahead transaction log performance

write-ahead logs are key to the reliability of data management systems. they are designed to use dedicated storage systems. unfortunately, they don't always get deployed that way. this project explores how we can improve the performance of write-ahead logs on shared devices. this project helps students gain experience in storage system and the linux kernel.

ZooKeeper historical performance

this project tracks the performance of ZooKeeper over time. we use a local cluster made up of raspberry pis and intel servers to run benchmarks. this project helps students gain experience in distributed systems and performance analysis.

 

finished


realtime linux on pi's to drive 3D printers


hard realtime used to be something that people wanted from linux, but over the years hardware has become so fast and operating systems so efficient that responsiveness is good enough. however, we still have devices, such as 3D printers, that need hard realtime to drive hardware, such as 3D printer motors. today, rather than trying to make something like linux drive the motors directly, microcontrollers are used with dedicated firmware to drive the motors. i'd love to work with some students to experiment with realtime extensions to drive 3D printing directly from a raspberry pi running linux.

cat tracks


in california, the biggest killer of mountain lions is cars. we would like to collect more data on where lions, and animals in general, are being killed. we are developing an app and data collection backend to collect information on animal activity near roads to allow researchers to better understand where wildlife is coming into contact with roads and what kind of wildlife is being affected. this project helps students gain experience in mobile app development, network protocols, and cloud development. (we are in great need of students interested in android and iOS development!)