## DEV Community

Daniel Diaz

Posted on • Originally published at danidiaztech.com

# My Learning list for 2023: Plan and Resources ๐

Hi, this post was originally posted at DaniDiazTech.com

It's January 21st, 2023. The AI apocalypse has just started, and the
transition to a robot-dominated society is upcoming. We've to get prepared.

Jokes aside, the only way to not be replaced by a bot now, is to keep
learning, be as creative as possible, and attempt to be a good and healthy human being.

Here's all the stuff I'll do my best to learn this year.

## 1. Hardcore Problem Solving ๐

I've struggled to level up my rating on Codeforces.
But as some friends in my university's CP group advised me since I started,
the key thing is to learn rather than to grind some insignificant rating.

This year, I'll solve all the core problems available on CSES. I'm halfway
through the dynamic programming section. This involves learning graph algorithms, range queries (mainly segment tree problems),

I've found some really cool resources on CP:

The whole idea of this madness is to classify and perform well in the Latin ICPC Latin America contest.

## 2. Calculus and Linear Algebra ๐งฎ

Really? Calculus in the 21st century?

Yeah! Aside from the fact that I must master (differential, integral, and vector) calculus to thrive in my computer engineering degree,
I think calculus is one of the most creative things you can learn.

From an engineering perspective, calculus and linear algebra help us to solve many problems and it's the foundation of machine learning,
which is something I've been recently interested in.

I also believe it can be helpful when solving competitive programming problems. Not particularly applying an integration method,
but in being fast in math reasoning, and intuition.

For now, I'll go with the only way of learning I've found effective: Doing loads of exercises and
continuously learning from the mistakes I make. However, I know for a fact that math is also about demonstrations,
and theoretically understanding hard concepts.

I'll happily read Calculus: Early Transcendentals by James Stewart. I bought it a while ago
and only made it through a couple of chapters. Also, learning Numpy or SciPy would be a cool way to improve both,
my theoretical and practical knowledge of linear algebra.

## 3. Astro Framework ๐

I built my entire site with Astro โ and some React components.
I loved the whole development process, and they have one of the best documentation I've ever seen.
On top of that, server-side rendering improves the performance in absurd ways, just see the
Lighthouse score of my site.

The Astro devs have just announced the Astro 2.0 beta release!

## 4. FastAPI and React โก

FastAPI has recently surpassed Django in monthly downloads. I know this is not an
accurate stat to measure the popularity of a framework, but I will give FastAPI a try.

Because FastAPI is only useful when building APIs (shocking, right?),
my UI framework of choice is React. I think React is going nowhere.

These two will be my main technologies of choice when building
web applications for this year.

There are already some good tutorials combining FastAPI and React:

I know, this isn't a complete stack, but I'll figure out things as I
build projects โ which I think it's the best way to learn.

## Wrapping up ๐ง

I have only 344 days to learn all the stuff above, so
I only included the core knowledge, that I want to