微电子大一:为何看懂AI代码却不会自己写?独立编程能力如何培养?

今天给大家分享的是一位粉丝的提问,微电子大一:为何看懂AI代码却不会自己写?独立编程能力如何培养?

接下来把粉丝的具体提问和我的回复分享给大家,希望也能给一些类似情况的小伙伴一些启发和帮助。

同学提问:

yt哥你好,我是一名微电子大一学生,我最近按照学习资料在设计一款模拟器,它可以模拟cpu运行指定的游戏,相当于一款虚拟机,但是我的c语言水平也仅仅只会语法和一些简单的数据结构,那个课程是提倡干中学,但当我写一个真正的项目时,经常不知道从何下手,即使已经告诉了我指定的文件和需要实现的功能,因为我仅仅只是刷过几道题的大一学生,还不能理解各种文件和makefile和各种配置,所以当一个需要实现的功能明摆在我面前,我也不知道该怎么写出第一行代码,所以这时候我会用ai帮我写,但即使我看懂ai写的东西,我自己也很难独立地从头写起,请问我在一个实际的项目,我该学习一些什么知识呢,还有我过于依赖ai来写代码,怎么样才能培养我独立编写的能力呢。

Yt回答:

首先现在才刚刚大一,然后目前想设计一款模拟器。我是认为这个朋友目前来说你可能想的有些东西超出了你本身的知识范畴,这个怎么理解呢?就比如说你现在来说就还只是一个能够会点C语言,至于C语言能用在哪里你可能都不清楚,哪些东西是操作系统帮你做的,哪些是需要我们自己实现的,可能你都分不清楚。你在这里说你要设计一款模拟器,我认为这个东西你可以做,但是真的能做成什么样子,我认为它是有点难。作为一个大一最标准的姿势,你可以在大一阶段把C语言和C++以及数据结构学了,然后把数据结构里面的队列、栈、红黑树、B数、跳表、234树、哈夫曼树这些东西都实现了,以及结合着图深度优先、广度优先,把数据结构把它封装一遍。这一个对你来说,这是你眼下最好做的,最合适做的。第二个呢,到了你大一大二的时候,计算机网络我认为你可以实现一个网络协议栈,这里呢你就会发现看完计算机网络那本书之后,然后可以从底层开始,从数据链路层、网络层、传输层以及到应用层,然后把整个协议栈实现了,这个过程中间我认为对于你的提升会大一点。

然后还有就是操作系统,操作系统呢我认为这里呢你可以实现一些Linux内核的,比如文件系统或者进程调度这种都是可以的,乃至包括这种编译,包括计算机体系结构、计算机组成原理,你可以去配置一台这种类似于台式机,根据不同的场景去选择你的硬件,这个也行。我之前有讲过一个计算机408怎么学的,我认为你可以了解一下那个,因为我认为你作为微电子,后面大概率的情况你也会去选择开发,选择走软件这条路。这里的软件可能就不区分是这种芯片里面的软件,还是属于应用层面的软件,大概你就会是跟代码有关系,是走的这条路。刚刚讲到这个408,后面你可以问下我拿到那个408怎么学的路线。

接下来再讲一讲这个过程直接指定一个实现一个模拟器,你现在是鹦鹉学舌一样,你先跟着做嘛,先跟着做,就像鹦鹉学舌,他写一句你写一句,你就跟着写嘛。就跟我们小孩学说话一样,你刚开始学你就模仿着写嘛,或者就像我们练书法一样,仿颜真卿的颜帖或者仿启功的字体,你就仿嘛,先仿着仿着,然后在这过程遇到问题解问题嘛。我是认为后面很多问题压根就不是问题,只是你的心里的一种主观问题,它不是一个客观问题,这种主观问题是什么?就是请问我在实际的项目中间我该学一些什么知识,你现在都没有讲清楚这个实际项目是什么,该学习什么知识。我认为你现在先仿,就跟你练书法一样,启功的字体,你就刚开始仿,你仿个几万个字,你自然而然就发现你会有一种不一样的的感觉,你就写出来你会发现你写的那个字的感觉就跟启功的那种很浑厚的感觉就会很像。

还有就是我基于AI写代码,我怎样才能培养我独立写代码的能力?你现在从大一开始,你就直接把代码丢给AI,兄弟我认为这个你离废已经不远了,这个它无可厚非,就是我认为你选择AI,怎么说呢?就是你比如说现在你在学这个过程中间,你是你自己想学,然后你现在交给AI,就好比你比如说谈恋爱,你想找一女朋友,你也特别喜欢你这个女朋友,你现在好比每天跟她聊天,你不能享受跟她聊天的这个过程,以及不能享受跟她每次出去玩的过程,你现在找一个人代替你跟她聊天,代替你跟她出去玩,我认为这个过程你是很难享受到爱情的美妙。当然这个写代码也是这个道理啊,就是如果你在这过程你写代码的时候,做这个项目的时候,做这个模拟器的时候,你的目的不是去做这个模拟器啊,你是从做模拟器过程中间需要去学到东西,请注意是做这个过程中间再去学到东西,不是一开始你是为了去把这个模拟器把它干出来。如果是这样的话,这位朋友你现在比如说有点功能你就丢给AI,有点功能你自己不去解,丢给ai,我跟你讲兄弟啊,我认为后面你离废真的不远,为什么呢?因为这个知识的学习,它是一种讲究内化,内化是什么呢?就是你一定要把它吸收成自己,写代码就是对于编码的过程做软件开发,后面转码这条路上面最快的内化方法,没有其他的,就是调代码,就是遇到问题你去调,如果你会发现你调不通,肯定是代码有问题,你就不断的去梳理,把自己的思维模拟到跟计算机的思维一样,你自然而然就能够知道这个代码它是怎么运行的。如果你这一点不解,直接丢给AI,然后你就发现AI它倒是能够帮你解,你就发现到这个方式的时候,如果你这种不加以制止的话,我认为你后面这条路它不一定走得好。因为很多东西你问完之后你依旧不知道,因为从这个过程我都可以感知到,你比如说你就跟着那个对应的这个内容,然后你就实现一个模拟器,实现一行做一行,然后调完之后跟着写完之后,代码哎有点问题丢给AI,AI帮你解好之后你再跑,发现有点问题再丢给AI,发现还是有点问题,把这个问题再丢给AI,AI再给你解好。这个动作你就发现,那还要你干什么?难道AI缺少一个提问的人吗?兄弟,如果你这样过度依赖于AI,这种路让你走的不一定好啊。

总结:

  1. 大一别碰高端项目 刚学C语法就搞CPU模拟器≈小学生造火箭(超出能力范围);正经路线:先肝透数据结构(红黑树/B树/跳表自己写一遍),大二再搞网络协议栈
  2. 代码能力要硬啃 现在起扔掉AI拐杖(再依赖AI就成废人);像临摹字帖一样抄开源代码:GitHub找个简易项目(比如贪吃蛇),逐行手敲+调试
  3. 408基础是命根子 微电子转码必啃四件套:数据结构(重点手写树/图);操作系统(Linux进程调度实战);计算机网络(从零写TCP/IP协议栈);计算机组成(配台式机练硬件匹配)
  4. 项目实操要当复读机 看不懂Makefile?把开源项目当字帖临摹(比如Redis简易版);第一行不会写?直接照抄项目初始化代码,改参数当复读机也比AI代写强

计算机相关专业就业求职学习路线/offer选择/职业规划建议

工种浩:******(学习就业困惑?我们来为你答疑解惑!)免费投稿 投稿必回

#职业规划##计算机#
计算机就业职业规划辅导 文章被收录于专栏

解决计算机相关专业就业/面试/技术提升等问题解答(投稿必回)

全部评论

相关推荐

学历算污点吗?
小何和:快毕业了,BOSS上的od闻着味就来了
点赞 评论 收藏
分享
优化前端性能是一个广泛的领域,有很多方法可以提高网站或应用程序的加载速度和性能。以下是一些常见的优化技巧:https://www.nowcoder.com/issue/tutorial?zhuanlanId=Mg58Em&uuid=07d53be4cd034a4ab270d500feebcc8d压缩和合并文件:将CSS和JavaScript文件压缩和合并成一个文件可以减少网络请求的数量,从而加快页面加载速度。图片优化:通过压缩图片文件大小、使用适当的图像格式(如JPEG、PNG)以及懒加载技术来减少图片加载时间。缓存机制:使用浏览器缓存来存储静态资源,以减少重复下载。异步加载:将不必要的资源推迟加载,例如使用异步脚本或将JavaScript放置在页面底部。延迟加载:对于长页面或含有大量内容的页面,可以使用延迟加载技术,只在页面滚动到可见区域时加载内容。减少HTTP请求:减少网页中的资源数量,例如合并CSS和JavaScript文件、使用CSS Sprites技术等。响应式设计:为移动设备进行优化,使用响应式设计,确保网站在不同屏幕尺寸上都能良好显示和操作。使用CDN:使用内容分发网络(CDN)可以将静态资源分发到全球各个服务器上,加快资源加载速度。优化代码:通过减少DOM操作、避免不必要的重绘和重排等技术来优化JavaScript代码。使用性能分析工具:使用工具如Chrome开发者工具或PageSpeed Insights等来分析和识别潜在的性能瓶颈,并采取相应的优化措施。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务