Learning to Code: Week 14 – Stacks & Queues

August 11, 2016

  • Euler #4
    • Gave up looking for a more complex solution and just brute forced it assuming the runtime would still be sufficiently small.
    • Hand-written notes and logic. Needed a function just to reverse the integer and test if the same.
    • Store largest value in a variable.
    • Once done just print whatever value was found to be the largest.
    • My code here: https://gist.github.com/CraigRodrigues/2f5dee93078abf2ed5c456e200957048

August 12, 2016

  • Forgot to mention the new book I got: A Mind For Numbers.
  • Finished The Checklist Manifesto. How can I incorporate this into development? Unsure, but I am sure it will help with any type of team environment. Perhaps a list of steps to do before I tackle any problem?

image00

  • I got into the Rmotr course! Now to decide if I am capable of doing it. I don’t have much time to decide (Monday the 15th).
  • I missed the questions on OOP in the application, since I’ve never done it (and it’s not a topic covered in CS50). Will I be able to learn enough about it in time to be comfortable in the course? I was initially rejected because of it, but in asking about the course and application that was overridden since I guess I showed some kind of persistence. https://rmotr.com/apply/74aaae30-ec6f-4bb2-b27b-a945c9f18374/skills-assessment-answers
  • I asked the guys for resources I could use to learn OOP as well.
  • Also I am going to try and set up a call with them so I can really make sure this is a good fit for me and I won’t be starting at -1 when everyone else is at 11. I am willing to work hard and get it done though. Won’t say I’m not nervous though.

August 13, 2016

    • Call with Santiago went very well (one of the founders of Rmotr.com)
      • I felt very good and confident about the course during and after the call.
      • Santiago wanted me to just be comfortable about my decision.

 

  • So my current plan is to finish CS50 and learn OOP and some basic Python before the next session which starts October 10th.

 

August 14, 2016

August 15, 2016

  • “Many of my students have been asking questions lately about how to do technical interviews, so I’ve decided to write about my interviewing experiences.  I will start by giving a number of anecdotes because they’re interesting to everyone, but the later parts of this post are mainly targeted at prospective students who haven’t done any software developer interviews before. “
    • http://blog.robertelder.org/50-interviews-with-facebook-twitter-amazon-others/
    • “I had an interview where the interviewer asked “What is your favourite language?”.  My head wasn’t in the right place at the time, and I said “Latin”, and I went on to describe why I think Latin is such an interesting language.  He was of course talking about programming languages.  I didn’t get an offer.”
  • Went to Panera after work and watched CS50 Week 5 lecture #2 and part of Week 6 lecture #1.
  • Apparently Problem Set 5 will be the hardest one. Yay?
  • How do I get skilled enough to work on open source projects?
  • Mind expanding books

August 16,2016

  • Finished Week 6 Lecture #1 video
    • A tiny bit more on data structures like Binary Search Trees, Hash Tables and Tries
    • Mostly focused on how the web works with protocols, ports, packets, etc gearing up to learn HTML and CSS.

image01

August 17, 2016

  • CS50 Week 6: Section Videos
    • Stack (Data Structure)
      • Last in, first out (LIFO)
      • Can use arrays or linked lists
      • Push onto the stack
      • Pop off the stack
    • Queue
      • FIFO structure
      • Very similar to Stacks above
      • Array or Linked List
      • Enqueue (add to END) or Dequeue (remove elements from the FRONT)
      • It acts just like any other line
      • Size of queue plus the front of the queue is where you put the next element when enqueuing something.
      • To wrap around when you hit the end of the array size you can modulo  against the size of the array.
      • Linked list based queues are just a doubly linked like that keeps track of the head and tail of the list only.

image02

August 18 2016

This is how hacking occurs in real life: https://www.youtube.com/watch?v=u8qgehH3kEQ