# CS0502 · Campus Pathfinding Project

## 中文

### 如何使用项目资料

1. 下载并解压 `CS0502-data-structure-starter.zip`。
2. 先阅读 `STUDENT_TASKS.md`，再按顺序完成任务。
3. 用浏览器直接双击打开 `web/index.html`；不需要安装软件、运行命令或联网。
4. 在不修改 `data/` 下地图数据的前提下，可与 AI coding agent 一起修改项目文件；也可以选用合适的图算法库。
5. `web/app.js` 负责界面与画图；你实现或接入的 `findPlaces()` 和 `findPath()` 会被页面自动调用。
6. 可参考 `PROMPT_SUGGESTIONS.md`，但应根据每一轮测试结果自行补充和改写提示词。

### 项目网页的状态

地图、地点选择和界面已准备好；查找与寻路算法尚未实现。点击查找或运行寻路时，页面会提示算法未实现。请把它作为你的第一个可验证问题，而不是把它当作网页故障。

### 交付前检查

- 网页可直接打开；
- 基础任务的数组、链表、二分查找、BST、BFS 和 Dijkstra 都可运行；
- 录屏展示了完整运行过程；
- 报告记录了多轮 AI agent 对话、问题、后续提示词、修复结果和截图，并说明算法原理、数据结构优势、算法比较与实验结果；
- 如完成哈希表、A* 等高级算法或 Web 优化，报告和录屏中清楚标注加分内容。

## English

### Using the project materials

1. Download and unzip `CS0502-data-structure-starter.zip`.
2. Read `STUDENT_TASKS.md` and complete the tasks in order.
3. Double-click `web/index.html` to open it in a browser. No installation, command line, or network connection is required.
4. Work with your AI coding agent on the project files while keeping the map data under `data/` unchanged; you may also choose an appropriate graph-algorithm library.
5. `web/app.js` renders the interface and map. The page automatically calls the `findPlaces()` and `findPath()` functions you implement or connect.
6. `PROMPT_SUGGESTIONS.md` is a starting point; revise and extend your prompts based on each test result.

### Starter-web status

The map, place selection, and interface are ready, but the search and pathfinding algorithms are intentionally not implemented. When you click search or run pathfinding, the page reports this clearly. Treat it as your first verifiable task, not as a website defect.

### Before submitting

- The web app opens directly;
- array search, linked lists, binary search, BST, BFS, and Dijkstra all work;
- the recording demonstrates a complete run;
- the report documents multiple AI-agent rounds, issues, follow-up prompts, fixes, and screenshots, and explains algorithmic principles, data-structure advantages, algorithm comparisons, and experimental results;
- any hash table, A*, other advanced algorithm, or web-app improvement is clearly identified as bonus work in both the recording and report.
