Basic Expression Workshop, NoSleepCreative
the best way to learn expressions is to use them consistently with your projects. I hope you like math hahaha; it helps. Personally, I think that coding has an affinity with people who like math and organization
Here is my recommended learning path:
Not necessarily, while a foundation in JSX helps, you can easily learn that as you are learning expressions. I often refer to w3schools to look the the functions documentation. There are a lot of them but you only need a handful eg. variables, arrays, string, operators, loops, conditional, function, math, or random. If you can understand these concepts, writing expressions can be a breeze.
Absolutely NO. You do not have to be good, you just need to know the important ones (eg. Ignore Scale inheritance from Parent). Most of my master-studies tutorials (with the exception of Ordinary Folk's ones) uses basic expression to do make things look "complex". Here are some examples:
Flatwhite Motion wOo video: uses single expression of valueAtTime
Flatwhite Motion Aicy Flying Orb: uses a detailed wiggle function
Creativity by Jose Pena 32-36s: uses "Ignore scale rom parent"
Your main goal when learning expressions is not mastery but fluency and comprehension. Just like learning a foreign language, the goal is not spew out fanciful words but rather to understand and communicate with one another. In our context, we want to be able to read expression code or algorithms, understand their functions, and modify them. You may not necessarily write intricate functions yourselves, but you can at least know how to source expressions online and utilize them for your projects, or communicate to a more code-savvy artist what you are trying to develop.
Not really, I would say there is the School of Motion's Expression course but I never taken it before. I actually got better at expressions when I was learning scripting instead. Maybe you can give that a try.
Personally, I really enjoyed Mathematics, it was my strongest and favorite subject in school. I love solving riddle and discovering patterns and that is how I see expressions: They are just are fun riddles. Usually I would get an idea about an expression to animate or design something, and I would spend lots of time and effort figuring it out even if I was not going to use for any current projects. Sometimes, I am unable to sleep because i'm thinking of coding ideas. Hence, fun is an element when it comes to learning!
There are just way too many expressions to write or remember, that is why I have this wiki site to house everything. I recommend anyone who want to get good at expression to start their own wiki page and curate your own code snippets you found or wrote yourself. You can use Gitbook like me or Google Sheets like JR Canesto.
When I first started, I would type out expressions from tutorial and avoid copying and pasting. Even if I do not understand what I am typing, I am building the coding ability into my subconscious.
I sensed that people think that writing long lines of complex expression code will yield amazing animation and design. In truth, that is not the case. The adage "Less is More" still applies when it comes to programming and coding. What we should aim for instead when writing expressions (or anything actually) is Profound Simplicity (James Clear) or Informed Simplicity (architect Matthew Frederick) .
Basically, Everything should be made as simple as possible, but no simpler (Albert Einstein).