Loop Madness

More JavaScript! We dove into for loops today and while(pun intended) we mostly used the for variety, we got lots of practice! We came across some big challenges, mostly when trying to build out a hangman type game. The biggest challenge was when I thought my game was complete and working 100% I discovered that I was checking to see if the player had won the game by checking the length of the correctly guessed character array against the length of the correct word. Which again in theory works fine, but leaves a player able to guess the same letter x amount of times and get it right as long as the correct word is also x amount of characters long. So i created a sliced version of the correct word that removed the letter of the word that was correctly guessed and then had my check if the game was won conditional check whether or not the correct word had anything left in it!

Screen Shot 2017-06-07 at 8.10.30 PM.png
Hangman!

 

Our afternoon was spent practicing different types of for loops until we were blue in the face! It sounds tedious, and parts of it were, but extremely helpful in solidifying the concept. My post is going to be pretty short today because my brain is mush! Our lesson tonight was on using “vanilla” JS to edit an html file so I’m sure tomorrow will bring with it more mushy brain! I did level up on CodeWars today! I’ve been using it to practice JS and as my own form of supplemental work. It’s extraordinarily satisfying to start a kata not knowing at all how to tackle it, and within a couple hours of researching and attempting anything you can think of, it works! I had several of those moments today and it’s what keeps me motivated to get it done, day in and day out. Until tomorrow!

 

Advertisements

Array of Light

Today our lesson was an introduction to functions and complex expressions although I wouldn’t exactly use the term complex to describe the expressions we were working with. The material we went over helped to reinforce some of the basics for me, however I spent the majority of the day working on multiple supplemental assignments.

Bubba gave out a more “meta” supplemental on callbacks which is basically calling a function inside a function. The point of the exercise was to get your brain wrapped around where arguments will be returned depending on where they are passed when the function(including the callback function) is called. Here’s what I mean:

Screen Shot 2017-06-06 at 7.11.06 PM.png
callbacks = function inception!

As you can see in the factory function: it is calling something within itself at the same time as it is calling itself so when you define the function you must have it return another function that will return the actual value you are looking for. That helps factory2 make sense, hopefully. The only difference is that factory2’s output depends on arguments passed- not set return values within the function. It gets a little tricky down at factory3 – this is where what will be returned is specified when the function is called, however factory and factory2 both have the inner function returning that argument. In factory3 we want the outer function to return the argument. We still need to actually place our return in the inner function but we need to pass the parameter into the outer function. I know that was a bit of rabbit hole-ness but if you were able to follow along props to you!

I was also able to work through the rest of the X marks the spot challenge from yesterday! It took getting a lot of help from the instructors(more than I’m used to anyway) and a lot of talking it out with a classmate, but we did it!

Screen Shot 2017-06-06 at 7.00.04 PM.png
we got stuck forever on how to get the second positionof xyPosition array

 

We also received a supplemental that we, admittedly, used a solution from our Googling to solve. We did try to make sure that we fully understood what the solution was doing, but it required using some built-in methods we just couldn’t know about just yet. Good thing is we are resourceful! Someone told me today – “Never commit to memory something you can look up.” Maybe not always sound advice but it’s a nice excuse for how we solved this one!

Screen Shot 2017-06-06 at 7.00.20 PM.png
this function does a lot, for being so small

 

Unfortunately still having some problems with Newline content and organization. I’m definitely seeing an improvement in the classroom but the material online is a general mess. I’m really hoping it shapes up and continuing to keep my head up. I love what I’m learning and what I’m doing and I hate that I have to even consider for one second that I might be getting ripped off in any way. Newline, which is the platform we receive all our new content on, is literally in beta right now as we are using it. I hope if it doesn’t get better soon that The Iron Yard will do the ethical thing and reimburse students who have been “capped” so to speak by the material. Time will tell!

 

Oh! I almost forgot to mention this! Heather and Ashe asked me and Bruin to lead the next crash course on campus! It will be June 21 in the evening after class! I was honored to be asked and I am thrilled to get this experience! I’ll stay up to date on any developments there!

JavaScript – Day One

Today we got a new front-end instructor and a new stand-in campus director! Both of them were super optimistic but also firm which I think we all needed. It felt so nice to have a leader in the building. We stuck to the material completely which was also nice especially since we dove head first into JavaScript today! If I didn’t have any familiarity with programming languages I would be up sh*t’s creek right now! We definitely did not start out slow with introducing concepts. I figured today would be about declaring variables, variable types and a lot of console.log but our first activity for the day was to write a rock, paper, scissors program. I didn’t struggle much with it but I wasn’t happy with how the code looked, even though it worked, so I spent some time trying a couple different ways to write it. I do feel for some of the other folks who haven’t been exposed to any of this – they seem a little lost right now.

Screen Shot 2017-06-05 at 7.59.40 PM
rock, paper, scissors

Gray, the new front-end guru, gave me and a couple others a supplemental to work on; building an x marks the spot program! I partnered up with one of my buddies in the cohort and we plugged away for a couple hours. We almost got it working, but didn’t have quite enough time to finish. Hopefully we will have some extra lab time and some more knowledge over the next couple of days to slam it out. We were getting so excited when we got parts of it to work. That’s what I love about programming – there’s always a problem to solve, always a sense of satisfaction right around the corner.

Screen Shot 2017-06-05 at 8.00.24 PM.png
x marks the spot – so far

I’m both excited and nervous about this week and next as we dive further into JavaScript. If this is day one of it who knows what our weekend project will look like! Exciting and also intimidating! I will be JavaScript Jedi after this.

Today was a lot more than previous days and in a way I am grateful for that. I hope this new vibe around campus stays – even though we were all a little overwhelmed at points it beats sitting around wishing you were challenged.

2 Down, 10 To Go!

Well how about that! I made it through the first two weeks! And on the other side of that two weeks I have gained a ton of knowledge and experience building webpages! I’m comfortable using the command line(I was mostly before the class). I’m comfortable styling pretty decent websites and am working towards making my classes in CSS reusable. I might even write my own CSS library which basically means that anytime I’d want or need to style a new webpage I could pull out designs I’ve already written and apply them to just about any page assuming I structure the html in a way that corresponds.

Our weekend project was a 3-page website with mobile first design and media queries to adjust layout and element sizes based on the size screen/type of device the site is being viewed on. The more efficient I get at CSS the more I don’t mind it. It doesn’t feel like grinding anymore to find which combination of styles will make the page do what I need it to. It’s more like making a recipe that you make 3 nights a week and not like making one you just found online that states it will require 4 hours prep time. I was always pretty quick to build these pages, but I finished the weekend project on Friday evening after just adding a couple extra hours to my open lab day at school. One of the pages of the project is a huge calendar which honestly I was dreading. Fortunately, I whipped it out in the shortest amount of time I spent on any one page for the whole project!

You can see the full project here!

 

 

Screen Shot 2017-06-04 at 8.18.55 PM
Responsive Mobile First Design
Screen Shot 2017-06-04 at 8.17.55 PM
Tablet Design

I got some helpful feedback Friday afternoon as well in regards to our last weekend project. Everything I had been doing was satisfactory and up to pace/par, but there was something I could do to my classes names to make them more ‘industry standard’. That’s where the reusability comes in. My mentality has been to make my class names very specific to the webpage and that made complete sense as I had previously understood it. Once I was shown the generalization of classes and how we can stack classes to apply multiple styles it made so much more sense! Why spend all this time writing out huge CSS files from scratch when you can just load one in and update the color scheme or throw in a couple extra classes that would make that page uniquely perfect for the client? My mind was wide open to how it all works and I felt super motivated to put it into practice and knock out the weekend assignment.

I spent most of Saturday on CodeWars; a website designed to test your programming skills, in advance of Monday’s class on JavaScript! The more functional programming languages are definitely more interesting to me though I know there will be concepts I struggle with in the coming weeks. I was able to throw together some pretty awesome stuff including this snippet which I am super proud of(as basic as it may actually be):

function highAndLow(numbers){
var sorted = numbers.split(” “).sort((a, b) => (a – b));
return(sorted[sorted.length -1].toString() + ” ” + sorted[0].toString());
}

Basically what this function does is take any string of numbers and returns the highest and lowest numbers as a string. It seems simple, and ultimately is, but getting it down to three lines was a great moment for me. It definitely started out as 12 lines that I kept finding ways to mash together. I’m sure I could get it even smaller if I really needed to. Up to this point all my satisfaction has come from just getting the function to work- not necessarily caring about the conciseness of that function. Now I am pumped to see what else I can conquer and learn about JavaScript!

Not to end on a low note but I do want to say something about what happened in class on Friday… As I’ve mentioned some of the organization hasn’t been the best at our campus and again I am very grateful for the leg up and for my own ability to adapt and overcome. Unfortunately I think it all came to a head on Friday. Our full-time front-end instructor was let go in the middle of lab hours. Not being on the other end of all this learning it’s tough to say whether or not he was actually interfering with our education, however I am looking forward to them sorting all of this out and putting the focus on us students. I am eager to continue this journey and my dedication will not waver – even if everything around me is crumbling. We are getting a new instructor(from the Columbia campus which recently closed) and a Campus Director(also from the Columbia campus) at least temporarily.  The other staff have been extremely comforting and reassuring about the whole process and Ashe has been open with me about their struggles and their desire to get it right.

As always – I’m ready to put my best foot forward and keep hacking!

90% styling, 10% git

I wish I could say we did something more than work on git commands in terminal and more practice with styling but alas, that would not be true. I feel like I want to beat my head into a wall with the amount of CSS and HTML I’ve been staring at for the last two weeks. Fortunately, the saying is true: Practice makes perfect. I am starting to feel the CSS is a little mundane and after building so many HTML pages from scratch I am definitely ready to work on something new!

I was able to get some practice with using git in terminal as I have been pushing all my repos through github desktop. Definitely feeling stronger in that after today.

Our weekend project was released early as well! However unfortunately it is just another 3 page website except this time with mobile first design and responsiveness. Definitely feeling like these are the final touches of styling. There’s a lot more I’ve yet to learn and I wish the organization was a little tighter so that those who are excelling could’ve been directed to some heavier stuff rather than more busy supplemental work that doesn’t really teach you anything new.

I also felt today for the first time some serious doubts sink in. After attending the ladies night event last night and realizing that only 2 of the 5 grads that were there had jobs, I was feeling a little discouraged about finding a job myself. I talked to Kaity and Ashe, our campus personnel about it, and they were reassuring but also honest; it takes most people 3-4 months to land a job. I know that I possess more drive than most people but it is still a concerning factor as I literally do not have means to stay unemployed for more than 1 month after the cohort. It doesn’t help my confidence that all of the material in Newline is pretty unorganized and we are sometimes given differing instruction from our in-house instructors than what the material online suggests. It does seem to be a bit of a mess at campus, especially since we are currently without a campus director. I’m going to keep at it and hopefully this feeling will pass, but I also am keeping an eye on what’s going on. I need to make sure that this serves its purpose for me and not let myself be shortchanged by the circumstances. I cannot afford to fail and therefore need to remain acutely aware of anything beyond my control that could cause such an occurrence. Ashe told me there were some people coming in to work out some of our kinks so hopefully that gets us all on a more productive and organized level.

Onward!

Forms, git and ladies night 

Today we went over forms! I basically knew nothing about forms going in besides what I had to research going into last weekend’s project so I would say I learned a ton about forms! We had to do some form styling for our morning activities which was pretty simple and helped to even further solidify the CSS we’ve been learning. I’m starting to feel like it’s 80/20 now as far as my original layout ideas working vs not working. Like now I can see exactly how I’m going to make it work and slowly the percentage of times I am correct on the first try is going up! So I’m feeling pretty good about that. Wrapping your head around all the multitudes of ways you can style a webpage is definitely a doozy. Even if I have been able to get the code to work every time I haven’t always been sure how I was able to get it to work but that is definitely changing! Practice makes perfect! 

I’m feeling pretty good about git and the base of knowledge I have going into it and I’m sure whatever I don’t know I will learn tomorrow! 

Tonight was ladies night of code hosted by TIY! I attended and met a couple of recent alumni. Mostly it was very basic HTML with a touch of CSS and JavaScript. I mostly worked on supplemental assignments while everyone followed along. I made a lot of progress with my project but I also enjoyed being there. Maybe when I’m a little more confident I will do more talking with people. 

All in all nothing to crazy to report on today! Just busy learning. 

FlexBox and Responsiveness

The weekend seemed to drag on forever! I got a lot done in my personal life but honestly after I finished the weekend project I felt my weekend of coding was pretty much over. I kept in touch with some classmates over the weekend and was able to answer a couple questions. Unfortunately late last night a new lesson was released along with a pretty hefty supplemental assignment. If only it had all been released sooner! There was no way I was going to get it done before class this morning. I was able to get the lesson read first thing this morning so that I was able to attend the first of two reviews on the material held today. If not I would’ve had to wait to attend the review held during lab hours this afternoon.

Our in class assignments and daily project were all about mastering flex box layouts and responsive, mobile first web design. All in all pretty easy stuff. I may not understand fully how I’m going to style the page when I first dive into these projects but quickly I am able to break each task down and use all the tools I’ve learned plus Google to get the job done. Of course afterwards I look back and realize how much more neat and organized I could’ve made my code. My approach seems to be to get it to work first and clean it up later. Today’s exercises were extremely beneficial in mastering flex box since we were forced to reevaluate each layout choice upon specification of a different screen size i.e tablet, mobile or desktop.

I was also able to sit down with our Student Engagement person today. I had the chance to express some organization/material concerns which she seemed to already be aware of. Nevertheless she was kind and accommodating and promised they were getting the kinks worked out on their end. I have still had a few frustrating moments such as last night when new material was released so late but again I am pushing through. This risk is all about making the most out of it and I am sure I will continue to make it work for me the best way I know how.  Eye on the prize!