A review of Bradfield’s algorithms course

Oz Nova
Bradfield
Published in
3 min readMay 27, 2020

--

Note from Oz: Carl Shan is a Senior Data Scientist at LinkedIn who recently completed our Problem Solving with Algorithms and Data Structures course. He was kind enough to send through this unsolicited, candid review of his experience, hoping that it might be useful to prospective students. It is reproduced verbatim below.

During March through May of this year, I took Bradfield’s Problem Solving with Algorithms and Data Structures Course. I’d like to share my honest reflections of the experience.

My background

I was a Statistics major in college and had taken a handful of introductory computer science classes. Yet most of my proficiency in programming came as a result of personal and professional practice.

I often felt like I had lacked some of the deeper, more theoretical, understandings that those formally educated in CS had. I had only a limited grasp of topics like queues, graphs, and dynamic programming.

I found Bradfield’s School of Computer Science when searching for courses that could supplement my knowledge.

My initial concerns

Before applying to the course, I had a few reservations.

For one, I had never heard of Bradfield before. Would it be worth the cost? Was the quality of instruction going to be good, especially if it was taught virtually?

Furthermore I had already self-studied some of these materials on my own before; would the course be challenging enough?

At the end of the day, I thought the risk would be worth it and decided to give it a shot.

What was it like?

There were close to ten students in the class, most of them professional software engineers from various tech companies. Many of the other students were, like me, never formally educated in computer science. Some were coding bootcamp graduates who now wanted to shore up their knowledge. Others were self-taught. A small number who had studied CS in college were taking the class because they had forgotten their undergraduate learnings.

The class was taught twice a week over Zoom by Elliott Jin. Each learning session lasted nearly three hours and took place after work hours.

I had initially thought that classes would feel similarly to college: perhaps a lecture or presentation, followed by some demonstrations and homework.

Instead, it turned out that each class mostly felt like a collaborative problem-solving exercise. Elliot would expect us to have done the readings sent out ahead of time, and then offer a number of problems for all the students to solve together. He would gently nudge us in the right direction by offering hints when we were stuck.

Many of the problems we worked on in class and for homework were challenging problems such as those found in coding interviews.

Carl Shan, Senior Data Scientist at LinkedIn

Was it worth it?

Absolutely.

When the course concluded, I got up from my chair, went straight to my partner and gushed to her about how much I enjoyed the class. I genuinely think this was one of the best educational experiences of my life.

Elliott is an incredible teacher. He helped me deeply understand many aspects of algorithmic complexity that I only had a surface-level understanding of prior.

He was tireless, constantly available to answer questions on Slack and on the call. He stayed on late way past the official ending of class time to continue to teach and share for those who wanted to stick around. No matter how difficult the problem, he could find ways to give examples or draw pictures that broke it down simply for everyone to understand.

Through the class I learned a great deal about topics like Dijkstra’s algorithm, binary heaps, deques or dynamic programming. But beyond that, the most important things I took away were the problem-solving techniques Elliott introduced for tackling various algorithmic problems.

He also shared coding interview advice, told entertaining stories on certain data structures and was also an incredibly encouraging and affirming teacher.

I actually learned so much that I’ve actually started to recently share some of the lessons and exercises with friends who are going through software interviews. Through these practice sessions with friends, I’ve been astonished at how much I’ve grown, as I’m now able to coherently explain and solve problems that stumped me just weeks before.

I’m likely going to come back and take other Bradfield courses, especially if they’ll be taught by Elliott.

--

--