CS126 is like an extension to CS118. You'll still be using Java, but you'll be expected to implement data structures, and evaluate your code by noting down the time complexities of your functions. If you have done A-Level Computer Science, you should already some familiarity with most of the data structures you'll see in this module.
AVL Trees were (and still are) the bane of my existence. The insertion algorithm and the process of determining what rotations to use in what scenario made my head spin, but this visualisation really helped me to understand how the insertion process works.
I know, I can hear your sighs and groans, but hear me out. All LeetCode problems require you to utilise some data structure in a unique or unexpected way. They're a great way to get familiar with using data structures, and will help you write a good report for the coursework if you make a habit of writing explanations for your solutions. (P.S., don't worry about having the fastest solution or doing Hard problems, just doing Easy problems is okay)
The coursework isn't exactly something you can complete effectively in a day (despite what some people have tried). My suggestion would be to start on the planning first, referring to your specification closely. I would also highly recommend that you use the lab computers (In-person or remote) to ensure you're using the same Java version that the assessors will use.
Don't worry if you're not completely familiar with every data structure. The core exam content covers the more simple structures, and you can choose which of the more advanced data structures you want to be quizzed on in the optional portions.
This module covers important content for Computer Science, so I was sure to take it seriously. Unfortunately, the teaching for this module for the 23/24 cohort was quite disorganised. For example, there were many errors in the slides, and it was not clear whether or not the lecturer reviewed the slides before using them. Some speculate that the content is taken from a textbook, word for word.
The coursework is decent, I personally found it to be rather engaging and enjoyable. However, you don't have to use the most over-the-top, super-duper efficient data structures in order to get good performance marks. Some people did do this, yet lost marks for performance.
The exam, in short, was very poor, with some questions being worded incredibly poorly to the point of being impossible to understand. There was a clear lack of proof-reading or checking for this exam. This sentiment is shared with the majority of the cohort, as far as I know.