Week 10

Wow, a double-digit week number feels pretty surreal. This week has been, I can’t lie, very stressful. All those earlier weeks where I thought “wow, this isn’t so difficult” are coming back to bite me.

This was the first week of our capstone projects. We were assigned teams of 3 and 4, and we spent Monday and Tuesday brainstorming projects. My group, and every group I think, struggled with this. It is hard to come up with something interesting yet doable, something that feels fresh and exciting but that is also, at its core, just a website. I think my group got bogged down by trying to come up with something that absolutely no one had ever done before. Ultimately we decided to build a meal planner application that will suggest recipe pairings  to the user and generate a weekly shopping list. It’s been done, but we’re going to do it again, hopefully with our own personal twists.

Once we had an idea, we had the additional roadblock of trying to use a new framework. React is becoming an extremely common alternative to Angular, and we initially planned to use it for our project. This resulted in us losing all of Wednesday to powering through React tutorials, trying to get the barebones of our application set up, realizing the instructors and TAs couldn’t really help us with our React problems, and ultimately deciding to stick with Angular. That was frustrating.

Anyway, now we are up and running, and moving right along. The site, in its early stages, is deployed at dishd.us, and will be updated continuously as we work on it (as of publication I think it is just the boilerplate Fullstack website that we are all allowed to use to start off).

Week 8


Above: Ben, the office pup, distracting me from a lecture.

Just in time, here’s my Week 8 Post! We have now officially entered Senior Phase, which is much less structured. So this blog post will be less/differently structured to match.

Senior Phase 

Junior phase followed a daily pattern of lecture -> workshop -> review -> lecture -> workshop -> review. The workshops were very scaffolded and, based on the lectures, we knew pretty much exactly what to expect. The longest workshop would be about 6 hours.

Senior phase is much more open ended. There are only three large projects in senior phase, and we are given basically the entire day to work on them uninterrupted. Although there are still lectures and scaffolding (at times, more than I would like), it has been great to get really invested in a project, make a plan for it, and see it through without step-by-step instructions. On the whole I have felt much more relaxed and engaged.

We also start each day in senior phase with REACTO, a daily white-boarding practice. We are given an algorithm problem, and take turns pretending to “interview” each other, while the other person solves the problem on a whiteboard without the help of a computer. This is a crucial interview skill and has been pretty fun so far, although I’m hoping for some tougher problems!

The Project

This week we are all working on the same project, which is affectionately named “Grace Shopper.” We have been instructed to make an online shopping website (we can be “selling” anything) that allows users to browse, create an account, log in, add items to their cart, and checkout. It is a very thorough review of everything we learned in junior phase, from databases to front-end design.

We were assigned teams of 3-4, and I got lucky with mine. We have been getting along great and working very well together. We have decided to pair program, swapping partners every day or so. Even though that seems like it would cut our woman power in half, it has ended up being very efficient, since we keep each other focused and catch each other’s mistakes, usually, before they spiral out of control. We have decided to make a fake online farmers market, since one of our teammates lives on a farm in New Jersey and has tons of beautiful photos. Look out for the finished project here soon — it is due Wednesday!

Key Takeaway 

By far the most essential thing I have learned this week is Git, a system that allows multiple people to work on the same project, track changes, and merge different branches of work together. As you can imagine, this gets pretty complicated, and I have started to understand some more advanced techniques so that I don’t have to freak out right away when I get an error message. This is a pretty big life skill for a programmer, so I’m glad to be building it now.

 

Goals for Review Week

Week 7 at Grace Hopper is Review Week, a time to take a few assessments and independently study anything that might be useful for the upcoming project phase. This is my to-do list to keep myself on track!

UPDATE: Looking back after the end of review week, here’s how I did.

  1. Complete the ES6 Codeschool course
  2. Brainstorm million-dollar web app ideas
  3. Get to 4 kyu on codewars
  4. Venture above 45th street
  5. Make a Chrome web extenstion
  6. Watch some videos of old Grace Hopper tech talks and come up with a good topic
  7. Blog about how easy and beautiful it is to make a search bar in Angular I decided to write about the beauty of ES6 instead 

Week 6


What we learned/did

  • We finished up Juke this week, which was our 5-part angular workshop. It was a relief to be done with it, but then I ended up redoing most of it on my own time.  We had an assessment about Angular on Friday, and redoing the workshop was a very good way to study. Plus everything makes way more sense the second time you see it. The assessment itself was (don’t hate me, any fellow classmates who might be reading this) pretty fun. It’s nice to break out of the pair programming routine now and then and just spend a couple silent hours really focusing on your work. Plus, I love Angular, as you might have guessed if you’ve been keeping up with my blog.
  • We also briefly explored web authentication, which is one of those really huge things that I never would have thought to learn on my own. I now know how to make a website that you can log in to, which has become pretty essential. And that thing where it says “log in with google”? Yeah, I can do that too.

My favorite parts

  • We had a pretty fun Harry Potter themed cyber security workshop called ‘Defense Against the Dark Arts. I find that even (especially?) as an adult, Harry Potter references really help me focus.
  • I have also gotten more serious about algorithm practice on my own. There is a prize for anyone who can reach level 4 on codewars by the start of senior phase, so I’ve been working on some trickier problems. I’ve also been attempting to write out code by hand and test it on paper before trying it on the computer, which is very useful and also very very frustrating.

Code and the city

  • I’ve escaped the city for the long weekend (see trees below) and the fresh air and unobstructed views of the horizon are pretty nice. But New York was also quite nice this week, weather wise, and I’ve found a few spots next to raised gardens where, if you crouch down and ignore your peripheral vision, you can make yourself believe that you are surrounded by nature, which helps with the sanity.
  • I’ve had a lot of really excellent falafel this week, mostly from the Halal truck parked tantalizingly between my gym and Grace Hopper, exuding the smell equivalent of siren song, but also from Roti, which I pass by all the time but tried for the first time this week and highhhhhly recommend.

My overall thoughts/opinions

  • I can’t believe junior phase is over! Looking back, I have learned so much, a lot of which I would never have taught myself. We have learned to connect databases, server-side code, and code for the browser through http and AJAX requests. We have been exposed to a vast number of npm libraries and dived deeply into a handful of them. That said, I am very excited for senior/project phase, where I can use more of my own creativity and problem solving abilities. I’m looking for some project ideas, so if you have any, please send them along!

Week 5


What we learned/did

  • This past week was unique in that we focused exclusively on learning a single technology, and we practiced it through a single workshop that lasted all five days. The focus was Angular.js, the final element of the ‘SEAN’ (Sequelize, Express, Angular, Node) stack taught at Grace Hopper. To put it simply, Angular is magic. To put it a little less simply, it is a front-end framework that you can use to make websites interactive in a MUCH more elegant way than JQuery. Beyond that, using Angular adds a lot of structure to your code, naturally dividing it into small, single-purpose and manageable parts that are easy to read and follow. One of my biggest complaints up until this week was that we were not learning how to structure our projects in a logical way, but working in Angular for just one week has given me a very good sense of how to divide things in a way that makes sense.

My favorite parts

  • Well, I  guess I just gushed about Angular for a paragraph already, but I can keep going. There was this one moment when we had written out code for an entire workshop using some pretty complicated event emitters, and then the next day we learned how to use states in Angular. We went in and refactored everything, and we got rid of all the confusing stuff. Our code ended up being about half as long and way prettier. It was this satisfying:
    gif
    Also, we had a very cool CS Saturday workshop about cryptography. I can now tell you all about why large prime numbers are useful in encryption, as long as you don’t know anything about it yourself.

Code and the city

  • There were a couple of days this week that weren’t oppressively hot, which was pretty great. I went for a walk across the Brooklyn Bridge with one of my classmates and saw some pretty incredible views of the city (and a ton of great views of people taking pictures of the city). We also had our weekly learning team lunch on the Elevated Acre, a very pleasant park made of Astroturf which is, in New York, considered to be a form of nature.

My overall thoughts/opinions

  • Yay Angular! I can’t believe we only have one week left of junior phase, it’s such a blur!

Week 4

 What we learned/did

  • This week we returned to the front end side of web development. Instead of writing code for the server, as we have been doing almost exclusively for the past few weeks, we began writing for the browser. This is, in a sense, a simpler task, since JavaScript was originally designed to be a front end language. On top of that, all of my experience prior to Grace Hopper was with writing front end code, so I was definitely feeling more in my element.
  • We completed our first multi-day workshop this week. It involved building a trip planner website over the course of 3 days. On the first day, we designed the look of the page using HTML and SCSS (basically a similar but better version of CSS, I wish we had spent a bit more time on it, and will try to remember to study it more on my own time). On the second day, we made the site interactive using JQuery, and on the third day we made the data on the site persistent (still there when you refresh the page) by hooking it up to a database in the back end through AJAX. We were assigned different partners for each day of the workshop, and instead of keeping our own code from day to day, each day had a “starting point” written by an instructor that we were supposed to build off of. For me, this was pretty frustrating, not only because I never got to see my own work through to the end, but also because it can be very difficult to understand code written by someone else. However, as frustrating as this is, reading other people’s code is an important skill to have as a developer, since many jobs require you to build off of projects written by someone else.

My favorite parts

  • I had a bit of an “aha” moment with Friday’s lecture on AJAX. In short, AJAX allows you to make little mini-requests to the server so you can get new  information without having to redirect to an entirely new page. It’s the glue that holds it all together, and it’s pretty great.

Code and the city

  • At the moment I really have nothing good to say about New York in the summer, except the subway stations are basically free saunas, and walking down the street is like visiting a very informative multi-sensory exhibit of urine from different species of mammal. Also, the financial district has some pretty epic views of the water (for real, see above).

My overall thoughts/opinions

  • Overall, this was a tough week. There seemed to be a general drop in morale amongst the students. For me this was because some of the lectures felt repetitive, in particular the ones about CSS and JQuery which we covered extensively in foundations, and because of the general un-funness of the workshop that I mentioned above. Still, it went by fast, and feel like I know a lot more than I did a week ago. I’m looking forward to next week and to learning Angular.js, which is essentially better JQuery.

Week 3

tessel hackathon project

Our prizewinning project for the Tessel hackathon

What we learned/did

  • Most of the week was dedicated to understanding promises, a structure that allows you to write readable code for handling asynchronous operations. Without promises, it’s very easy to get lost in a sea of abandoned brackets and semicolons whenever you’re trying to get the computer to do multiple things that take time, like connect to a server or database, and you need to wait for those things to happen before you can do something else. Promises make it way cleaner and easier to read (and apparently faster to process?) but are also a bit tricky to wrap your head around at first, so it’s good we had a full week of introduction to it.
  • We also did a couple of projects using sequelize, which is a library that is built on promises and allows you to query a database without using SQL (just when I was on a roll)
  • Lastly, we had a test on friday to see how we were doing on sequelize and express. I actually enjoyed it, spending two hours silently coding on my own was, in a way, a good change of pace from pair programming, and it was good to be able to see what I could do without help.

My favorite parts

  • On Friday afternoon, we had a tessel hackathon with the Fullstack Academy students. I’m proud to say that my group took home the ‘most creative’ prize for building a machine that could sense an awkward silence and play cricket noises, wave a ‘well this is awkward’ flag, and text you a conversation starter. I’m especially proud of this considering that the other two winning teams were all men, and my team was all women.

Code and the city

  • I figured out the metro card thing. You have to keep it in your wallet and not let it rattle around in your bag with your loose change. Still though, MTA, if you’re reading this, you need to get over this whole magnetic strip thing, it’s 2016.
  • I’m about to go above 14th street for the first time since living here. Wish me luck as I enter the grid.

My overall thoughts/opinions

  • This was a pretty fun week! I learned a lot and I also had some really good partners that made it go by quickly. It kind of felt like one long day with naps in the middle.