Help me become better at Computer Science
Ṁ3,000 / 6000
bounty left

I'm a Y1 CS+Math student at Durham University in the UK. Last time I used manifold for academics, it helped me achieve almost perfect grades in A Levels (4A*A) by doing 17K flashcards as seen below.

I want to do a similar thing again. My current aim is to improve at CS, and I'd like some help. So, I'm making this as a place where you can put down suggestions on things I should do/be doing (for example read a specific book).

I will end up picking 6 suggestions (based on how impactful I think they would be based on looking it up and justification from commenter & if I would have found it without them) and award 1,000 mana each. I will do all 6 and update my progress in a market. Once I complete them, I will resolve the market to whichever one was most useful to me.

I will award the most useful one an extra 2500 mana.

This description will be updated at the bottom if there's any clarifications. There will be 1 suggestion per person in the final market, but you can suggest as many as you want to be picked.

Currently outside of my studies I am:

  • Doing 2 medium leetcodes a day

  • Reading OSTEP

  • Learning C++ via a small project and reading effective modern C++

Feel free to ask me questions

Get
Ṁ1,000
to start trading!
Sort by:
+Ṁ1,000

Do nand2tetris. Do some project (that look cool to you) from here: https://github.com/practical-tutorials/project-based-learning

+Ṁ1,000

read https://craftinginterpreters.com and make a programming language

Project Euler was fantastic for me. At the basic level, solving each problem is a great exercise, but what really pushed it over the top was generalizing every solution I could.

If you're not into algorithms, the generalized advice is to always understand the underlying facts. It's slow and isn't fun, but as you go you'll notice things never stop making sense, and you'll be miles ahead of your peers.

Good luck!

codewars is a fun website where you can accumulate points by solving increasingly challenging coding problems. I've found it useful for learning new languages.

Make yourself a personal website from scratch!

Cool market!

Consider reading Structure and Interpretation of Computer Programs.

If you haven't already, absolutely read CODE by Charles Petzold

Will help you build a mental model of computers from the ground up. Literally. Basics of electricity, 1/0 AND/OR switches, boolean algebra, how physical switches can make an adding machine, bytes and ASCII text, memory, CPU, and so on, up to a working computer. Each chapter building perfectly on the previous. Extremely clear, delightful reading. Thank me later

what’s your goal? Are you just curious or is this your main career path? If so, what kind of field / company would you want to work at?

This is a brand new and somewhat experimental approach but I think a new student would find value in asking these newer models like o1-preview to generate some code for a particular problem. But rather than just running it, and this is crucial, carefully review the output, think through each line without asking the LLM for more information, and try to guess what bugs or edge cases it will fail on. Then suggest those changes or test them.

Justification: I don’t think programmers with any real expertise are outclassed by current models but I do think a lot of how that expertise will be used going forward will include reviewing and thinking about code generated either directly by models or by less competent coworkers using models. Writing code just became a cheap skill but the immediate consequence will be a large volume of mediocre lines. More average, poor, and mediocre code will mean increased demand for experts who can parse through it and know what to keep and what to trash. An LLM cannot be held legally responsible and for the foreseeable future companies will want devs who can understand and either sign off or fix the output from endless faucets of text.

Advent of Code is coming up.

Also, depends on whether you mean theory or engineering. For the latter, actually the best way is to get a job.

be very willing to build stuff that sounds fun, even if it means dropping everything else for time

© Manifold Markets, Inc.TermsPrivacy