I will be a CS student at a California CC in the fall and I am wondering if taking harder courses but getting a lower GPA as a result would be a better or worse idea than taking easy classes and getting a high GPA? On a similar note, would it be smart to offload my hardest classes off to the spring after I submit my transfer applications so that my lower GPA during that time would have less of an impact?
You need both to be admitted to a CS program. So slow down the pace, balance your schedule, etc.
A higher GPA in more rigorous courses is generally preferred.
While transfer admission to UCs is heavily GPA focused, and transfer admission to CSUs is almost entirely GPA focused if you meet the course requirements, it may not make the best impression on UC admission readers if you back-load most of your major prerequisites to the last semester before transfer so that the grades will not be available before transfer admission decisions.
In that case, when should I take my discrete structures and data structures class? I have heard that these are some of the hardest classes for computer science, so I am concerned that it will severely impact my grade.
If you want, you can preview data structures at https://datastructur.es/ and preview discrete math at https://www.eecs70.org/ to see how hard they might be for you.