The situation... Recently, I have been preparing to get another internship to replace my Administrative position.  I am aiming to submerge myself into programming and put as many hours into coding as I possibly can.  I currently have a "spare-time" Internship on a game development team, as well as a part-time Administrative position that allows me to work from home or anywhere with an Internet connection.  But since I changed careers two years ago, I have felt as though I wanted even more exposure to coding, so lately I have been preparing to obtain a programming position to replace my current part-time Administrative position.  (Don't worry, my boss knows and supports me completely lol.) My fears... Over the past few years, I have read so many horror stories of hiring managers conducting interviews with recent Computer Science graduates, only to discover that they aren't able to code their way out of a paper bag.  I have heard stories of the dreaded programming tests that accompany many programming positions.  These fears, in part, are what drove me to do self-learning on top of my degree program.  Above all else, I read (A LOT) and practice 10 times as much as I read.  However, no amount of practice has been able to squash my fears around the dreaded programming interview test. What's my solution?... More practice. lol. However, I have been practicing with a purpose.  I have been focusing on interview-specific algorithms and timeboxing myself to overcome the shakes that I get with just thinking about programming on the spot.  I spend a few hours a day implementing different data structures, practicing kata on code wars, looking at the implementation of different data structures within different programming languages, and pretty much living and breathing programming. So, what about Python?... Yes, python.  I originally fell in love with C++ as my favorite language after taking a C++ last year.  But after a few different events, I was exposed to Python.  First, there was me joining Code Wars, which didn't have C++ as a language option for code katas.  Then, there was my interest in scripting languages in general after reading requirements of different job openings.  Finally, there was the announcement of one Maryland's major Computer Science programs moving to Python to teach new students. Armed with this information, I started to practice Python about 4 months ago.  I have read a bunch of resources for interview tests and just yesterday I made a repo for my solutions to these problems.  This repo is my means of tracking changes and bugs and making improvements along the way!  If you haven't gathered yet, my primary means of preparing for these types of interviews is lots and lots of practice.  Personally, I don't think there is a better way, and I also believe that Python is a great language to use for this purpose! Happy Coding :)
My Programming Interview Preparations

Take a Look
It's that time again... the usually dreaded time to return to classes.  This time around, I have mixed feelings regarding the start of my final Fall semester.  On one hand, I am holding on to the tiny bit of my summer vacation.  But on the other hand, I am more than excited to begin this semester, if only because of the classes that I will be taking this time around.  Here's my Fall semester lineup:
  1. Data Structures and Analysis
  2. Computer Systems Architecture
  3. Linear Algebra
  4. Advanced Programming Languages
  5. Object Oriented Concurrent Programming
I also plan to supplement my learning with a couple of free MOOCs:
  1. Algorithms 1
  2. Software Testing
As usual, I have piled my semester with tons of fun and plenty of things to learn.  This semester will be special to me because I will be taking the bulk of my Computer Science core classes.  As I took some time to re-read the course descriptions, I could feel the excitement rising because much of the gaps I've felt lately, will be addressed this semester. Let's discuss these "gaps"... A huge part of my studies has been self-taught.  Although I am attending a university in order to get my degree, a large portion of what I know now, has come from countless hours of practice, reading, and completing MOOCs online.  While stumbling working my way through my self-learning, there have always been areas that I felt would have been more clear had I gotten to that point in my formal education.  Or, in many cases, the resources available teach a watered-down version of a subject, which left gaps in general understanding.  In these situations, I found myself seeking different sources of information to fill in the gaps, but sometimes, the information still was elusive at best. I know that school will not fill in all of the gaps, but I do feel as though this semester will provide me with a more in depth guideline to follow in order to deepen my understanding, specifically around data structures and algorithms. So, onward I go to my next to last semester of school!  
Back to School: This Semester’s Classes

Take a Look
Photo Source I've made it to Day 3 of learning the programming language, Swift.  So far, I have to say that I have been enjoying the syntax.  I still type random ";" out of habit, even though I have experience with scripting languages like Lua and Python, I still tend to click the good old ";" out of habit.  There are some features that I found interesting such as the way strings and variables are concatenated using the \() formatting.  At first I found it obnoxious, but when I had to do stuff with the variables, I found this syntax much easier to read and less confusing when manipulating the variables. Another feature that I'm enjoying is the function syntax.  In this particular example, you're able to pass through a series of numbers just by simply using  Int...  I found this a pretty cool and useful feature. [code language="python"] func sum(numbers: Int...) -> Int { var sum = 0 for number in numbers { sum += number } return sum } sum() sum(100, 200, 300) [/code] I am also enjoying that some of the things that I loved about Python are similar in Swift, like the "for" loop syntax.  However, in Swift it's even better, in my opinion, because the loops have brackets as opposed to colons.  The familiarity of brackets always makes me feel welcome in any new language that I'm learning.  Overall, I'm having more fun than I should discovering and learning Swift so far.  Soon, I'll get to the point where I'll begin to experiment with Swift in creating an iOS app.  Stay tuned!
Learning Swift – Day 3

Take a Look
It's been a month since school let out and I have had a chance to recuperate from a vigorous semester full of... Math... Now that I'm not longer seeing integrals in my sleep, I've had the change to devise some set goals to accomplish this summer.  The realization that this will be the last summer where I will have a considerable amount of free time, I decided that it would be best to spend my time wisely.  Although there are no plans of forgoing sleeping in and reading Word of Radiance for hours, I do have a plan to add a substantial amount of productivity to my summer vacation. So, what are my goals, you ask? Well, before I get into my goals, another epiphany was that although I have learned quite a bit in the past couple of months,  I don't really have any way of showing what I've learned.  Apart from cheesy homework assignments, I haven't really had the time to work on any resemblance of a portfolio.  To add insult to injury, my website, at the time, looked like a drunken toddler made it in the midst of a temper tantrum.  In other words, I really have no way to showing what I've learned, nor do I have concrete representations of what I would like to do with my programming knowledge upon graduation. What a nasty web I have woven for myself...  But, this summer I aim to change the status quo.  The first step was to update my drunken toddler website, which I'm in the process of doing now.  But, there are some other major tasks that I really want to get to which are: Unity 5 Training & C# Learning Swift for iOS Learning Android Studio Blender Maya UX Design Foundation Sass I know... a lofty list.  I will probably get to possibly 1-2 things off of this list, but I believe that it's good to have aggressive goals, even if I only get to a quarter of this list, it would be greatly beneficial to me.  Either way,  I plan to blog throughout the summer, sharing my experiences with what I learn.  It should be an interesting ride. :)
My Summer Goal List

Take a Look