This paper studies urban metro route planning under a weighted-graph framework and documents the incremental development from the teaching template to three completed stages: the basic shortest-path solver, an enhanced graphical user interface, and an optional transfer-aware extension for Beijing. The metro system is modeled as an undirected weighted graph in which stations are nodes and inter-station travel distances are edge weights. On this basis, a hand-written Dijkstra algorithm is implemented to compute the minimum-cost route between arbitrary origin and destination stations. Compared with the original template, the completed basic task mainly fills in the graph data structure, graph construction routine, shortest-path solver, and station-name interface. On top of the baseline solver, the GUI stage further improves usability through more interactive visualization mechanisms and clearer route presentation. Finally, the optional stage introduces transfer penalties by expanding the search state from station space to station-line space, so that the path cost jointly reflects running distance and transfer overhead. In the experimental part, a Beijing case from Beigongmen to Guomao is further added to compare the distance-only route with the transfer-aware route under a transfer penalty setting of τ = 1.0.