Something Awesome - Problem Solving - OpenLearning

Sabrina Rispin

sabrinar

Current Link to My Rosalind Page

Before (Apr 12): (Note: Green means that a problem has been solved, grey means unsolved) - link to blog with this image here

Current (as of May 31):

 

Intro

Problem solving is not about the solution, but how you got there. As cheesey as it sounds it's the truth. There are so many ways to solve a problem, and not all of them are the best. But which solution is the best? I have no idea. I do however have a new respect for problem solving. I completely overestimated my ability to solve problems consistantly, every week, like a machine. Not all problems were created equal, and I learned that the hard way. But now I feel that I am less likely to overestimate a problem, not get frustrated when an approach isn't working and will strive to try different methods in future. Looking back, I see that going back to problems I had previously been unable to solve provides a new perspective, and often a solution. Sometimes, patience is key. Sometimes extensive planning is best. Sometimes dumb luck is as well. But at least I know there are different routes to take moving forward.

 

All Claims

1. Problem Solving Strategies

2. Solving Problems every week

3. Time spent Problem Solving

4. Number of Problem Attempts

5. Badges earned

6. Open Learning Challenges

 

1. Use of different problem solving strategies

Claim: I have solved a variety of different problems that require different problem solving approaches and solution methods

Summary: Different problems require different solutions by nature, but it is also important to know different ways to reach different solutions as shown below.

Evidence:

Contrast - Below are 2 particular blogs that show different problem solving methods

  • The first shows a lot of sketching, understanding the problem and coming up with potential solutions,
  • The second shows a method of basing a solution off of a related previously solved problem and building off of it

Problem TREE - Completing a Tree: <click link for explanation of the problem>

After sketching out a possible solutions on paper I went away coding to implement my solution. I tested it on the given test and got the correct answer, but what I forgot to do was implement my own unit tests. So, I submitted my answer to the given input and got it wrong.

After looking at my generated output I realised that I needed to loop through my 'connect the branches' loop more times. In order to do this I made it a function that took in an array and gave an array as output. Using this I could compare the input and output and if there was no length change then stop looping the function.

Unfortunately that still didn't work. It turns out that while my thinking on 'grouping' was correct but my implementation was causing the issues. So I decided that in order to properly keep track of everything I needed an extra, temporary set to keep track of changes, and THEN change them. Long story short, I had to start from scratch - clean slate.

Some many hours of coding later I finally had a working solution. I ended up hand typing one or two unit tests into the input file before deciding to test it for real. I succeeded! On my second submission!

See below for photos and stuff.

 

 

 

Working solution - based off of solution 3 above

 

 

Problem KMER - k-Mer Composition:

 

 

 

 

 

2. Solved at least one problem every week

Claim: I solved one problem every week excluding the Quiet Week

Summary: This demonstrates my ability to consistantly work on my problem solving ability each week with a new problem. This is important with problem solving as exposure to new problems forces you to develop new solutions that you never would have used other wise.

Evidence:

3. Problem Solving Dedication - Reach at least 50% by week 13

Claim: Great progress was made towards this goal but it was not achieved. 

Summary: I underestimated how difficult some of the problems would be and the amount of time required to solve them. The purpose of this goal was to push myself to solve as many problems as I could in a given time. While I did not meet this specific goal I can still prove that I worked hard at solving problems each week and spent a significant amount of time towards my something awesome.

Evidence:

  • I use WakaTime to keep track of what projects I work on and for how long I work on them each day. Below are the results for the past 30 days

 

 

4. Additional Evidence

Claim: I improved my problem solving ability over time by relying less on the auto marker

Summary: Less submissions before a corrent solution is obtained over time

Evidence:

  • Below are all of the problems I solved with their number of attempts - excluding the ordering of strings lexicographically (very difficult problem) I tried to not rely on the automarker, but instead on the given information with the problem.
  • Completing a Tree

 

  • Error correction in reads

 

  • k-Mer Composition

 

  • Ordering strings of varying length lexicographically

 

  • Independent Alleles

 

  • Matching Random Motifs

 

 

Claim: I earned the probability badge.

Summary: I have solved a certian number of problems (5 for a level 1 badge) on a given topic (probability). This shows that I have solved problems out of my usual area of String Algorithms (of which I had a level 2 badge).

Evidence:

  • Badges before the course and after can be seen in the above infographic, but here are their descriptions:

Old

   

 

New

 

Claim: I completed many OpenLearning Challenges as well

Summary: While I did focus on Rosalind I also spent a lot of time problem solving by doing many of the challenges through Open Learning

Evidence:

  • Photos of my completed challenged and related badges

Module 0

 

Module 1

 

Module 4

Module 6

Comments

Chat