Hi Mike.
I'm curious to see if anyone else can make this work. Here are my thoughts without diving to far.
On the user's All Courses page, the course code doesn't seem available in the DOM. Using API calls to get all the enrollments for that page, a script could be written to replace or add columns to that page.
$.getJSON('/api/v1/users/self/enrollments', r => console.log(r))
On the Admin Course Search, I think this would require additional parameters in the DOM or a custom LTI all together. The Developer Tools/Network Tab shows me that course_code is in the XHR API response, but there's no way to access that data after it's returned and we didn't make that call.
However, there's a lot to be said for naming conventions and regular expressions. For instance, an SIS course generated in our custom integration has plenty of details for multiple purposes. Here's an example
English 11 - S1 -- P02 - LASTNAME, F | 10600AB1-1112 - FAL18
and it's course code
English 11 - S1 - P02
But we also auto generate some other courses and enrollments, like Workrooms and school Conference rooms, which are courses for collaboration at each school or department, not grading. These are prefixed with WORKROOM and CONF, and can be matched programmatically with something like courseName.match(/^WORKROOM/i)
Using Regular Expressions, we do fancy things like break up the All Courses into table groups.

Obviously, if it's in the course name, you might not need a new column, but we're here to discuss. :smileygrin: