Sounds like you’re taking AP computer science principles. My short answer to your question: practice those skills by making the projects your teacher assigns. If you don’t do the work, you won’t know the concepts and skills regardless of any magic “zero to hero” sparknotes-style shortcuts.
Those are some of the most crucial concepts of the course. Whenever you write a series of instructions, like linking together blocks in scratch, you are writing an algorithm. Data structures (or data representation) refers to the different ways of expressing data and information when making programs; scratch has variables, which are single-units of data/info described as number, text, or strings. Scratch also has lists, which as the name implies it, contain multiple units of data and info (in any of the above forms mentioned). Binary to decimal conversion (and vice versa) is also a big part of data structures as binary and decimal bases are different ways of representing the same number (where binary melds with the high-low voltage signals of digital computing).
Python’s data structures are similar, but a little more specific: variables can be defined as integers (numbers w/our decimals), float (decimal) numbers, and strings (text, words, and sentences).
Again, this information is nice to know before applying them, but you will be doing yourself a disservice if you don’t practice their applications regularly in order to fully comprehend them.