# Thursday June 8th

## Projects in between Summer and Fall

• I’m wrapping up class next week Tuesday, so starting to think already of what I can do to keep my C++ skills current.

• One of the things I have in mind is making an Asteroid game in C++.

• I know, I have many friends who would roll their eyes at how easy this is for them, but hey, I’m learning. I’ve done it in Python before. But, with help (ie some library or IDE that helps you), vs C++, which would be from scratch, and it was a while ago (like in 2013).

• A heads up; this may be a colossal failure. However, I defnitely will learn something, which is the point.

## Some notes

• Was doing some research, and came across this book, “Game Programming Patterns”, by Robert Nystrom. Free pdf link is here

## And..solved some Katas

• Four different languages today!

## Python

``````def greet(name): #finish the function greet
try:
return "Hey " + name + "!";
except:
return "Hey " + str(name) + "!";
``````

## Ruby

``````def countWords(str)
return str.split.size
end
``````

## Java

``````class Upper{
public static String MakeUpperCase(String str){
return str.toUpperCase();
}
}
``````

## JavaScript

``````function longestWord(stringOfWords){
var arr = [];
var arr1 = [];
var a = stringOfWords.split(" ");
// split by space
for (var i = 0; i < a.length; i++)
{
arr.push(a[i].length)
}
// find length of each word
var max = Math.max.apply(null, arr)
// assigned to max
for (var i = 0; i < arr.length; i++)
{
if (a[i].length == max){
arr1.push(a[i])
}
}
// match max with words that are that length
return(arr1[arr1.length-1])
// return last element of array that match
}
``````

## UnBootcamp

• Finished assignments (three this week) and pull requests accepted / closed. Firebase was really fun!

## Also

• There is talk about a Mathematics for Computer Science Meetup. That would be neat. Possibly on Fridays. We’d probably start with Linear Algebra or Algebra 1 or something.

• Also, Category Theory, possibly though my Haskell group.

## I know

• I have other projects in the works that I spoke about doing. That’s okay. It’s a process, and as I learn, I’ll add / complete, and document my progress.

• The point is to learn and continue to get better. Also, to keep my skills in C++ fresh. I should have taken the class I’m taking in Fall first, but oh well. I learned a lot in this current class I’m wrapping up. And I survived. I’ve heard the pace of the one in Fall is slower, so things from this one will become clearer, which is good. Either way, I’d like to keep going and continue with Python, JS, C++ and Haskell. Learn a little Coq, Idris and Mathematical Notation along the way, too.

## Later

• Hanging out with the Germans at JPL. Should be fun! This one is special because they only found out a few days ago that I got approved for my application process, which means if all goes well, I should be on my way to a possible internship next Spring (we shall see)!
Written on June 8, 2017