漫长旅途的开端
大一前的那个暑假,我才开始从头学习了 C 语言。从这里开始,我觉得才是我在 CS 道路上的漫长旅途的开端。
本页面有些外链可能会因为我的资金问题而挂掉,如果您发现了,敬请邮件联系我更改:sprout@mail.ustc.edu.cn
1. Socket 一对多聊天
这是我学习程序设计 II课程的 Project,此项目是使用 C++、Windows API(尤其是 Socket API)、Qt 5 实现的一个一对多聊天软件。
本项目采用 Client-Server 架构,支持用户注册、用户登录、一对多聊天以及服务器广播等操作,并且用 Qt 5 实现前端 GUI。
这个项目是我第一次接触网络编程,在学习的过程中碰到了不少的问题,尤其是使用 Windows API 方面的问题(此时我还没有接触过 Linux)。Windows API 文档资料比较少,接触的人也比较少,所以写出这个项目还是非常不容易的。
此外,在这个项目中我还第一次了解了文字编码(尤其是 UTF-8)对于信息传递的重要性,这里感谢对 C++/UTF-8 十分熟悉的 Z 同学对我的项目提出了很多宝贵的意见。本项目的报告
2. 电梯仿真
这是我学习数据结构课程的 Project,此项目是使用 C++、Cocos2d-x 游戏引擎开发的电梯仿真软件,此软件支持以 Cocos2d-x 引擎支持的流畅动画实时模拟电梯运行情况,并且支持关于电梯客户/电梯本题的各种策略/参数的调整。本项目的源代码及报告存放在 Github 仓库,如果需要编译本项目,需要提供 Cocos2d-x 4.0 引擎。
3. Huffman 压缩/解压缩工具
这是我学习数据结构课程的 Project,此项目是使用 C++、Qt 5 编写的使用 Huffman 编码相关原理的压缩/解压缩工具,此软件在经典的课程设计基础上,支持了多字节编码与多叉 Huffman 树编码,可通过不同压缩策略测试不同的压缩效果。并且按老师的要求,利用 d3.js 库以前端 HTML 的形式展示编码所用的 Huffman 树。
本项目的源代码及报告存放在 Github 仓库。
4. LC3 CPU
这是我学习数字电路实验课程的 Project,此项目是使用 Verilog 和学院 FPGA OL 在线平台的串口、仿真功能实现了 LC3 语言一个子集的 CPU。这实际上是与同时进行的计算系统概论A课程的融合,因为 LC3 汇编语言就来自于计算系统概论A这门课程。本项目的源代码及报告存放在 Github 仓库。
‘
5. 「合成 CPU」
这是我学习计算机组成原理H课程的 Project,此项目名来自于我学习 COD 的感受 —— 从小的部件一直往上叠加,直到生成各种功能强大的 CPU 乃至附属上其他设备后称为真正的计算机。
此项目是与叶升宇同学共同完成的。
项目的设计其实比较简单,说白了就是套皮 2048。重要的是我们是使用自己编写的流水线 CPU 在 Xilinx 开发板上加上其他外设完成的,下面是游戏的实机演示画面。
6. Realism OS
这是我学习操作系统原理与设计H课程的 Project,灵感来源于 rCore OS 项目,是使用 Rust 语言编写的一个微内核 OS,并且进行了简单的应用测试。此项目是与刘良宇、叶升宇、许坤钊同学共同完成的。
此项目从头到尾有规范的科研项目过程,包含调研、可行性分析、中期汇报、结题汇报,这些资料都在我们团队的 Github 仓库可以找到。
7. 基金吧舆论情感走势与基金净值走势的相关检验与长线预报
这是我学习面向交叉学科的Python程序设计课程的 Project,这个 Project 的主旨是利用 Python 解决一些科学问题。这个项目的背景是,随着支付宝、东方财富网购买基金功能的完善,越来越多的大学生加入了炒基金的行列。和传统炒股、炒基金模式不同的是,现在购买基金的 APP 往往提供 “评论区” 功能,用户可以发帖、回帖、分享自己的见解。这就给我们提供了基金相关的舆论信息,有了进行情感走势与基金净值走势的相关检验及长期走势的回归预报的可能。
本项目综合利用爬虫、情感分析、机器学习以及 pyqt 等图形库技术,对东方财富网基金吧内舆论进行情感走势与基金净值走势的相关检验,并进行长期走势的回归预报,将成果通过图形界面展示。
此项目是与刘良宇、刘阳同学共同完成的。
8. 志愿服务排班系统
此项目是我担任中国科大芳草社青年志愿者协会学生副会长时期,为了缓解志愿服务排班压力而写的一个利用 Python pywebio 库实现的对话式排班工具,可以完成校内大部分志愿服务工作的简单排班。
9. 植物大战僵尸 Cocos2d-x 重制版
经过两年的学习,我终于得以有技术能够支持我实现一个比较完美的植物大战僵尸游戏了,这个项目是使用 C++、Cocos2d-x 引擎开发的,动画是使用 Cocos Animator 制作的,目的是集成植物大战僵尸各平台的所有玩法,作为一个回忆献礼。下面是开发中演示图片。
10. CODIA 代码智能
此项目是在中国科学技术大学刘淇老师 CODIA 课题组进行的大学生研究计划的一部分。
我的大学生研究计划题目是代码的智能解析与向量表示研究,本课题的研究目标是代码的智能解析与向量表示研究。在一些前人的研究中,已经有学习代码嵌入的神经网络——代码的连续分布式向量表示。嵌入使我们能够以自然有效的方式对代码片段和标签之间的对应关系进行建模。本课题的研究目标是,通过给定一个代码片段,希望从代码的句法路径中推断(学习)其Label(代码语义、功能、作用等)。
本课题的研究意义在于,对代码的智能解析有助于代码更易于理解和维护,并且有助于初学者养成良好的代码习惯。本课题也是 CODIA 智能模块的一部分,希望提高现有方法的准确度与易用性,为 CODIA 平台提供更优秀的代码智能性。
目前已经实现对 code2vec 论文代码的复现。这个项目是与喻恒同学一起完成的。
涉及实验室平台,在项目上线前暂时不放截图,感谢理解。