August 11, 2016
- Two more classes I’m looking into taking, both Python.
- 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
Project Euler #4 - Largest Palindrome Product
bool isPalindrome(int num);
int max = 0;
for (int i = 999; i >= 100; i--)
for (int j = i; j >= 100; j--)
num = i*j;
if (isPalindrome(num) && num > max)
max = num;
bool isPalindrome(int num)
int reverse = 0;
int n = num;
while (n != 0)
reverse *= 10;
reverse += n%10;
n /= 10;
if (reverse == num)
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?
- 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.
- Start Oct 10 and commit 30 hours a week.
- There is a live OOP class Aug 29th with Rmotr that I can drop-in on, and I will.
- Decorators course video: https://www.youtube.com/watch?v=U67HEasos5g
- Examples of some projects covered in the course Santiago sent to me:
August 14, 2016
- Python resources to read:
- A Byte of Python
- Automate the Boring Stuff
- The Hitchhiker’s Guide to Python
- Python Practice Book
- Think Python: How to Think Like a Computer Scientist
- Dive Into Python 3
- Intermediate Python
- Python Cookbook
- Functional Programming in Python
- HackerRank has Project Euler built into it. I no longer really need to just do it through the IDE alone.
- Solved Problem 1 again. They changed it up a bit from the original question. It requires you to be able to put in any input number and now requires use of larger integer data types (unsigned long long).
- Also to cut down on the runtime (it would fail you for taking too long) you needed to know the formula for calculating the sum of the multiples of 3 and 5.
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. “
- “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
- 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.
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
- 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.
- Stack (Data Structure)
- I’m excited to get into these data structures finally when it comes to coding them. I can finally see where I can finally touch some things developers do daily (even if it’s the slightest of touches).
- PSET 5 Walkthrough for reference later: https://www.youtube.com/watch?v=BBtMS8G0QbM
- CS50 Puzzle Day videos: https://www.youtube.com/watch?v=iZCJ9tlYYBQ&list=PLhQjrBD2T3800qy4mK16nSThBr-_8J1Bb
- I’ll probably buy this Humble Bundle: https://www.humblebundle.com/books/joy-of-coding-book-bundle
- P.S. I bought it. Woo! 💸
August 18 2016
- CS50 Week 6: Section Videos (continued)
- Hash Tables
- Hash functions
- Dealing with collisions
- Linear probing
- Arrays + Linked Lists = win
- Hash Tables
- Reddit: I began teaching myself to code a year ago. I got hired at my first job 4 months ago. Here is a breakdown of somethings I was not ready for (FYI job is remote ruby/rails dev)
- What Great Listeners Actually Do
This is how hacking occurs in real life: https://www.youtube.com/watch?v=u8qgehH3kEQ