Pseudocode: a must-use tool for Computer Science

academics computer science pseudocode
By Hunter

My number one piece of advice for someone entering college and studying computer science is the following sentence: write pseudocode before writing your actual code. If you follow this piece of advice, you will save yourself hundreds of hours over the next four years of your life.

Pseudocode is a plain language description of an algorithm that will help you implement code across computer languages (Python, Java, C++, etc.). There isn’t a “correct” way to do it, but simply taking the time to write out exactly what you are trying to do with your code will save you lots of time down the road. An example of pseudocode for making a PB&J sandwich is:

// Go into kitchen

// Open pantry

// Grab peanut butter, jelly, and bread from pantry

// Open utensil drawer

// Grab a knife

// remove bread from bag

// Open peanut butter

// Spread peanut butter on 1 piece of bread using the knife

// Open jelly container

// Spread jelly on other piece of bread using knife

// Put 2 pieces of bread together to form sandwich

At this point, you may be thinking that pseudocode is a waste of time - you shouldn’t have to take the time to sit down and write instructions for yourself when you can just go into the kitchen and make a sandwich! However, as the complexity of a given task increases, you may need to take the time to think about how exactly you want execute a given task. For example, imagine that you don’t have any jelly: you start making your sandwich, spread all the peanut butter on the bread...and then realize you have no jelly! You leave the peanut butter and bread on the kitchen counter while you go out to buy jelly and, while you’re gone, your dog eats all your peanut butter and bread. If that's the case, you’ll probably wish that you had spent a little bit of time thinking about your entire process before beginning.

Okay, enough about PB&J.

By writing pseudocode, you can increase your chances of avoiding two time-sucking issues: debugging, and the “wrong turn” error. 

Debugging can be quite straightforward if you have an easily readable roadmap: when your code does not work, you can clearly and efficiently retrace your steps from start to finish to catch the error. It will be easier to distinguish between syntactical errors (i.e. misspelling of a variable) and errors in your logic (i.e. you put the pieces of bread together before spreading the jelly). 

Pseudocode also helps you navigate the “wrong turn” error. This error occurs when you spend hours building something before realizing that you have been going in the wrong direction the entire time. If you had taken the extra time to map out your entire process using pseudocode, then you would’ve saved yourself the hassle of beating your head against a problem that you should not have even been trying to solve in the first place.

I have made the error of just rushing into a project without thinking about the bigger picture too many times to count. If I had slowed myself down at the beginning and taken the time to write pseudocode beforehand, then I would’ve gotten a lot more sleep in college.

Comments

topicTopics
academics study skills MCAT medical school admissions SAT expository writing college admissions English MD/PhD admissions GMAT LSAT GRE writing strategy chemistry physics math biology ACT graduate admissions language learning law school admissions test anxiety interview prep MBA admissions academic advice premed homework help personal statements AP exams creative writing MD career advice study schedules summer activities Common Application history test prep philosophy computer science secondary applications organic chemistry economics supplements PSAT admissions coaching grammar law statistics & probability psychology ESL research 1L CARS SSAT covid-19 legal studies logic games reading comprehension dental admissions mathematics USMLE Spanish calculus engineering parents Latin verbal reasoning DAT excel mentorship political science French Linguistics Tutoring Approaches academic integrity case coaching chinese AMCAS DO MBA coursework PhD admissions Social Advocacy admissions advice biochemistry classics diversity statement genetics geometry kinematics medical school mental health quantitative reasoning skills time management Anki English literature IB exams ISEE MD/PhD programs algebra algorithms art history artificial intelligence astrophysics athletics business business skills careers cold emails data science internships letters of recommendation poetry presentations resume science social sciences software engineering study abroad tech industry trigonometry work and activities 2L 3L Academic Interest DMD EMT FlexMed Fourier Series Greek Health Professional Shortage Area Italian Lagrange multipliers London MD vs PhD MMI Montessori National Health Service Corps Pythagorean Theorem Python STEM Sentence Correction Step 2 TMDSAS Zoom acids and bases amino acids analysis essay architecture argumentative writing brain teaser campus visits cantonese capacitors capital markets cell biology central limit theorem chemical engineering chess chromatography class participation climate change clinical experience community service constitutional law consulting cover letters curriculum demonstrated interest dental school distance learning electricity and magnetism enrichment european history executive function finance first generation student freewriting fun facts functions gap year genomics harmonics health policy history of medicine history of science hybrid vehicles hydrophobic effect ideal gas law induction information sessions institutional actions integrated reasoning intern international students investing investment banking lab reports logic mandarin chinese mba mechanical engineering medical physics meiosis microeconomics mitosis music music theory neurology neuroscience office hours operating systems organization pedagogy phrase structure rules plagiarism pre-dental proofs pseudocode psych/soc quantum mechanics resistors resonance revising scholarships school selection simple linear regression slide decks sociology software stem cells stereochemistry study spots synthesis teaching technical interviews transfer typology units virtual interviews writer's block writing circles