项目简介
本项目开发了一个高效、便捷的课程规划程序,以 UCR 难度数据库电子表格为依据,能根据课程难度为用户推荐每季度适合选修的工程和广度课程,助力用户平衡一学年的课业负担,挑选相对轻松的课程。
项目的主要特性和功能
- 课程存储与推荐:用户可存储所需广度课程(聚焦各学习领域最受欢迎的三门广度课程),选择要完成的广度要求后,程序展示每门广度课程中最容易的前 10 门课程(部分因数据限制数量较少)。
- 登录系统:有用户登录系统,支持用户注册登录信息。用户退出程序时,系统会记住其所选的广度要求。
- 计算机科学课程推荐:依据加州大学河滨分校伯恩斯工程学院的计算机科学课程计划,展示前 10 门最容易的计算机科学课程。用户可选择班级级别,程序会推荐相应的低年级和高年级 CS 课程。
安装使用步骤
注意事项
项目无法在 SSH 服务器上运行,因为程序使用了 sqlite3,需要 sqlite 库。由于 SSH 服务器的限制,若无管理权限则无法获取 sqlite 库,程序将无法正确编译。因此,需在 SSH 服务器之外复制项目。
复制项目
bash
$ cd final-project-squia003-zta002-jpasc029-nchan089
安装编译所需工具
需安装 CMake、Make、gcc,不同操作系统的安装方式不同:
- Windows 编译:需使用 MinGW 安装编译器和构建自动化工具,可参考 VSCode 教程。
bash
$ cmake -G "MinGW Makefiles" .
$ mingw32-make
- macOS 编译:程序需要使用 CMake 和 Make。对于 ARM 硅处理器(M1 芯片),需先安装 Rosetta2,再安装 Homebrew 以安装 CMake 和 Make。
bash
% cmake .
% make
- Linux 编译:程序需要 CMake 进行编译,安装 CMake 后运行以下命令:
bash
$ cmake .
$ make
运行程序
编译完成后,进入 build 目录并运行程序:
bash
$ cd build
$ ./CSCourseRecommender
测试
- 运行单元测试:
bash $ ./UnitTest
- 使用 Valgrind 检测内存泄漏:
bash $ valgrind --leak-check=full ./CSCourseRecommender
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】