C is great for a course on computer architecture. C helps you understand how variables and procedures map to stack frames, how segments map to local and global variables, and how it's all data (i.e., machine code). But it's decidedly not a great first language. Learning linked lists, sort algorithms, memory allocation, etc. in C is for many students a traumatic experience. Far better to introduce these concepts in Python, JavaScript, or C# and then lower them to C.