1. I learn how to program with Swing.
2. I learn how to program with RMI.
Sounds like a simple plan
I would add a few more items to your list:
-- design
patterns (especially facade, adapter, proxy, factory, and MVC)
-- threads and synchronization (with real understanding of wait/notify, deadlocks and race conditions)
-- Sun's
Java Look and Feel Design Guidelines
-- Java Code Conventions
-- Collections (especially maps, arrays, and lists)
-- Layout managers
-- JTable and AbstractTableModel
Eugene.