CS50 Lesson 2 (Arrays) and Lesson 3 (Algorithms)
It's nice to visit this with programming already under the belt. The first time I encountered arrays, it wasn't in a classroom setting, but while helping someone on a PHP project, and it was baffling. I didn't walk away understanding arrays that day, but after having gone through other exercises and drills, and especially seeing it in JavaScript, the familiarity helped me make sense of it.
Then CS50 Lesson 2 lets me see arrays through the eyes of 'C'. I found it interesting that you could attempt to retrieve a value at a higher index than the length of the array, and C would go poking around into other parts of memory to return a value.
For algorithms, I've heard about different sorting algorithms before, but never dug into an explanation. I really liked the way the class presented those options. And by giving the example of the binary sort, showing how those relate to big 'O' values. I have to admit, I didn't quite follow the 'O' vs 'omega' piece. One means 'at best' and one means 'at worst' (or something like that), but it wasn't clear to me how to calculate the distinction.
One thing I noticed when searching for CS50 lessons on youtube is that there are versions of the course from different years, and 2020 is notably in a virtual classroom. The instructor is still on stage in the auditorium, but when calling on students, we see a large grid of students in their homes looking at the webcam - just so odd. That said, I can hear their questions!