10 CS student's headaches: What I wish I had known when starting CS studies

The world is now open.

You don't have to learn mathematics from a teacher you consider mediocre; you can learn directly from Terence Tao if you like.

You can ask credit from your assigned teacher – while learning from the teacher of your choice.

Learning from YouTube is no shame. Reading up on Wikipedia before diving into problem sets is not a shame either.

When you do the problem sets and discover the "errors on Wikipedia" professors talk about, you'll be able to return and correct these errors – to everyone's gain.

Don't let the fact that your teacher is tired and troubled today distract you from the fact you're learning things that were only dreams to those who came before us.

Calculus, chemistry, pharmacy, deep understanding of the human body and psychology, computers – were a while ago all dreams to even the greatest thinkers of the time.

For general advice on High School and beyond, see "What you'll wish you'd known" by Paul Graham. It's the best write-up I know on the topic.

Most common problems on CS studies

  1. How to track code versions and changes between them. How to share work on the same codebase with other people and be able to merge it later. (Git)
  2. How to avoid the unpredictability of [Ctrl]+[Z] in MS Word. How to create beautiful (not just aesthetically neutral) and useful documents in a predictable way. (LaTeX + Pandoc)
  3. What platform (Windows, Linux, MacOS) is the most worth learning for programming purposes. (Linux)
  4. But I want that to be perfect! (Focus on the most important things; just ship it).
  5. How to make sure I ship by the due date. (Draw the first draft early)
  6. What to focus on. (What is important after studies?) (Finished projects, how interesting they were, and if you would be able to replicate those results if needed)
  7. What platform would allow me the most freedom for hosting my code projects. (GitLab Pages, Heroku + GitLab)
  8. I'm afraid when I learn early, I'll end up getting nagged to learn much more than if I left everything for the last moment. (Short path is almost always the most cost-effective road. Even when it's not available, by learning perfectly, you only learn once, pass, and can start forgetting and move on. If you leave room for doubt, you may find yourself having to relearn what you thought you had learnt.)
  9. I don't have a good thesis topic idea. How to start? (meat chapter first)
  10. After long hours of study, I don't see much left to show for them. I feel like my knowledge disappears right after I earn it! (write your notes down, organize, and share! One free option: Ghost on Heroku)

Git

Why would you want to try it [Subversion]? Essentially because I can’t imagine how you’re currently surviving in the dark ages without it! Having met Subversion through a programming project (the sadly defunct omath.org), I’ve used it for each and every maths paper I’ve written since, and even persuaded 6 coauthors so far to jump through the required hoops.

– David Speyer [1] (referenced by Terry Tao [2])

Other places (related)

  1. https://terrytao.wordpress.com/: That's where I first found the "What you'll wish you'd known" article by Paul Graham (I'm deeply grateful for that, Terry & Paul!)
  2. Steve Jobs' commencement address: https://www.youtube.com/watch?v=UF8uR6Z6KLc
  3. Jacek Walkiewicz – Pełna Moc Możliwości: https://www.youtube.com/watch?v=ktjMz7c3ke4
  4. Akamai preparation program: https://appforstudents.com/, "Free, certified program designed to empower you as a student and to prepare you for getting your first, dream job."

Grades

In undergrad, the professor who taught intermediate microeconomics told us about how law and business school admissions officers knew how tough his course was (it was the weeder course), and that doing well would be a feather in our cap. I made the mistake of believing him. The savvy students took intermediate micro at nearby schools and transferred the credit along with a higher grade.

Graduate schools will look at rec letters and take the professor's praise into account, but they haven’t the slightest notion of whether a class you took is hard or not. Students who want to optimize their future prospects know this, and select their courses accordingly. Oh, and employers know/care even less than graduate schools.

https://news.ycombinator.com/item?id=34214529


  1. https://sbseminar.wordpress.com/2008/06/18/subverting-the-system/ ↩︎

  2. https://terrytao.wordpress.com/ ↩︎