Ask HN: What skills as a CS student should I focus on this summer?
I've started my journey into CS, and I wanted to humbly tap into the collective knowledge and wisdom of HN. (I've seen other people ask questions similar to mine, and I've been repeatedly blown away at the quality and depth of the responses; it's wonderful to see.)
I recently completed the first semester of a four-semester diploma program in software development. I'm a mature student, in my mid-30s, and I went back to school because I've always loved technology, and because problem-solving through programming is deeply appealing to me. (Some of what I've read on HN pushed me to this career path, too.)
This summer, I want to focus on learning fundamental skills -- mostly technical, but I'm more than open to soft skills, too -- that will contribute to my success in this program and for my career. However, the amount of stuff out there combined with my inexperience has left me rather overwhelmed. It's difficult knowing where to start.
I'd love your feedback on where a novice like me can best focus his efforts. I have a few questions below, but I guess part of my problem is not knowing exactly what to ask other than: what skills, ideas, concepts, or knowledge should I spend my time on?
(For some context, my education background is in English Literature. I don't have a lengthly or particularly strong background in math or STEM. We ARE learning mathematics for computing and discrete math in our program.)
* Some questions *
-- In our first semester, we used Python as a gateway language to learn computational thinking and problem-solving. I like Python and want to continue with it, but because we're learning C next semester, and because I want to broaden my skills, I started learning C on my own by way of _C Programming: A Modern Approach_, by K. N. King (A fantastic read, btw). An instructor suggested doing both is fine. Do you agree? Or would it be better to focus on just one language?
-- It seems to me that algorithms and data structures are foundational skills worth focusing on. Would you agree? If so, what one, two, or three books would you consider (a) required reading and/or (b) excellent for beginners? What else in this space would help?
-- More generally, what top three to five skills, ideas, concepts, etc. should I be spending time on?
-- Any other recommendations / advice / suggestions / words of wisdom?
Thank you for considering my inquiry. I'm deeply grateful for any input you may have!