Extra learning

Go further.
If you want to.

Optional material on best practices, debugging, performance, architecture and careers. None of this is graded — it's here for the curious.

Optional Not required for labs, coursework or the project.

  1. 01 · Best Practices

    Write code future-you can read

    Small components, clear names, one responsibility per file.

    • Keep components under ~150 lines
    • Name files after what they export
    • Extract repeated styles into a theme
  2. 02 · Debugging

    The debugging loop

    Reproduce → isolate → hypothesise → verify. Change one thing at a time.

    • Read the whole error message
    • Add a console.log before guessing
    • Undo to the last working state
  3. 03 · Performance

    Keep lists at 60 fps

    Why FlatList beats map(), and when to memoise.

    • Use keyExtractor
    • Avoid inline functions in hot rows
    • Measure before optimising
  4. 04 · UI / UX

    Touch targets and thumbs

    Design for one-handed use and 44–48 pt minimum touch targets.

    • Primary actions within thumb reach
    • Visible pressed states
    • Respect safe areas
  5. 05 · Architecture

    Folders that scale

    A simple feature-first folder structure for apps beyond a few screens.

  6. 06 · Git Tips

    Commit like a professional

    Small commits with meaningful messages make debugging and grading easier.

  7. 07 · Developer Workflow

    A calm daily workflow

    Pull, branch, build, commit, push — every time.

  8. 08 · Common Mistakes

    Ten mistakes every beginner makes

    From committing node_modules to calling localhost from a phone.

  9. 09 · Advanced Concepts

    Beyond the course

    Native modules, offline-first sync, animations with Reanimated and CI builds.

  10. 10 · Career Preparation

    Turn your project into a portfolio piece

    A clean README, screenshots, a demo video and a short write-up of your decisions.

    • Record a 60-second demo
    • Explain one hard problem you solved
    • Publish an APK or Expo link