Monday, June 8, 2015

June 9th. Really. Wow 0_o. I remember when it was snowy, at the end of January, the week after finals and I was extremely excited for this class, where I knew that I would have an amazing
opportunity to learn more about programming, and to work on projects which I would normally complete entirely outside of school.

After 4 1/2 months of this class, I am happy to say that this class totally met all of my expectations. I really appreciated the chance to get done many things I normally didn't have time for,
and even better, for SCHOOL CREDIT. This literally blew my mind. Two years ago I didn't think that this class even existed.

While I didn't necessarily get done everything that I had planned to get done, I learned amazing skills. From learning F#, a real world programming language which was marked as the 6th most
loved programming language on the 2015 Stack Overflow Developer Survey, to Haxe, a powerful language for writing applications which can compile to multiple target platforms. Along the way
I learned a lot of things which literally changed the way that I think about programming. For example, up until March I not only thought that circular dependencies were acceptable style for programming,
I thought that it was considered good style :3. Another thing I learned when following a tutorial for HaxeFlixel was that CSV files, which is a plain text file containing elements separated by commas, can be read by Excel, allowing for an astonishingly easy way of generating a Excel file. This was EXTREMELY useful for a project I am working on in my Computer Science class, where I needed to generate a log which was easily readable. I thought that a file in Excel was more readable than a plain-text file (although I still really like plain-text files), and as a result, I used it, and the log looks MUCH more professional than it would have had I used a plain-text file.

In my final presentation I will mention all of this and more, I will try to focus on how my style of programming, and project development strategies have changed as a result of taking this class.
Overall, most of the things I wrote above are barely scratching the surface of the stuff that I did, and the things I learned. I would totally recommend this class to anyone interested in using in-school time
to work on independent projects.

Here is some pretty pictures I will talk about in my final presentation.
World Map

Dynamic Pathfinding



Moving Rectangle











 

Friday, May 15, 2015

Google "Keep" A Friendly New Way To Manage Your Life Of Lists, Notes, Photos, To-Do's






Google Keep is an amazing little web based note taker!

 I can understand now at this point that inviting a new app into your live to keep lists and reminders is a crowded space. But I really want to open your minds to this one. Google Keep has some tremendous benefits for the super busy person who wants labeling in one place.







  • Syncs across Google Accounts, Allows Sharing and Exporting to Google Docs
  • Provides Notifications and Reminders
  • Allows for labeling, labeling
  • Creating checkboxes and crossing items off of your list without losing the item.
  • Allows for archiving, changing of list color and email sharing.
  • Has nice smooth web and desktop interface linked with your Google Account.
  • It can also be added as a shortcut to your Google Apps(The same place you find Drive and Docs).


I was slow to start using Google Keep as it was very similar to Evernote in its features but as a dedicated Google Docs user the creation of Docs from my lists was the biggest selling point. Additionally, the ability to have a cross platform application that syncs with my Google Desktop as an option makes efficiency when moving from location to location amazingly simple.


Desktop View Of Google Keep


I have used this app to share lists which are constantly evolving and changing in real time. I have also used this list maker to more easily enable blogging on the run and turning into a Google Doc in a click of a button.


So go ahead download the "Keep" app from Google Play or find the 3rd party "Go Keep" app from the App Store and test out the sharing of lists,notes,photos and whatever your heart desires across email accounts.


Also be sure to view your synced desktop version when logged into your Google Account.


https://keep.google.com/

I think may find yourself returning to it before you know it as your go to list maker/ creative space.

Monday, May 4, 2015

A change in plan

In the past couple of weeks of innovation lab, we did a variety of things.

Immediately after my last blog, some of us were looking at the haXe programming language. As I learned, it is a nice framework for writing cross-platform applications. I was planning on looking at Web Development at some point, and I think that haXe looks like a good place to start. Maybe by June I will try to make a small project in haXe just to figure out how it works. The one problem I had was trying to find an IDE which works well. I tried flashDevelop and IntelliJ, but I had some problems with both of them :3. Hopefully I can get one of them to work in the next few weeks.

Regarding my project - For the time being (maybe next few weeks or so) I want to switch gears. The problem I was finding was that I chose a project which involved a lot of skills I didn't have (F# experience, experience with .NET and Monogame, AND a lot of complicated algorithms for collision detection and physics related things). In Heinz sight, that was probably not a great idea, I should have focused on one or two skills that I didn't have, and learn a lot in the areas chosen. For the time being I want to cut out a lot of the complicated physics and collision detection related things, and just focus on making a game with F# and Monogame.

The *new* tangent idea I had was that instead of a racing game described in previous blogs, I would work on a smaller more manageable game without the added complexity of some of the physics and collision detection. My idea is more along the lines of a racing game where the cart is controlled with the mouse, and the cart must race against something (either time, or AI controlled characters - depending upon which I have time to make). Its a little hard to explain, and so, I created a short video, which hopefully can explain it.

This is the video of what I have worked on making in the last few days, hopefully I will be able to work more on it, and make it into a polished game. If I have time, I may try to work on my original idea, by then I will be familiar enough with what I am doing that I can start using more complex algorithms, but until then I don't want to push it (I really want to have a working game by the final)




Wednesday, April 29, 2015

In Regards to My Project

I have mainly researched Java and programming in general for my project. By programming I mean certain syntaxes of Java and the process in which code is thought of, written, compiled, and executed. My blogs have centered around technology in general and how my project is working. The kinds of technology I write about and use is encompassed by both hardware and software, such as my Macbook Pro for all my tasks, Netbeans 8.0.1 paired with Java 8 to write and run code, along with a powerpoint presentation that is going to accompany my code in the final presentation. This presentation will consist of how my code works, what my program does, how I made the program, an interactive demonstration.

I started developing late last year (around December when the project itself was assigned for the class), and decided it because I wanted to make a game for my final in Intro to Java. After much thinking about how I could practically implement a game into java without plagiarizing, I thought of hangman. So I started developing it by making the basics (how blank spaces would be shown, how letters would be entered, how letters would replace the spaces, etc.). I have continued to develop it throughout this course and have made improvements gradually.
Screen Shot 2015-04-27 at 9.45.05 AM.png
A snippet of code of how a pregenerated word is chosen for the program


Screen Shot 2015-04-27 at 9.48.53 AM.png

How the program looks in the IDE output window

Design Thinking for Education


The process I will be using for this project is the Design Thinking for Education. This process applies discovery, interpretation, ideation, experimentation, and evolution. This is the best process for my project because I am working with fashion trends. Discovery is my first step because I have to first experience the fashion trends, and then must gather my thoughts and opinions on them. And once I’ve completed those two steps, I can make a list of what I want to include in my website and on my blog. By taking those trends and my opinions, I can make a video and this will be extremely helpful; giving me feedback with the amount of views I get, and if the videos are relatable enough for the viewers. And once I gather the feedback, I can change or keep parts of my project.This will make my project strong, interesting, and captivate my views.
I also feel that the Design Thinking for Education is perfect for high school classrooms because it gives the students an opportunity to give feedback to their teachers. It gives them a little more power to how they learn and if the way of learning is helpful.
Experimentation and Evolution are the most essential components of this process. These processes give the most helpful feedback and gives the teacher or creator of project the space to make their own changes and add on’s.
This process can be apart of my future work environments because it allows everyone in the work environment to have a voice and apply their opinions and their views.