目录
2021/11/07 更新日志
- 数字逻辑 & 汇编语言的课程定位
- 更新了GitHub多文件下载方法
前言
弯路我也走过,写这些是为了帮后来人避开那些不必走的,坚持把该走的路走下去。
以下Q&A仅凭自己经历所写,在我们当时是这样
这类话不多赘述,可能因为记忆偏差或教学要求不同有出入,请谅解。
一、机器人技术
Q1:机器人第一次实验是干嘛的?
- 实验/上机,说白了,就是去计算机楼待上几小时,敲代码跑代码,看运行结果,最后写一份报告。
这是你们大二会经历无数遍的事情。
看不懂?没关系。我也不懂过,甚至还因为不懂呆呆浪费几十个小时,瞎摸索。
看不懂去找同学,看着他们写代码或者看代码,勤快点问问,但是别给问烦了。
能学一点是一点。 - 这门课主要是面向机器人足球方向,也就是老师的一个项目。以后用不到太多。
- 开卷考试,但有上机考试(上机需要你很熟悉很理解关于足球的一些代码的结构)
Q2:具体应该如何准备机器人考试?
一、上机测试
- 是一道道小题目(较简单的踢球实现)供学生抽取(每人一道),实现,验收。
- 题量30~60题,有很简单很简单的,有很难很难的。
- 验收由学长和老师验收。根据经验学长较仁慈。做好了举手运行给他看。运行成功后会问你两三个基本问题:比如ubuntu里的命令(怎么开球队,怎么开始踢球)、还有就是代码里的实现细节(是哪个函数让球员实现了快速带球之类)。
- 题目在考前会发放,可以自己提前琢磨清楚,写好代码,运行实现,强记硬背。
- 务必搞清楚ubuntu上怎么编辑运行程序!我当时代码记住了,但运行时候掉链子了,总是只能运行一只球队,急了半天,最后才解决。
- 悄悄说一句,往年上机测试题甚至运行代码,优快云你都可能找到…看你们了。
二、开卷笔试
- 打印,看谁资料全的活儿。
- 上机测试的准备好的代码打印下来带着吧,跟工具包似的,随取随用。
- 可以搜罗往年卷参考难度题型
- 这个没有上机测试难和煎熬,跟语文考试一样(还能带作文书那种)
注:
- 往届学长学姐弄的工大资料整理,我甩个链接github.com/lib-hfut/lib-hfut
- github翻墙访问快一些,不然会卡。
不会翻墙的去kcssr.icu/user 按页面教程照做(付费的,大约12r/月) - 苦恼github只能单文件下载的,优快云应该可以找到一个打包下载的网址
输入github链接就可以整个文件夹下载那种
http://blog.luckly-mjw.cn/tool-show/github-directory-downloader/index.html
二、程设艺术方法
Q1:程设艺术上机测试是做什么那些方面的题?
- 上机测试没有当堂需要提交的任务,但课后要写报告。
- 印象里学习的有C++的一些容器(理解为C++语言的工具包),可以认真学学用用,有帮助。
推荐黑马程序员 BV1et411b73Z (哔哩哔哩)
看相应章节即可,建议摒弃学生思维中的线性学习,拾起一点是一点。
三、数字逻辑
Q1:课程定位描述
- 学习
底层硬件知识
。打个比方,相当于数学里的加减乘除。
学完这门课算是解答了我对计算机底层实现的部分疑惑。 - 课堂认真听讲,作业认真完成,实验认真完成。是足够学好这门课的!
不要因为前有机器人技术和程设艺术方法下马威就觉得什么课都很难了!
我的数字逻辑是丁贤庆老师教的,讲课节奏紧凑,答疑细谨耐心。
实验很有趣,认真做,你会体会到所见即所得的快乐。 - 不需要课外搜寻课程自学,课内学好就行!
四、汇编语言
Q1:课程定位描述
- dbq我太菜了,当时这门课我上不明白…我不是很能跟上老师的节奏
所以说第一感觉这门课是重要且难学
的,做好心理准备。
坏消息
是:汇编语言偏底层,如果你目标要有良好的计算机素养,当然要认真学的。
好消息
是:当下学不懂,对后面开设的课程几乎没有影响。(我当然还是建议你们能学都要尽量学懂的) - PPT的内容和学校配套的教参(就是那本人脑书)关系不是特别紧密。
教材方面,推荐额外准备本王爽的汇编教材
(蓝色),按顺序看着自学。
值得购买的那种,图书馆借阅也可。 - 老师上课的话(我的是张本宏老师教学)作为转专业学生,我当时不是很能跟上节奏。给你们的建议是:
①上课跟着PPT跟着老师讲课走
,别想着在书上找具体哪一页,分心且浪费时间。
② 课下按照王爽的教材自学巩固
。你可以去B站找王爽版的配套教程。 小广告
:配套教程我看过小甲鱼的,也看过其他的。
其中贺利坚的课程我觉得最适合 哔哩哔哩 BV1pi4y1P76P
关于你们现在所学课程的其他资料(课件、作业、实验等),需要的话我也可以把个人现有的整理好有偿出售供参考(划重点,初心),联系方式Q 2462269317
Extra、个人成长
Q1:学计算机语言应该注重什么?自学感觉抓不住重点?
- 首先,挑把趁手的兵器(写代码的软件,我们叫做”编译环境“)
建议知乎搜索VSCode安装教程(关键词:挑把趁手的兵器VSCode)
如果你下了DevC++先用着,不急着换,只不过VSCode界面更高大上一点
总之VSCode/DevC++/CodeBlocks这三个编译环境,你下了一个,能运行HelloWorld,就够了! - 其次,确定基础语言:C语言。
语言的基础框架类似,就是一些常用的结构(即你们面试时候准备的顺序、循环、分支)
从C语言入手,宣总的程序设计基础课很好,认真听
学到数组和指针时候是难点,前面听懂即可,重心注意放在数组和指针学习上,还有就是多练习
练习方面,程序设计基础课会给哈工大习题平台的方式,其他平台LeetCode我用着还不错,推荐。 - 不要指望一步登天,不要觉得自己要把可运行的代码默写出来才算成功。
不是这样的,因为转专业什么也不懂,我一开始绝大多数代码都是优快云复制粘贴来的。
前期注重理解,知道为什么这样写,这个结构怎么用,以及冲着能看懂正确代码这一目标去就行
别给自己太大压力。
Q2:上机器人和程序设计艺术都很吃力,一点头绪都没有,不知道要按照什么顺序补之前科目
- 机器人技术吃力很!!正!!常!!。
我重述下我认为的机器人这门课的定位
(1)这是教课老师主要带的一个项目,包括机器人的2D、3D足球。
(2)课上按书按PPT讲的,不夸张的讲,我当时一个字没听进去!
(3)其实课程要求挺低的,一个从开卷考试形式可以看出来,还有就是学完了后觉得也没有太深奥。你们现在觉得难是因为:一方面没接触过编程语言,直接看C++代码当然吃力。另一方面,就算接触过编程语言的,这其实是一个项目,是很多很多很多代码文件组成的,这其中的逻辑关系也需要一定能力捋顺的。
(4)学到最后,机器人技术学的其实是:哪些代码控制了机器人踢球、传球、带球、射门,然后怎么通过一定排列组合让这个队伍有一定的踢球竞争能力,这也是你们后期要分小组做的任务,一般来说,转专业同学在这里面帮不上什么忙,需要大腿带着。
(5)机器人技术是我第一次接触到实际应用的程序,老实说,最大的收获,就是学会了怎么看C++代码。很像一个人没学会走路,就要被拖着跑了
,虽然过程很狼狈、很难受,但是真的也很高效,逼着自己去一点点看懂。
学习方法
看代码看代码看代码,看懂一点是一点。 - 程序设计艺术吃力很!!正!!常!!
定位
(1)是数据结构课程的延申(你们的数据结构要在下学期和21级一起补,我知道时间线很离谱)
(2)大二学年最重要的两门课:程序设计基础、数据结构。
(3)打个比方,程序设计基础
是给你锤子,告诉你怎么拿,
数据结构
教你怎么抡锤子省力气、怎么敲钉子敲进去,
程设艺术
让你锤各种各样奇形怪状的钉子。
(4)作业题会给你们留ICPC的竞赛题让你们分组解决,记得抱大腿,纯新手太难了。
(5)针对4,竞赛题如果实在没有头绪可以别自己写,优快云是计科人的百度,你们懂我意思吧?
学习方法
(1)C++好好按照黑马程序员教程耐心学,不用在乎有没有学过C,你不知道枪的结构难道就不会开枪了?
(2)上机要学的什么所谓STL容器,定位其实是C++的工具包
,重在会用,不必强记。
(3)竞赛题、作业、上机实验,好好看代码,理解代码,这是第一阶段必须经历的事情。 - 补课顺序
阶段一:
熟练使用优快云搜索,基本看懂别人的代码,大致了解C语言到数组、指针这类知识
阶段二:
攻克C语言的数组、指针和链表、文件等难点,自主练习刷哈工大联系平台,熟练度++
阶段三:
简单程序可以自己敲出来了,难一点的可能要看看别人的代码,理解别人的思路
阶段四:
一些数据结构知识的理解掌握刷题(暂时不详细展开) - 我为什么要说摒弃线性思维?
什么是线性思维?
想法一:
想找到一个教程从头学到尾,就算掌握了,大不了难的不会的回头再看看。
想法二:
现在学的机器人学的程设艺术太难了,看不懂,我只有学会了C、学了C++才能懂。
想法三:
只要把老师上课的每一句话记下来,我就能学好。
以上,都是线性思维!!
不存在的,各位。类似的话我相信各位看到过:永远没有完全准备好了的时候,现在就是战点。
抓住现在老师给你的难题,给你的橄榄枝,直面麻烦的海洋,精准注视,径直前行。
你到底是哪里不明白?
你自己可以很好的描述出自己遇到的困难吗?
如果不能描述出来,你又怎么指望别人帮你?
你是代码的那一行不理解?这个符号到底有什么含义?
优快云上搜一搜,不收费的;
看了不懂问问转专业的有没有明白的,他们也不会嘲笑你;
再不济,新的班级新的同学,去请教,去认识大佬,如果你的问题描述足够准确,我觉得他们会耐心回答。