My first 6-week module at Turing began on February 9th. The week began all innocent as all first days of anything are. Team building, student introductions, and general discussion on how to learn at Turing and not burn yourself out, although that last one should have been emphasized a bit more. Everyone seemed exited and eager to learn. During the rest of the week we were slapped with small challenges like Fibber and gently patted with fundamental Ruby concepts. We learned about strings, integers, algorithms, arrays, hashes, and most importantly Testing. Can’t over emphasize the importance of Testing. We also learned the theory behind object orientated programming as opposed to functional programming. I wasn’t quiet overwhelmed at that point but I kinda got a glance of where things were headed.
I didn’t complete one challenge that week without someones help, super frustrating! Every Friday is kinda chill. We have guest speakers from all sorts of technology companies who come from small app-development consultancies like QuickLeft to bigger tech biz like Thoughtbot. There’s also ‘Lightning Talks!’ 5-min solo presentations usually reserved for module-2 and up peeps. Any topic of interest is fair-play. Some love em, some dread em, and some seem impartial. I personally think they’re a great idea. Becoming comfortable speaking in public kinda leads to a person becoming more comfortable with themselves. Speaking in front of your fellow students who you know and spend so many hours with is like speaking to your friends, so what better place to practice. Turing isn’t only a place to learn how to program, it’s a place to improve you’re communication skills. Plus one 15-min presentation heard by the right ears can land you the job of your dreams or open up many doors, nohf said.
Week-2 we were slapped with more challenging challenges, like Cryptographer. We also got to learn about the crown jewel of Ruby, Enumerables! By the time we got to building a Link-List the sides of my head, mainly the spots above the ears, began to gently pulsate in an achy kinda way. I was fairly overwhelmed. I understood all the tools but I didn’t understand how/when to use them. I was trying to use a wrench to drive a nail, tweezers to unscrew a bolt, and a screwdriver to paint a wall. Only when I started to really break problems down into tiny components did I start seeing glimpses of success.
Week-3 was the kick-off to our first serious project called Mastermind. If you’ve never played the game here’s the wiki. We had to create a REPL so a user could play from the command line. I used to really like the game until I was asked to write a program for it. With a whole 3-weeks of programming experience under my belt I got to work. After some time and some bit of swearing I quickly realized I had next to no chance of completing the project on time so I sought out help from classmates, mentors, and instructors. I barely completed the project.I had a fully working Mastermind app that I was super proud of. Did it have massive methods with paternalistic code? Maybe. Was some Classes taking on too much responsibility? Possibly.
All major projects are evaluated and scored. Scoring is based on an evaluation rubric. Below is an example of a Fundamental Ruby & Style section of the rubric, there’s usually 4+ sections like this.
- 4: Application demonstrates excellent knowledge of Ruby syntax, style, and refactoring
- 3: Application shows some effort toward organization but still has 6 or fewer long methods (> 8 lines) and needs some refactoring.
- 2: Application runs but the code has many long methods (>8 lines) and needs significant refactoring
- 1: Application generates syntax error or crashes during execution
Another very important section is Test Driven Development. If you get below a 3 in any one of these sections you basically failed the project and will probably have to complete another intermediate project before moving on to something more challenging…. Makes sense.
My project evaluator was big daddy Jeff and big daddy Jeff don’t play no games when evaluating projects. His intentions are very amicable but if you’re not handing in something that explicitly falls into 3+ parameters you’re going to fail! My Mastermind worked and was decently tested for. I thought I would pass but Jeff quickly shut that notion down. I was pretty upset after because I worked so hard building something I thought I wasn’t capable of building in 8-days.
All I remember about week-4 was the first backhand slap I received at Turing, Enigma.