Starting Out
Dale Reed (left) with Joel (right)
We all have to start somewhere.
When I took my first computer class I had never touched a computer before, and I was lost. I would follow the written instructions for editing and running a program, but it really didn't make sense to me. Another guy in the department, Joel, gave me a lot of help, patiently explaining ideas. I was at an event recently and Joel was there, so I had the chance to thank him again.
An alternate career path
https://commons.wikimedia.org/wiki/File:Man_in_filled_sewer.jpg
I think I would seriously not have made it as a CS major without Joel's help at the beginning. I went on to major in CS, work in the field and get my Masters and Ph.D. degrees. Without Joel my career might have all ended up very differently:
You know that feeling in class when you feel like everyone else in the room knows what is going on, but you don't? Often that happens when other people have a lot more experience than you do. There is even a name for this: "preparatory privilege." That's when it seems like others are "smarter," but really it is just that they have more preparation.
So, hang in there. Stick with it. Ask questions. Form a study group. Have no shame and ask all your questions. Get your money's worth. Press in and figure it out. Be patient. You too can get there!
Recently I was talking with a previous student, who now works at Google. She had been going through her early journal entries made when she was starting out as a CS student at UIC. Here are a few of them from when she took CS 141 with me at UIC:
Describing the above post, she writes: "we had to ... find words in a 4x4 array - basically two for loops."
This is one of her posts where she describes more "early learning C for the first time failures".
Here she reflected on "when I couldn't figure out how freeing pointers worked and thought that since I didn't free them, the memory on my computer was gone forever":