Zhus on First

ethics of learning data structures and algorithms

Learning with others--

  1. I am a novice. I’m nervous. I’m slow.

  2. Practicing in mix-level pair/group is good.

  3. It’s a conversation.

  4. It’s shared learning and understanding.

  5. It’s important to come up with a solution, but for me, it’s not THE most important right now.

  6. Use the RAPID critical thinking format assiduously:

    *Read: Read the problem carefully and fully understand the requirements. Pay attention to the inputs, outputs, constraints, and edge cases.

    *Analyze: Analyze the problem to identify the core components. Break it down, think about what data structures could be useful, and consider different algorithmic approaches.

    *Plan: Create a high-level plan or pseudo-code for your solution. This is where you outline the steps before writing any code.

    *Implement: Write the code based on your plan. Focus on translating your logic into a working solution.

    *Debug: Test and debug your code. Walk through test cases, including edge cases, to ensure your solution is correct.

    - Use pen and paper. Use digital whiteboard.

    - Implementation is step 4–not step 1. Think, build that mental map first.

    - I do want to be familiar with general syntax and patterns so there’s some level of memorizing.

    - But, but, but – I want to understand at a deeper level so I can apply that pattern to unfamiliar situations. Humans created these tools to solve xyz problems. It can become a tool that I, too, creatively command.

  1. No to gen ai. That dopamine hit is nice when gen ai fills that blank screen. It’s good to experiment and learn to use gen ai. But not here. Here is a space to explore without gen ai, and that’s ok.

  2. Yes to general documentation resources online.

  3. It’s okay to say goodbye and move-on from each other.

#sketch