Decoded: A Guide to Majoring in Computer Science

This book is for informational purposes only. Except when an external source is cited, everything in the book is the author’s opinion. The author makes no guarantee about the correctness or accuracy of any content in this book. Furthermore, you may disagree with and/or find certain content offensive.

Read at your own risk. Do not continue reading if you do not accept full responsibility for all actions you take as a result of reading this book. The author is not liable for any damages including, but not limited to, academic failures, career path mistakes, financial loss, feeling upset, and physical/mental injury.

If you find this book useful and would like to support the author, please visit Support the Author.

Table of Contents

  • About Me
  • License
  • Educational Institutions
  • Foreword
  • Who Should Read This Book?
  • What Is This Book About?
  • Can Anyone Be a Good Programmer?
  • Summary
  • Part I: Motivation
  • Chapter 1: The Three Dimensions of Jobs
  • The Impact Dimension
  • The Enjoyment Dimension
  • The Money Dimension
  • Your Job Goals
  • Chapter 2: Why Study Computer Science?
  • Analyzing The Three Dimensions
  • Prioritizing your Dimensions
  • Money is your Foundation
  • Impact and Enjoyment
  • Review Your Goals Again
  • Chapter 3: Do I Have What it Takes?
  • Finals Words on the Motivation for CS
  • What Lies Ahead
  • Chapter 4: The Big Picture of Software
  • Part II: Core Life Skills
  • Chapter 5: Goals and Execution
  • Sensible Goal Setting
  • Leverage Bestselling Books
  • Emulate Successful Peers
  • Asking Adults for Advice
  • Researching Goals Online
  • Theoretical Example: Felicia
  • Importance of Setting the Right Goals
  • Execution and Emotions
  • Supervising Your Brain
  • Emotional Truth
  • Effects of Emotion Beyond Execution
  • The Big Picture
  • Chapter 6: Managing Interactions
  • Understand the Other Party
  • Analyzing a Transaction
  • Comforting Lies in a Transaction
  • Is it Okay to Lie?
  • Ethics
  • Executing Transactions
  • Theoretical Example: Harold
  • Analyzing Harold’s Choices
  • The Big Picture
  • Chapter 7: Failure
  • Preparation
  • Example: Oversleeping an Exam
  • Spiraling Into Catastrophe
  • Postmortem
  • Example: Exam Postmortem
  • Finding the Middle Ground
  • Failing Fast
  • Revisiting Felicia’s Example
  • The Big Picture
  • Part III: College Strategy
  • Chapter 8: The Dimensions of College
  • Academics
  • Mental Health
  • Physical Health
  • Finances
  • Internships
  • Tradeoffs
  • Keeping Your Ultimate Goal in Sight
  • Chapter 9: Academics
  • Things Within Your Control
  • Course Plans
  • Coursework
  • Lectures and Textbooks
  • Homework
  • Projects
  • Exams
  • Learning Intuition
  • Simple Example of Learning Intuition
  • DIY Exercise for Learning Intuition
  • Extending Intuition to all your Classes
  • Things Outside Your Control
  • Choosing Professors
  • Evaluating Your Professor
  • Choosing Teaching Assistants
  • Choosing Peers
  • Personality Clashes
  • Course Registration and Waitlists
  • Summary
  • Chapter 10: Mental Health
  • Internal Mindset
  • Academics Example
  • Social Example
  • Romantic Example
  • Ditch the Negative Feelings
  • Focus on Positivity
  • External Interactions
  • Social Life
  • Making New Friends
  • Choosing Friends
  • Housemates
  • Large Social Events
  • Alcohol, Smoking, and Drugs
  • Romantic Life
  • Time and Maturity
  • Casual vs. Serious Relationships
  • Understanding What You Want
  • Understanding What They Want
  • Coping with the Fallout of Unexpected Breakups
  • Important Reminders on Sex
  • Summary
  • Chapter 11: Physical Health
  • The Importance of Physical Health
  • Sleep
  • Exercise
  • Cardio
  • Strength Exercises
  • Intramural Sports
  • Nutrition
  • Fats
  • Cholesterol
  • Sodium
  • Carbohydrates, Sugar, and Fiber
  • Protein
  • Vitamins and Minerals
  • Constructing a Balanced Diet
  • Meal Plans
  • Summary
  • Chapter 12: Finances
  • Understanding Your Investment
  • Grants and Scholarships
  • Work-Study
  • Federal Loans
  • Private Loans
  • Finding a Cheaper Institution
  • Negotiating
  • Transfer Credits for Faster Graduation
  • Daily Spending
  • Cooking to Save Money
  • Living Far Away to Save Money
  • Skipping Social Opportunities
  • What’s Reasonable and What’s Not?
  • Family Finances
  • The Big Picture
  • Chapter 13: Balance
  • Too Much Academics
  • Too Much Socializing
  • Twenty-Four Hour Accounting
  • Choosing Efficient Activities
  • Building a Schedule
  • The Big Picture
  • Chapter 14: Internships
  • Internship Track Record
  • Leverage
  • Building Your Internship Track Record
  • Research
  • Middle-of-the-Road Companies
  • Top-Tier Companies
  • The Big Picture of Internships
  • Part IV: College CS Strategy
  • Chapter 15: Learning Before College
  • Learn Programming
  • Important CS Fundamentals to Learn
  • Problem Solving
  • Engineering
  • The Importance of Both
  • Learning Problem Solving
  • Leetcode
  • Competitive Programming
  • What Level Do I Need to Reach?
  • Learning Engineering
  • Make Time to Hone Your Skills
  • Chapter 16: College Application Preparation
  • Choosing Colleges
  • Academics
  • STEM Schools
  • Elite Liberal Arts Schools
  • State Schools
  • Culture
  • Probing the Culture
  • Finances
  • Building Your College List
  • Less-Selective than the Flagship State School
  • More-Selective than the Flagship State School
  • Choosing a College to Attend
  • Chapter 17: Freshman Year
  • Academics
  • Recommended Coursework
  • Personal Projects
  • Internship Search
  • Non-Technical Resumes
  • Networking
  • Friends and Close Connections
  • Acquaintances and Friends of Friends
  • Expanding Your Connections and Reaching Out
  • School Job Sites and Email Lists
  • Cold Messaging
  • Applying Online
  • Behavioral Interviewing
  • Curveball Questions
  • Questions for the Interviewer
  • Practice, Practice, Practice!
  • Choice of Companies
  • Mindset
  • Diagnosing Internship Rejections
  • Summer Research and/or Classes
  • Mental Health
  • Physical Health
  • Balance
  • Finances
  • Freshman Year Checklist
  • Chapter 18: Freshman Summer
  • Succeeding at Work
  • Software Career Specializations
  • Website Development
  • Mobile App Development
  • Data Engineering
  • Machine Learning
  • Backend Infrastructure Development
  • Other Areas
  • Researching Job Roles
  • Industries
  • High-Prestige Tech Firms
  • Medium-Prestige Tech Firms
  • Small Startups
  • Algorithmic Trading
  • Other Industries
  • Researching Industries
  • Looking to the Future
  • Freshman Summer Checklist
  • Chapter 19: Sophomore Year
  • Academics
  • Succeeding in the Standard Courses
  • Problem Solving
  • Engineering
  • The Consequences of Doing Poorly
  • Electives
  • The Big Picture
  • Internship Search
  • Making a Company List
  • Networking
  • Technical Interviewing
  • Leetcode
  • Arrays, Lists, and Ad Hoc algorithms (1)
  • Stacks and Queues (2)
  • Hashing (3)
  • Priority Queues (4)
  • Recursion, Dynamic Programming, Brute Force (5)
  • Identifying Patterns and Finding a Solution Quickly
  • The Actual Interview Process
  • Practice Makes Perfect
  • Choosing a Sophomore Summer Internship
  • Mental and Physical Health
  • Sophomore Year Checklist
  • Chapter 20: Navigating an Internship
  • The Purpose of Internships
  • Technical Parts
  • Requirements
  • Design
  • Coding
  • Other Stages
  • Documentation
  • Presentation
  • Behavioral Parts
  • Communication
  • Personality
  • Work Ethic
  • Getting the Return Offer
  • Company Culture
  • People
  • Company Growth
  • Career Growth
  • Life Outside Work
  • Making Friends and Finding Activities
  • Internship Big Picture
  • Internship Checklist
  • Chapter 21: Junior Year
  • Academics
  • Must-Take Electives
  • Highly-Recommended Courses
  • Internship Search
  • Preparing for the Internship Search
  • Navigating the Internship Search
  • Choosing Companies to Target
  • Performing Well in Your Internship
  • Ready or Not, Here It Comes
  • Junior Year Checklist
  • Chapter 22: Senior Year and Full-Time Jobs
  • The Full-Time Job Search
  • Evaluating a Job Offer
  • Base Salary
  • Restricted Stock Units (RSUs)
  • Stock Options
  • Sign-On Bonuses
  • End of Year Bonuses
  • RSUs versus Options versus Cash
  • Cost of Living
  • Work-Life Balance
  • Evaluating Job Benefits
  • Food
  • Vacation Time
  • 401(k) Matching and Profit Sharing
  • Health, Dental, Vision Insurance
  • Other Benefits
  • Negotiating the Job Offer
  • Finishing Up Senior Year
  • Conclusion
  • Support the Author
  • Works Cited
  • Bibliography