V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yangzzzzzzzt1
V2EX  ›  程序员

清华大一 c++作业"雷课堂"大家怎么看?

  •  
  •   yangzzzzzzzt1 · 2020-04-21 15:27:46 +08:00 · 15645 次点击
    这是一个创建于 1683 天前的主题,其中的信息可能已经有所发展或是发生改变。

    反正我是写不出... 贴个知乎的 url: https://www.zhihu.com/question/389457315

    127 条回复    2020-04-23 12:03:07 +08:00
    1  2  
    levelworm
        101
    levelworm  
       2020-04-22 01:52:11 +08:00 via Android
    @chizuo 说真的有区分是肯定的,但是这个项目真的很扯了,反正给我的感觉就是我是上帝我直接扔个山给你们挖,别抱怨,最后挖多挖少我看着办给分,你多挖点,哪怕只挖了百分之一,我也能给你 A 。

    反正我在境外的课里头,包括 MIT 和伯克利都没看到过,也许我没看全,您看到过让我围观一下。虽然我知道清华的哥们牛逼,但是有没有这么牛逼我就不知道了。

    这个说好听了是对学生不尊重,自己搞得像上帝一样,说难听点是二百五。
    cassyfar
        102
    cassyfar  
       2020-04-22 03:21:00 +08:00   ❤️ 2
    我很反对这种广而泛的作业,什么都涉及,最后你可能什么都只是接触点儿皮毛。而且你做得思路和现在业界用得差别特别大,基本跟原始人用石头磨出把刀,和现代机床锻造出一把刀的差距一样大,对于你以后工作没什么启发。
    如果真的要考察 Cpp 面向对象编程,那为什么不把其他复杂度去掉(视频共享,语音,聊天,登录)。
    我害怕的是最后 GPA 考察的不是你 Cpp 写得有多好,而是你东拼西凑写出来的功能有多少?这不是本末倒置啦。而且课业量越重,大家越喜欢抄袭赶快先做完,越不想优化深究。
    imycc
        103
    imycc  
       2020-04-22 04:48:02 +08:00   ❤️ 2
    不知道清华的这位老师布置这种作业是处于什么目的。从知乎题目更新的那个老师的答复来看,他是注重 C++面向对象设计的,在题目要求里面也对类的设计提出了诸多要求,这一点是需要肯定的。

    但我个人还是反感大一的学生去做这么复杂的一个项目。GUI 界面编程、音视频编码、WEB 后台,这三者都更偏向应用开发。大一的学生在没接触这类应用开发的情况下,光是熟悉这三部分内容,把整个流程串起来都够呛,分配到 C++程序设计上面的精力会更少。砍掉音视频部分,或者助教帮他们封装好外面的壳,把精力集中在核心几个类的实现上,我认为更能达到教学效果。

    诚然清华学生的学习能力会更好,但作为一个工作几年的社畜,我觉得让大一的学生有充分的时间,在开发一个应用的过程中理解软件工程中的问题(需求拆解,设计模式,分工协作,功能迭代等等),收获的比让他们做一个大而全的应用来得多。
    lrxiao
        104
    lrxiao  
       2020-04-22 05:14:43 +08:00
    写一堆屎山代码 接触一堆过时技术 做一群重复工作
    有啥意思?
    Phariel
        105
    Phariel  
       2020-04-22 05:41:23 +08:00 via iPhone
    做 就尼玛硬做
    这放到大厂团队 如果不是套壳换皮 用 C++ 15 天 50 个人都做不下来
    就跟“我的需求很简单 跟淘宝一样就行了 这么简单的需求一个星期够了吧”一样狗屎 就尼玛离谱
    Phariel
        106
    Phariel  
       2020-04-22 05:57:32 +08:00 via iPhone
    @Phariel 激动打错字了 15 周
    算三周为一个 sprint 第一个 sprint 为定需求加做 prototype 接下来两个 sprint 继续开发 一个 sprint 用来各个 module 借口对接开发 最后一个 sprint 用来集成测试
    关键是这工期针对完全从无到有的复杂交互产品交付就特么离谱 除了拿一堆不是自己写的东西东拼西凑以外想不出别的办法 可东拼西凑这也叫自己写大作业吗???
    Phariel
        107
    Phariel  
       2020-04-22 06:02:26 +08:00 via iPhone
    软件工程的戏剧性是在工程阶段上 在有些时候就会进入“玄学编程”领域 理论上来说不会发生的事情 在实际对接中就会状况百出 用一堆象牙塔的理论思维在揣摩实际工程中的实现周期我认为真的离谱
    encro
        108
    encro  
       2020-04-22 09:22:01 +08:00
    我觉得是可以完成的:

    假设班上有 30 人分为 abcdef,a 组负责客户端界面,b 组负责网络通信,c 组负责数据库设计,d 组负责接口,e 组负责...,f 组负责...

    大家都先完成自己部分,最后大家一起完成组装联调测试。

    这不正是软件开发的完整过程吗?
    gazhang
        109
    gazhang  
       2020-04-22 09:26:45 +08:00
    从回复看,v 站人均清华特奖水平哦
    mingl0280
        110
    mingl0280  
       2020-04-22 09:44:35 +08:00
    看了下前面几楼,我想 v2 应该搞这个不困难,要不我们业余时间搞一个?自己录屏记录下各个模块用时多久,开源到 Git,项目管理用 JIRA,Jenkins 持续集成.

    我按我的经验的话是两周一个 sprint,一个人应该能用 4 个 sprint 左右搞出一个模块(具体看模块复杂度).

    到时候 V2 直播开发雷课堂吊打清华(滑稽保命)
    encro
        111
    encro  
       2020-04-22 10:30:49 +08:00
    @mingl0280
    不可能的。。。
    大家都是抄,
    但是人家一个班几十个人,
    而且是近乎全职的。。。
    清华大一也是清华。
    Orenoid
        112
    Orenoid  
       2020-04-22 10:33:58 +08:00
    让大一写这个是真的扯淡
    LokiSharp
        113
    LokiSharp  
       2020-04-22 10:49:47 +08:00
    @mingl0280 #110 本来我以为只能用标准库,后来我想想 MSDN 能查到的都算系统 API,最难的音频视频推流其实直接用 WMP + WMSP 就行了,录视频和截图也都是调个 API 的事情
    其他的其实和用 C++ 写个学生信息管理系统查不到,没啥难度。。。

    其实换个思路想想就是读 MSDN 搭积木
    LokiSharp
        114
    LokiSharp  
       2020-04-22 10:50:42 +08:00
    @LokiSharp #113 查不到 -> 差不多
    zifangsky
        115
    zifangsky  
       2020-04-22 11:11:48 +08:00
    @encro #108 不可能的,因为任务与任务之间大多是有前后依赖关系的,所有按你所说大家同时做是不现实的。
    ypfyhs
        116
    ypfyhs  
       2020-04-22 11:25:23 +08:00
    歪个题,这个让我想起我们当年学院来了个文科出身的新老师,第一年教算法课,上课全让助教讲,然后大作业是老师发了一堆论文让每个人看完去实现……
    然后论文选晚了选到难的挂了好多人,这个老师拿着这些 demo 去拉项目,居然还拉到了不少钱,最后在我读研的时候被抓了 [

    就算是 THU,大一估计也是竞赛党居多,工程经验丰富的估计还很少,直接把项目成品当大作业要么是老师不懂,要是就是薅得太狠了 [
    encro
        117
    encro  
       2020-04-22 11:44:19 +08:00
    @zifangsky
    是可以拆解的。
    比如做服务端 api 的,
    做录屏直播的,
    做前端界面的等等。。

    其实确实有隐藏前提是有人得全懂,知道如何划分模块,最后如何组装成功。
    另外在于只有 5 周左右时间(如果真只有 5 周,要做出产品级来,我认为即使编程经验丰富的团队也有难度),如果考虑大一大部分没有编程经验的新生,其他课程学习压力,那么真实够难了。
    quinaeus
        118
    quinaeus  
       2020-04-22 12:00:36 +08:00
    @encro 但是这是个单人作业😂
    wslzy007
        119
    wslzy007  
       2020-04-22 12:07:42 +08:00
    c++?可以拼一下,哀悼局中学子 5 秒。。。
    客户端:ACE/Boost (框架+网络+线程等) + ffmpeg/opencv 封装(图像 /视频) + Qt/opengl (跨平台界面)+算法
    服务端:ACE/Boost (框架+网络+线程等)+ [mysql/file] + 算法
    还好能用第三方,否则宁愿选择从 0 开始写个操作系统,对于大一学生来讲反正都扯着蛋的
    encro
        120
    encro  
       2020-04-22 12:08:12 +08:00
    @quinaeus

    所以只能呵呵了。。。
    个人认为这种考察办法不符合程序开发可以互相学习借鉴的现实,而且难度超出一年级,开发实践所有同学同一个课题,我认为是老师懒政的行为。
    Huelse
        121
    Huelse  
       2020-04-22 12:20:01 +08:00   ❤️ 2
    @encro #120 看那个叫 chizuo 的,#75,一堆“标语”词砸过来,我就不 @ 他了,服了服了
    我说这项工作不适合大一,不是能不能做的问题,他还在那里死杠我,他能卷多少就多少吧
    cruii
        122
    cruii  
       2020-04-22 13:09:08 +08:00   ❤️ 2
    大一就是选苗子,大家都在一个学习环境,同年级。把这个困难摆在学生面前,就看学生怎么去思考。要的不是结果是否完成,而是有哪些学生能想着去完成,完成的程度,学习的态度。也许有学生能完成 10%,20%的工作量,那未来几年,老师也可能会持续关注这些学生,提供更多的竞赛,就业机会。
    况且题目都是一样的,就算及格分原定是 60,到最后最高分才 30,那也不可能全班挂掉。
    加油吧
    loryyang
        123
    loryyang  
       2020-04-22 13:40:16 +08:00
    来,让老师写一个
    glfpes
        124
    glfpes  
       2020-04-22 15:13:00 +08:00
    我司有个团队专门做这么 1 个内部视频会议系统,毫无疑问这个算得上企业级应用了。

    做个类 qq 的即时通信软件就很不错了
    chendl111
        125
    chendl111  
       2020-04-23 11:55:46 +08:00
    @chizuo 承认差距很大,但不妨碍批判这个作业。作业的目的是给学生精进课堂的知识提高姿势水平,而非选拔出几个学神
    chendl111
        126
    chendl111  
       2020-04-23 11:57:07 +08:00
    @Takuron 怎么说呢,感觉老师没有做过相关的项目,不清楚实际的难度和时间
    chendl111
        127
    chendl111  
       2020-04-23 12:03:07 +08:00
    @encro 可惜是 solo,而且会进行查重
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1110 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 23:25 · PVG 07:25 · LAX 15:25 · JFK 18:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.