Ok, what would you consider a nontrivial project?
My second C class went into mutexes and things (producers & consumers of some data)
My third class that used C had kernel modules. Our kernel module project was to write a model of a parking lot. There was some user code that called our module saying whether it was a normal vehicle, a handicap vehicle, or an emergency vehicle. The parking lot also had 2 states, emergency or normal. In an emergency, only emergency vehicles could come in, everything else was rejected. The code ran with M floors and N parking spaces per floor, and returned the lowest floor in which you could park.
We also wrote an identical piece of userspace code, and compared how fast each performed.