CS373 Fall 2020: Jonathan Randall

Jonathan Randall
3 min readOct 11, 2020

Howdy, folks! Welcome to the State Fair of Jonathan: Week of 5 Oct — 11 Oct. Summer is now a distant memory. Fall has fallen. Our Google calendars are steadily flipping forwards with increasing velocity and uniform acceleration.

What did you do this past week?

This week wasn’t so bad! I worked on some homework for QIS, thought long and hard about phase II of our project, and learned about optimization.

In this course, I enjoyed Jesse’s short lecture on security! His demonstration of code injection was interesting — I had heard of the technique, but never understood it. I hadn’t even considered security for our website — mostly because it’s static at this point, and our team is relying on React to due to the heavy lifting for us. However, these concepts and exploits are important to keep in mind.

What’s in your way?

Phase II of the project seems daunting! We have to clean up our code, figure out connections between our models, and tie together the janky front-end I worked on with the beautiful and elegant backend.

Also, the exam for this class is this week! I’m planning to retake some quizzes, go over the notes, and do some random HackerRank problems just to get used to the format.

What will you do next week?

I will work on an assignment for my data science class. We’re implementing Eigenfaces in Python (without any fancy libraries), which is a famous application of PCA — facial recognition — with a catchy name. It’s also very visual, which I find helpful in terms of understanding problems relevant to data science and machine learning.

I’ll meet with my lab group — we’re planning to talk about database search using quantum computation models. I learned about Grover’s Search in my FRI stream (and will learn again in QIS), and I’m interested in discussing with folks who haven’t gone through these courses and how they understand quantum computing.

If you read it, what did you think of The Open-Closed Principle?

I’m about to read it!

What was your experience of iterators, generators, and yield? (this question will vary, week to week)

Iterators — love them. Generators — can’t get enough of them. In fact, generators bring more to the table than I could ever take.

Yield? I’ve heard rumors about this keyword, but have never seen it in the wild. I need to research more use cases of yield and turning methods into generators before I feel comfortable using the concept in my own code.

What made you happy this week?

I learned about Frobenius’ coin problem. The last time I thought about a problem like this was elementary school.

It’s sort of a fun puzzle — given two denominations of coins, let’s say a 2 cent and 5 cent coin, what is the greatest amount of money g(2,5) I can’t make change for? For this example, it would be 3 cents.

Try to find a pattern for some arbitrary x cent and y cent coins. Can you find an expression for g(x,y)? Next, try for 3 coins, g(x,y,z).

I only learned about the math history of this problem because there is a different “Coin Problem” dealing with streams of coin flips and computing the majority, heads or tails, of the stream. For last Friday’s Theory Seminar, Sumegha Garg presented on this problem and discussed a new lower bound for solving this problem.

What’s your pick-of-the-week or tip-of-the-week?

My pick-of-the-week would be using Google Trends to connect your models. There are also APIs. You can see in what geographic regions certain search terms are the most popular, which is helpful for getting more information for your models.

--

--

Jonathan Randall
0 Followers

CS373 Fall 2020: Jonathan Randall