Monday, December 16, 2013

Math-Team-Scorekeeper App


Wrapping up our work with the Mckinley High School Math Team for the MathTeamScorekeeper app.  It was a blast working on a real life project with a local non-profit.  I learned a lot about software engineering and ruby on rails.  The web app is not fully complete according to the prototypes and features we worked out, but it's off to a nice start.  You may find links to the slides, app, git repo, and pivotal tracker at the end of this post.

Hope you enjoy our final presentation:



Presentation slides

rails app

git repo

pivotal tracker

Wednesday, October 9, 2013

Interview Plan: Mckinley Math Team

I'm pretty excited to be able to implement this idea and help out my Alma mater.  The math team coach with whom I would be meeting with was previously my calculus teacher.  I have visited him a few times recently so this interview will be somewhat casual, although we will be there to get work done and get this project started.  Here is a draft of our plan:

Setting

Objective of Interview
-Determine the main pet peeves (mainly data that needs to be calculated and recorded manually) in the math team and figure out whether we can develop some technology to help them

Date, Time, and Location
-To be determined

User Participants (names and titles/positions)
-Jon Furukawa, Math team head coach and instructor at Mckinley High School

Project Team Participants
-Kevin Goo

Interview/Discussion


1. During math meets how is the score keeping currently done?
2. What is the actual algorithm for computing someone's score?
3. Can we provide a system to make it easier?
4. Is there valuable information that should be saved?
5. What other tasks need to be done, perhaps not during the meet but at practices?
6. Can we provide functionalities to help train new students?

Follow-Up

Important decisions or answers to questions
- Refer to notes taken
Open items not resolved with assignments for solution
- Refer to notes taken

Date and time of next meeting or follow-up session
-To be determined

Tuesday, October 1, 2013

Reaching out: Mckinley Math Team

In preparation for contacting the math team coach about my project idea this is a quick draft email that I will be sending them:

Greetings Mckinley Math Team Coach,

We are with HPU's Software Engineering and Systems Analysis class and we would like to help you out by creating a system to manage scores and statistics for the math team.  This project will be a good opportunity for both of us as we are able to gain experience while helping out a local non-profit.

We have a strong background in programming and would like to work with you to develop a system to suit your needs.  We would love to provide something that will be useful to you and the students in the Mckinley math team.  If you are interested, we would like to meet with you and discuss further possibilities of this project.

Please let us know if we can help, we look forward to working with you.

Best regards,
Kevin Goo

Tuesday, September 24, 2013

Stakeholders: Math Team Scorekeeper

This idea in my previous post about a score keeping application for the local high school math team is one I would be excited to work on.  There are a few contacts I have that could be the stakeholders for this project.

Coaches (Internal/Operational/Executive):  The math team coaches, some of which were my high school math teachers, would be the main internal stakeholders.  They would be using this application and the information it provides.

Students (External/Operational): The students will be benefiting from this application externally.  They will not input the scores, but still be able to see the results and know what areas to study for the next meet.

Stakeholders:Housing Helper

In one of my previous posts, I talked about an idea of creating a helpful tool for those looking for a place to stay.  Now I will go over some potential stakeholders for this project.

Customers (External/Operational): The main users of this application would be the people wanting to sell or buy a house or apartment.  Mainly the people of Hawaii, unless this project gets larger and branches out to the mainland.

Realtors (Internal/Executive/Operational): For the internal stakeholders I do not have any sure contacts setup.  The internal stakeholders would definitely be realtors or a company involved with housing.  There is someone in one of my classes that I found out is a realtor so he could be a potential stakeholder.

Stakeholders: Programming Challenges Assistant

Following up on my previous post about a programming challenges assistant website.  It's now time to talk about the stakeholders for this project.

Professor (Internal/Executive/Operational):  Dr. Curt Powley, being the head coach of the programming team and professor teaching the programming challenges class, would definitely be the main internal, executive stakeholder for this project.  He would probably interact with the system internally and sort of use the information given by the system at an executive level.

HPU Students (External/Operational): The HPU students would be the main consumers for this application.  Their input about desired features would be the most important in the design of this system.  Senior students could also be internal operational stakeholders if they are allowed to interact with the backend and add new features.

Wednesday, September 18, 2013

Brainstorming: Math Team Scorekeeper

Problem
The local high school math team competition has a new scoring system that is more troublesome than the math problems themselves.  Out of up to ten competitors per school they must select the top four that score the highest over three events.  The top scores are obviously changing after every event and it is hard to keep track of how each school is doing.  Many have tried to input all the data into an excel sheet and compute the top four scorers, but this has been complicated and troublesome to do.  They could use an easy to use program that allows scores to be input for each competitor after each event and even save data from past events.

System Specifications
  • User friendly GUI allowing competitors scores to be input for each school
  • Efficient sorting algorithm that keeps track of the top four scores and lists them in order
  • Ability to save and display data from past events for future strategizing
Benefits
  • Saves time and trouble for math teachers and other volunteers
  • Allows a school to get an edge on the competition with extra data
  • Cool way to support my old high school

Brainstorming: Housing Helper

Problem
Housing is very limited and expensive here in Hawaii.  It is even harder for people to find a place to live when they have specific needs like pets or children.  People may spend months looking through ads and not be able to find anything suitable for a reasonable price.  Greedy realtors may trick them into buying or selling their house when they aren't too sure.  A website that allows people to list houses or apartments for sale and let buyers look up housing with a certain price range and detailed specifications could be of good use.

System Specifications
  • User friendly GUI to allow users to post and look up houses with detailed specifications
  • Required screenshots from sellers of the house and surroundings
  • Embedded chat system to allow buyers and sellers to communicate easily

Benefits
  • Save people time and money
  • More satisfied people with adequate housing

Brainstorming: Programming Challenges Assistant

Problem
It is difficult for new students to get familiar with the Programming Challenges (CSCI 3106) class at HPU and prepare for the upcoming competition.  There are not many good sources of information easily available for students to really get started in solving problems.  They are forced to rely on the guidance of the professor and former competitors.  The veteran competitors eventually graduate and the wisdom they have accumulated is lost.  Newcomers are left on their own and must recreate all of the algorithms that their upperclassmen may have already figured out.  They do not have a good system for figuring out what problems to practice or how to even test their code for a good solution.

System Specifications
  • A database of all past contest problems with sample solutions and hints for each problem
  • A friendly interface for submitting source code and testing for correct solution
  • Problems must be sorted into difficulty levels and categories
  • Friendly interface for students to keep track of problems they have solved and what areas they should work
  • A global scoreboard to see who has solved the most problems for fun and bragging rights
  • Automatic practice contest creator that selects problems of various difficulty that you haven't solved yet
Benefits
  • Great way to get more people involved in programming challenges
  • Easy to use tool to help new students learn and for veterans to practice more
  • Stronger programming team for HPU
  • Less work required for professor and upperclassmen

Wednesday, September 11, 2013

Best Programming Language for Web Development

Web development is something I wish to get familiar with.  There is a high demand for websites by various companies that want to get their names out on the web.  It would also be very easy to show a job interviewer websites I have created in order to show what I can do.  There are a few web projects that I have in mind, but I'm not sure where to start.  First off what programming language should I use?

A couple of my professors have suggested that I use Ruby for web development.  However, it seems PHP is the most popular language for websites as of now with over 81% of websites (source).  Ruby, Python, and JavaScript make up less than 1% of all websites.  Ruby and PHP were both created around the same time, so why is PHP so dominant in web development?  Currently, I do not know much about Ruby or PHP, but I will be learning some Ruby and maybe I can see for myself which language I prefer.

It seems these guys have a preference towards Ruby: