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.
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
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
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
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
05 · Architecture
Folders that scale
A simple feature-first folder structure for apps beyond a few screens.
06 · Git Tips
Commit like a professional
Small commits with meaningful messages make debugging and grading easier.
07 · Developer Workflow
A calm daily workflow
Pull, branch, build, commit, push — every time.
08 · Common Mistakes
Ten mistakes every beginner makes
From committing node_modules to calling localhost from a phone.
09 · Advanced Concepts
Beyond the course
Native modules, offline-first sync, animations with Reanimated and CI builds.
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
