Course codes are unique codes that are used for each course. Most small to medium sized organizations use very simple code systems. Class codes are unique codes that are used for each class (within a time period). Class codes are built from Course codes.
Imagine you are teaching English. You might teach it 3x per term or multiple times each year, but it's the same English offering every time with the same title and description and code. The course could be coded ENG101 or something similar. If you had a different/more advanced English course, that might be coded ENG102, a less advanced English course might be coded ENG100. Each of these courses would have a unique title and description.
Now imagine you are offering this English 101 course (ENG101) 3x in one time period. The class codes might be ENG101.1, ENG101.2 and ENG101.3 (or similar--just no spaces or special characters). You could use the exact same class codes every time period or you could make them different / extensions of the previous ones (ENG101.4, ENG101.5, ENG101.6).
You have a lot of flexibility when creating Course and Class codes, but that doesn’t mean that you should make this complicated. Just don’t use spaces, special characters or duplicate Course codes (within your ASAP system) or Class codes (within a time period) and you’re set!