I&#x27;m currently at uni studying CS and recently finished my &#x27;Programming in C&#x27; unit. The teacher from the get-go said it would be challenging compared to other languages that we had used to date (mainly Java) and that quite a few students struggle with it.  Once I got my head around pointers and debugging through GBD&#x2F;Valgrind the unit came immensely enjoyable and rewarding.<p>We didn&#x27;t use any fancy IDE&#x27;s and were told to stick to VIM, we also had to compile with the flags -ansi -Wall -pedantic which alerted you to not only errors but warnings when we compiled our code if it didn&#x27;t meet the C90 (I think) standards. It was a lot of work crammed into 13 weeks but it had one assignment which I thoroughly enjoyed.<p>Tic Tac Toe (Ramming home using pointers, 2D arrays, bubble sort for the Scoreboard).<p>Debugging a bug-riddled program (My favourite).<p>Word Sorter (Using dynamic memory structures, memory management by having no leaks, etc).<p>The debugging one was very different from most other assignments I had done at uni to date and the teacher said he recently introduced this assignment because the university had received feedback that students debugging skills weren&#x27;t the greatest. They could write what they were asked to just fine, but when it came to debugging preexisting issues quite a few struggled. We got given a program with around 15 bugs and you got marks depending on what was causing the bug and a valid solution to fix it. This forced us to use tools such as GBD and Valgrind to step through the program and see where the issue was and to be much more methodical.<p>I really enjoyed C and when I find a bit of time outside of work and study I&#x27;d like to explore it more.