Failing Grades — Even NASA engineers have their bad days

An article dedicated to all my below-par performances, frustrating lows, and failed attempts at picking up computer science— because CS shows mercy for no one.

Year 1 of studying CS

Background: Awful at math (with a C in calc) and still under the impression that you needed to be a math wizard to excel in CS

Introduction to Computer Science (CS 111)— Intro course for CS majors that taught logic, assembly code deconstruction, basic algorithms (like binary search), recursion, and other fundamental topics using Python.

Bad Day: My CS111 Final …
What happened? I got a C- on my final
Cried out of frustration and disappointment in myself — I had done well on all homework assignments over the semester, but got a C- on the final that heavily brought down my average.

I questioned whether I knew or really learned anything at all, with such an awful score on my final exam… I remember thinking

Yikes… maybe computer science isn’t for me… What happened? Why couldn’t I do better on the final? I got As on the homework … I just don’t understand why… why can’t I just get it?

They say that it only gets harder from here. If I’m struggling so much in a 100-level course, how will I manage at a 400-level?

I felt defeated. Getting a C- on that final was such an anticlimactic ending to an entire semester of stress, all-nighters, and precious time spent in the library… I could only hope things would get better from here…

For a moment, I did seriously consider changing majors because there was so much uncertainty. Little did I know, that those 400-level courses would turn out to be a cakewalk in comparison to the 100-level courses I took.

End Result: I decided to spend the summer working on new projects and hoped that by doing so I could come back next semester, able to do better in my classes. I earned a B+ for CS111.

Year 2 of studying CS

Background: Over the summer I picked up iOS development, started sharing my projects on Devpost, and even was a finalist at my first hackathon. But I still felt like I didn’t understand a single thing, and that I was only mimicking others.

Combinatoric Structures (CS 131)— (From course website) We will train you in the mathematical foundations of CS so that you can make convincing logical arguments that programs you write and algorithms you design are correct and run efficiently.

Bad Day: My CS131 First Exam …
What happened? I got a F on my midterm

Reaction: To be honest, after studying my hardest — and then having to face the sobering reality that I was in the bottom ranks of my class… I was completely beside myself. I felt like I just had my teeth kicked in, but also that this was 100% my fault. I had no one else but myself to blame for not performing better.

*Side note — The worst part about failing when you belong to a minority group, is that you don’t feel that you are disappointing only yourself — but also that you’re letting down your fellow peers by contributing to the stereotype that CS is not for you.

End Result: I stopped feeling sorry for myself, and sought out help from my professor. He was extremely encouraging and wanted to see me succeed. I religiously attended all his office hours, and on my second exam I scored a 98. At the end of the term I walked out with an A-.

Probability in Computing (CS 237) — (From course website) Introduction to basic probabilistic concepts and methods used in mathematics, science, and computer science. Emphasis on rigorous reasoning, analysis, and algorithmic thinking.

Out of all my computer science classes, I could easily say that CS 237 left me the most stressed, confused, scared, and sleep-deprived.

Bad Day: My CS237 Midterm
What happened: I scored a 31%… lol

Honestly, at this point I had gotten used to sometimes missing the mark. But never in my wildest dreams did I ever expect to score lower than 50%! The score was so terrible that I couldn’t even take my grade seriously. The class average was around 55% which made matters… better? Although, I would hardly call it a win if the majority of the class couldn’t understand the basic concepts…

End Result: I somehow pulled a miracle and got an A on the final, which let me walk away with a solid B+

Computer Systems (CS 210) — (From course website) Hardware fundamentals including digital logic, memory systems, processor design, buses, I/O subsystems, data representations, computer arithmetic, and instruction-set architecture. Software concepts including assembly language programming, operating systems, assemblers, linkers, and systems programming in C.

Bad Day 1: My first exam
What happened? I got a C

Bad Day 2: My second exam
What happened? I got a C again

I won’t elaborate much here, but you can probably get the idea. For most of my sophomore year, it felt like I was plagued by constantly being right on the verge of drowning in my classes…

End result: I studied my butt off, and got an A on the final, which let me walk away with an A- overall.

In short, computer science is hard. It’s scary to deal with learning technically challenging material while debating whether you even believe you can succeed at all.

Despite all these hilariously terrible lows, I still hung onto hope and managed to graduate with honors.

Getting used to failure and building resilience has been one of the things I’m most grateful for. Without it, I would not be able to keep trying after my 100th rejection and move on to secure internships at NASA, Paypal, and now my current job at Squarespace. If I had given up at my first fall, or even my tenth attempt where I was still struggling — there would be no way for me to have the opportunities I do now.

There was one mantra that carried me through tough times (especially before final exams), and it went:

I know what I know, and that is enough.

I would repeat this over and over again, right before scary moments where I didn’t know what the outcome would be — and it’s always helped me see things through. Trust me, when I say that if you can stick with it that it will pay off in the end :)

From ‘The Call To Courage”, here’s a quote for anyone who has self-doubts:

“It is not the critic who counts; not the man who points out how the strong man stumbles, or where the doer of deeds could have done them better. The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood; who strives valiantly; who errs, who comes short again and again, because there is no effort without error and shortcoming; but who does actually strive to do the deeds; who knows great enthusiasms, the great devotions; who spends himself in a worthy cause; who at the best knows in the end the triumph of high achievement, and who at the worst, if he fails, at least fails while daring greatly, so that his place shall never be with those cold and timid souls who neither know victory nor defeat.” — Theodore Roosevelt

Good luck! Wherever in your journey you may be, I hope my story was comforting or motivating ♥ please consider sending claps as they are very appreciated :)

Full-time cat & dog lover, part time developer 💖 I like writing to help others! @helenzhxng | Previously @Paypal & @NASA , now @Squarespace—

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store