Course Work

E Book Reader Mobile App
CS 309 - Software Development Practices
4 Group Members - Backend Developer
 

The goal of this project was to create a smarter EBook reading application. This would allow users to write notes, hilight words, and have additional tools while reading. In addition, the application would automatically select important words or phrases within the text and provide a link providing a pop up to more information on that topic. The idea was formed to help readers of textbooks remind themselves of important concepts that are reintroduced later in the text. This projcet was built for mobile using AngularJS, Ionic and Cordove. The backend was a RESTful API built with Python using libraries such as: SQLAlchemy, Alembic, NLTK, and Flask RESTful. Data was stored using a MySQL database provided by Iowa State.

Doing this project, I learned about creating a long running project over the course of the semester. In addition, I learned about creating a mobile app with Javascript and continued my learning of Python, Flask, and RESTful APIs.

Comparison of Popular PHP Frameworks
SE 319 - Software Construction and User Interfaces
2 Group Members
 

This project was created to explore and compare some popular (and some not as popular) PHP frameworks. Both team members on this project (myself and another) were unfamiliar with building PHP applications. The frameworks compared were Laravel, Codeignite, and CakePHP. We also wrote the application in plain PHP for comparision. We reimplemented the same simple library app in each and reported on our experiences. While the report is not included, the code is stored on Github.

I learned about various PHP Frameworks for this project. I was able to compare them and have knowledge that will necessary if I implement a project with PHP in the future.

Project on Github

MIPS Assembly Visualizer
SE 319 - Software Construction and User Interfaces
2 Group Members
 

This application is web interface for learners of MIPS assembly. Inspired by CS 321, we thought we could provide a web interface for stepping through and visualizing MIPS code. The interface displayed commands, registers and debugging tools and code run the MIPS code. This application was built using AngularJS, NodeJS and Antlr. Although it all could have been done client-side, a server was created to demonstrate socket connections. The code is available on Github.

I learned about AngularJS, NodeJS and communicating between server and client using Web sockets. In addition, I reaffirmed knowledge about MIPS from CS 321.

Project on Github

Facial Recognition Command Line Interface
SE 329 - Project Management
4 Group Members - Architect
 

This project was created with 3 class mates. This was a command line interface tool that would assist instructers identifying students. The application provided commands to add a student (and take a picture) or recognize them by their face. This was created with Python 2.7, OpenCV, Pandas, and Click (Command Line Interface Creation Kit). This code is available on Github.

I learned about using Python with OpenCV in this project. Additionally, I learned about writing project plans and retrospectives for project management.

Project on Github

Social Media Connection
SE 329 - Project Management
4 Group Members - Architect
 

This project was created with 3 class mates. This was a web interface that can help identify connections between your social networks. This could help a user or an organization gain more knowledge about their friends. The Facebook and Twitter APIs were used to collect data for this project. This code is available on Github.

I learned about working with Facebook and Twitter APIs as well as using D3.js to create graphs. In addition, I learned about writing project plans and retrospectives for project management.

Project on Github

Search Suggest
SE 329 - Project Management
4 Group Members - Architect
 

This project was created with 3 class mates. This was a web interface that will provide search results. In addition an upvote, downvote system was implemented to allow crowdsourcing to find the best results. This was done with Firebase to provide realtime updates to users. A C# server was implemented to look through the pages of the possible results to suggest new keywords to use. This code is available on Github.

I learned about working with some basic C# and communicating witha C# server to Javascript with Websockets. In adition, I learned about Firebase to provide real time database updates to a Web interface.

Project on Github