项目背景
在现在这个时代,在很多领域中,编程能力已经逐渐成为一项非常重要的基本能力,编程教学也已经越来越普遍。许多专业将程序设计课程作为大学一年级的必修课,甚至青少年教育目前也在掀起一股学习编程的浪潮。
然而,对于第一次接触编程的同学,如何让他们更快速的入门仍然是一个需要编程教育者去思考的问题。许多同学在接触编程初期,由于编程经验不足,经常会出现各种各样的问题,而这些问题很难直接反映在代码编译或运行的输出结果中,导致一部分同学在学习初期学习进度迟缓,编程学习热情也不足。如果能有一个智能的平台,它能帮助编程初学者(或者是某种新语言的初学者)更快地去跨越学习初期的种种障碍,那么对于编程教育者和编程学习者来说,都能起到非常大的帮助,而我们这个项目就是希望去实现这样的一个AI Coach。
用户场景分析
场景 | 毫无编程经验的家庭主妇 |
---|---|
编程知识与能力 | 从来没有接触过 |
动机 | 平时比较空,没什么事情做 |
目的 | 希望能会一些基本的编程语言和编程思维,能写一些简单基础的程序 |
困难 | 一点基础都没有,看网上的编程课程看不懂 |
用户偏好 | 希望简单一点,学的时候能跟得上 |
用户比例 | 约占人群的30% |
典型场景 | 登陆AI Coach网站,根据自己的能力图与计算机水平来选择合适的题目,每天花一些时间来完成题目,学到相应的一部分知识 |
场景 | 当代大学生 |
---|---|
编程知识与能力 | 学过若干门编程语言,有一定的基础 |
动机 | 要学习新的语言 |
目的 | 希望能尽快学会一门新语言以运用 |
困难 | 对新语言语法不熟悉,容易将新旧语言弄叉 |
用户偏好 | 希望能快速上手,越快越好 |
用户比例 | 约占人群的70% |
典型场景 | 登陆AI Coach网站,根据自己的实际需求来选择要学的语言,并且一天可以花大量时间来快速学习,以求达到速成效果 |
产品前景
一些网络上对于编程难的普遍描述:
可以基本分析出目前学习编程问题:
- 自学不够系统化,教材和学习资料过于陈旧
- 系统化学习需要人指导,且不同学生有自己的学习倾向。目前的解决问题方法一般是多码代码,练出手感之后回归理论。反复迭代直到熟练
目前的同类竞争产品分析:
例子 | 优点 | 缺点 | |
---|---|---|---|
网上课程 | https://courses.edx.org/courses/HarveyMuddX/CS002x/1T2015/course/ https://code.org/ | 和学校是课程差不多类似。但是设置更加先进。同时还配有练习题,能让学生熟练。 | 与学校上课的缺点类似,教师和助教有限,并不能一对一辅助学生理解bug中晦涩难懂的信息。 |
OJ | http://acm.pku.edu.cn/JudgeOnline/ https://leetcode-cn.com/problemset/all/ | 多是针对面试人群和acm选手。提供大量算法题目,功能实现正确且复杂度在规定范围内的代码可以通过试题。能够达到练习的目的 | 这些题目是针对有较强编程基础的学生的。对于变成自学的编程小白基本无法下手。 |
网上自学教程 | https://www.liaoxuefeng.com/wiki/1016959663602400 https://www.runoob.com/ | 知识描述详细易懂,有的教程还配有习题。 | 习题量不足,不足以使初学者上手一门语言。同时无法实时跟进学习者的进度。Debug信息初学者无法理解的问题还是没有得以解决。 |
针对以上的现状和各类产品的优缺点,我们产品的优势在于:
1, 给用户提供友好的debug提示
2. 针对用户的学习进度以及曲线,推荐适当的题目和提示。使用户在练习中学习编程。
3. 由于平台以习题形式展示,可以提供充分的习题量,使用户上手且熟悉一门语言。
杀手功能
我们的AI coach有以下几大关键特性,旨在解决当前编程教学行业的一些痛点:
-
智能化的交互方式:对编程小白来讲,从头写一个完整的程序是一个费时费力而收效甚微的工作。AI coach通过给从题库中选取的代码段智能挖空,能对使用者进行有针对性的训练,能在短时间内帮助使用者学习、强化编程。
-
人性化的编程指导:很多编程入门者或者某种语言的初学者,在编写代码时会遇到各种各样的syntax error或者runtime error, 而他们得到的提示信息却比较晦涩难懂或不够智能精确。AI coach能够为编程者对错误进行智能分析,准确定位错误,且提供更为人性化的自然语言提示。
-
个性化的学习跟踪:很多编程小白对自己当前的编程水平并不能有全局的认知,这让他们在学习过程中感到很迷茫。AI coach为用户提供了个性化的学习进度的跟踪,通过对于用户在编程知识的不同方面的分析,刻画用户画像,并提供个性化的学习曲线,协助用户对自己编程能力进行评估,以便安排后续的学习。
-
友好的分类与搜索:很多入门者想做针对性练习时,面对茫茫题海感到无从下手。AI coach一方面提供了与高校教学接轨的题库分类,方便校内使用者进行课后的对应强化训练。另一方面,我们提供了支持自然语言的搜索,为希望对某种能力进行练习却无法准确描述函数名或功能名的用户提供了优秀的使用体验。
工作计划
- 技术选型,UI 设计 (10小时)
- 与后端协商接口(4小时)
- 编写逻辑代码(10小时)
- 单元测试(8小时)
- 前后端对接(6小时)