Congratulations on getting through the challenge! I can see a lot of clear growth and improvement over the set, and I can see that you've worked very hard to adhere to the concepts covered in the instructions. As a whole, it's very clear to me that you're headed in the right direction, but there are some points I wanted to call out, just to make you aware of certain kinds of hiccups you may run into. Some of these may be things you already realized on your own (since I'll be picking from across the set), but it's still worth putting them to words.

I can definitely see over the course of the first page, that you were trying pretty hard to get your head around how the different textural forms existed on the surface of your objects, and how you could pin them down accurately without relying on strict outlines. In some cases, your chosen textures didn't really help much in this regard - for example, I'd say the sea foam was especially challenging. Since we rely very heavily on cast shadows, working with transparent material (the foam itself isn't exactly transparent, but still) would definitely have been a struggle. In this case, it resulted in you focusing less on actual forms (because they weren't really present) and instead filling in the negative spaces between areas of foam. It's certainly one approach to this kind of problem, but it did stray from the focus of the exercise being on cast shadows.

Into your second page, you start really nailing the complexity of your textures while continuing to work with cast shadow shapes. One thing that caught my eye however was how you shifted more towards the sparser end of the texture gradient for the fish scales. Here you opted to draw the bit of shadow in front of the leading edge of each scale - instead, as explained in the bottom right of this diagram, the shadows that get caught in the cracks where textural forms meet are the ones that will generally last the longest, with the leading edges getting blasted away much sooner. Always try to find the V and Y shaped shadows in such textures.

Looking at number 7, I really liked how you approached dealing with the dark side of the gradient - you pushed the darks right up towards the middle of the gradient, allowing for a more gradual overall transition from dark to light. This is definitely something you did struggle with in some other textures, where you'd stick to a super dark right side, but then jump quite suddenly into the middle-density, creating a bit of a jarring transition there before moving smoothly to the lighter, sparser stuff. This appears to be something you continue struggling with up until the end - it's probably the biggest issue to really keep focusing on. Remember that the big advantage to the fact that we deal in cast shadows is that they are entirely flexible, and subject to how we choose to change the light source in our drawings. If we want, we can always say that one end is going to be in darkness, and so the cast shadows leading into that area will steadily expand, merging with neighbouring shadows and creating big solid pools of black. This expansion can be gradual - with the shadows getting deeper and spreading further as we move to the right. The key is to always think about how the cast shadows themselves aren't filling some predefined negative space. Looking at number 23, here you fell into the trap of filling in the spaces between the cells. Filling in the negative space like this is itself limiting - so always focus instead on cast shadows, and allow them to overlap other forms if that's what you require.

The diagram I linked above addresses this issue as well.

The last one I wanted to call out was just a very minor slip up in the ice cream cone texture (number 18). My understanding of this texture is that you've got a raised grid, and indented squares in between, and so the ridges are casting shadows into the squares. The issue here is that you've got those shadows being cast in the wrong direction. Since our gradient relies on light, with the light source being most strongly on the right side of the gradient, that basically means that our cast shadows would be primarily cast most strongly towards the right. Here you've got them getting heavier on the left-most edge of each ridge.

So! I hope that analysis has helped point out a few things you perhaps didn't notice. Either way, you are definitely showing a great deal of progress. I'll go ahead and mark this challenge as complete. Keep up the great work!