What's more is that my degree wasn't the most rigorous and in fact taught a couple of subjects pretty weakly. I saw community college courses that would have given me a better grounding in core subjects (eg data structures).
I have a few months free in which I'd like to do something that addresses these twin issues. Bonus points if it makes me more employable. I see other people's resumes full of amazing looking side projects which are both technically challenging and look absorbing to work on, but the best ideas I have these days are the same cookie cutter full stack project ideas that you see around the internet.
I guess I'm wondering if anyone here has faced this issue and/or can suggest anything. I'm talking textbooks, project ideas, anything. Some things I've thought of:
* Invest in contributing to an open source project - not sure how to pick the right one though * Work through nand2tetris - unfortunately looks like a lot of overlap with my Architecture course, but especially the later projects look cool, and it's almost universally praised for being interesting * Pick a textbook/topic from https://teachyourselfcs.com/ to work through - so much analysis paralysis here though * Write my own versions of some lower level tools using C/Rust/Go/Java - something like https://github.com/danistefanovic/build-your-own-x - I enjoyed the classic 'write your own shell in C' assignment, but again seems fairly uninspired
Your list of possible directions exemplifies the diversity in topics that are all exciting to some people, but are meanwhile completely uninteresting to the average person off the street. In fact, the same person who can't stop thinking about A doesn't necessarily like B even if they're next to each other on your list. In this post you're looking for someone to tell you something to feel that passion about, but honestly: good, actionable advice would require the advice giver to know you personally and understand what sorts of things would have that sort of pull for you. Any specific answers to this question from strangers will be shots in the dark.
So with that, is there anyone among your close friends and family who you could pose this question to? If so, that should be your next step. If not, you've got the tougher challenge of asking yourself. Why do you want to address either of the problems you've outlined? What is captivating to you? These are very personal questions and deciding "none of the above" is perfectly valid as well, you might just need a break from CS. And that break can be indefinite or even permanent. Fortunately it's clear that you're introspective here and that will be an asset in figuring things out.
If it would help in any way, feel free to reach out directly and I'd be happy to chat. I just made sure my profile here points to contact information.
A lot of the classic books in the Scheme world, I think, are really enjoyable, besides being highly edifying. SICP, The Little Schemer (and sundry sequels), Essentials of Programming Languages.
Browsing through The Jargon File has routinely been energizing for me, but admittedly a lot of the content is pretty antiquated, and I might be among the last generation of programmers who can reasonably identify with the book.
It might look superficially boring, but Don Knuth's Art of Computer Programming is really engaging.
The Inmates are Running the Asylum might inspire toward building some highly usable software.
Do not mistake programming for money (pay) for Computer Science. Very few jobs will ask you to exercise your Computer Science chops. They want you for your fluency in their take on coding norms, which often is driven in syntactic compliance and groupthink.
BTW Group work is possibly the most important skill you may not have learned adequately in college. In the real world (pay) being able to be a human SORRY HELLO FELLOW HUMAN HOW IS YOUR MEAT SACK. MINE IS VERY FINE is sometimes more important than being able to code.
Can you look at projects you did before getting the CS degree and improve upon them with what you have learnt in CS ? e.g. if you had designed a game , can you look at making it more scalable or more resource efficient etc? It's a bit like looking at paintings you did before taking a painting course and then going back and improving the earlier ones. Good luck!