This site is no longer being updated - The new version of this site lives at cedrichansen.github.io ×

Welcome to my Personal Webpage

My name is Cedric Hansen, and I'm software developer. This page contains everything you need to know about me as a developer, including past projects, skills, and more!

Projects

Here are a few of the interesting projects I have completed

DataMea

This group project was the main outcome of my cscs480 course. It is an email analysis desktop app, which pulls interesting statstics from your Gmail account

DataMea Website
Routemate

This application built in Flutter, allows landscaping, and other service companies, to optimize their daily operations. This application provides clarify into which properties have been visited, route optimization, forms, and a wealth of other features to help snow removal, lawn care, and other services. This first version of this project has been in use for 2 years, by 30+ daily users

Cahoots

Cahoots is a mobile application built in Flutter, aimed at helping gym-goers find gym partners at their local gym. This app was created using Flutter, as part of my software engineering capstone, with Douglas Myrdek.


ftp.png
File Transfer Program

This project is a file transfer program which is built using UDP datagram packets. The program is modeled after TFTP, and supports both Stop and Wait style acknowledgements, along with a TCP style sliding windows protocol for significant transfer rate improvements

Anki
Anki Car Intersection Handler

This project was the culmination of my requirements engineering course. The goal was to create a serverless program, that successfully allow vehicles to navigate through the intersection without a collision (reload page to replay gif)

Streaming
Encrypted Streaming Service

This project is a streaming service, which used AES encryption, and multicast sockets to securely stream the hosts webcam view, to clients with the correct room password. Used the webcam capture API to connect to get images from our webcam. (reload page to replay gif


JDKvsCustomHt
Custom Concurrent Hashtable

This project is my custom implementation of a concurrent hashtable, and using JMH benchmark framework, was compared against the jdk concurrentHashmap (which happened to have been created by my professor, Doug Lea)

Questionaires
Questionaires

This group project was the main outcome of my cscs380 course. This game is a desktop version of, cards against humanity mixed with Quiplash, with a twist. Playable with multiple players across a wifi network. Includes a built in chat application

Path finding Algorithm
Dijkstra Pathfinding

This is one of my projects from my csc365 course. This is a persistent, weighted graph algorithm, which shortest path finding capabilities, between business listed by yelp


FlootItSolver
Flood-it Solver

This project is a parallel move evaluator, which essentially finds a winning list of moves to beat the game "Flood-it"

Asteroids
Asteroids

This is a game I made called asteroids. In this game, the user navigates a ship, and must dodge the asteroids that fly onto the screen. Note, I originally named it 'cube runner' which was my inspiration for the game

Card image cap
Parallel Genetic Algorithm

This project is an implementation of a parallel genetic algorithm which finds the most effective layout of squares in the grid

Skill Set

I have used flutter extensively over the past 3 years. I have developed a handful of projects - it is arguably my favourite tool to create applications
Similar to my flutter experience, I absolutely love dart. I think the syntax is close enough to Java, while not being as verbose, and has some great utilities, which I really enjoy using for dev work
The majority of my programming experience comes from java. I have built things ranging from video streaming applications, to email analysis desktop apps. I have done lots of networking, parallel programming, and GUI programming in java. Knowledge of many framworks such as maven, Junit, JFX, Guice, Mockito, and more.
Most of my development work at IBM is done in C++. Developing GC componants has exposed me to the absolute bare bones of C++, so I am familiar with all language features, but not with many third party libraries (ie, boost, etc) I learned C++ while interning at IBM in summer 2019, and then enhanced my skills while taking system simulation at SUNY Oswego. In this course, we learned to make a discrete event framework in Java/C++.
I programmed in C# while at Novelis. I developped a small application to access a database, and generate QR codes for vehicle inspection checks. I programmed a GUI with some parallel elements, along with sending emails, and accessing databases from C#
My javascript experience consists of basic web development (such as this page), creating WebGL projects for a course, and some small browser based games. Additionally, while working at IBM, I developed an application which connected to slack API's, and detected "offensive" emoji's, and alerted HR
I have written several small scripts in python, most of which have been for my mathematical modeling class, or for my programming languages course
I have spent a fair bit of time working with SQL at both Novelis, and at Square. My experience at Novelis, was mostly in creating dashboards, and is where I first learned it. Since, I have taken several courses, and have used SQL quite a bit at Square for new feature creating, and debugging purposes.
My Go projects are almost exclusively servers (which I ended up running on AWS ec2 containers). I used Go in my software deployment classes where I learned to make API requests, and write to a database, and then another server which responded to HTTP requests (and fetched appropriate data from DB). I also used Go to make the server for "Cahoots" capstone project
Have written dozens of small scripts to automate commonly used tasks for builds, server updates, file system mounts, running tests, etc
I have used ruby a little bit at Square. I can get by if I need to. I am by no means a big fan of the language.
The creating of this website, in addition to some other small websites/charts.
Used alongside of all projects I've made using html.
Quality assurance is at the heart of good software. Unit testing, integration testing, and manual testing, are all key things that are implied when working on software. I very much enjoy quality assurance, and testing. These are skills that I have refined while doing heavy performance testing at IBM, and releasing production features at Square. I have taken courses in quality assurance, where I learned tools such as equivalence classes, jUnit, and other commonly used QA techniques
Requirements are at the core of software development in a professional setting. At Square, I frequently work with a PM, who drafts PRD's, which we then convert into working solutions. I also took a course in requirements engineering where we learned the process of creating requirements documents for safety critical systems.

Courses

Below is a listing of my relevant courses

    CS Courses

  • CSC454 System Simulation
  • CSC470 Computer Graphics
  • CSC495 Software Engineering Capstone
  • CSC445 Computer Networks
  • CSC436 Requirements Engineering
  • CSC482 Software Deployment
  • CSC375 Parallel Computing
  • CSC385 Software Quality
  • CSC480 Software Design
  • CSC365 Data Structures and Algorithms
  • CSC380 Software Engineering
  • CSC344 Programming languages
  • CSC322 Systems Programming
  • CSC221 Foundation of Computer Science

  • ISC370 Human Computer Interaction
  • ISC484 Software Entrepreneurship

    Science & Math Courses

  • MAT353 Mathematical Modeling
  • MAT318 Stats for Science
  • MAT215 Discrete Mathematics
  • MAT240 Multivariable Calculus
  • MAT220 Calc 2
  • MAT210 Calc 1

  • PHY204 Physics of sound and music
  • PHY213 Physics 2
  • PHY112 Physics 1

  • PHL111 Logic 1

Resume


Download Resume

Contact