20182301 2019-2020-1 《数据结构与面向对象程序设计》第1周学习总结
教材学习内容总结
教材第一章-绪论的主要内容是:了解java程序设计语言的基本情况和本书的专业术语的介绍。
我认为我需要掌握以下几点:
- 准确判断java标志符是否正确?
- 了解身为一名程序员的方向感与使命感
- 准备好Linux虚拟机,ubuntu,vim,java的编写编译环境。
- 了解基本语言,编写简单程序。
教材学习中的问题和解决过程
- 问题1:区分类名,方法名,标志符,保留字
问题1解决方案:
- 类名:相当于C语言的函数名,自由发挥。要求:字母数字下划线,不以数字为开头,允许$符号
- 方法名:相当于C语言的变量。
要求:方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头写,不使用连接符。例如:addPerson。
下划线可能出现在JUnit测试方法名称中用以分隔名称的逻辑组件。一个典型的模式是:test_,例如 testPop_emptyStack。
图片解释 - 标志符:编程程序时使用各种各样的字称为标识符。可以自由发挥,也可以在某个程序中拥有特定的。
- 保留字:不论在哪里,都表示特殊意义。
图片如下:
- 问题2:关于编译错误,逻辑错误,运行错误的区分
- 问题2解决方案:简单地说,编译异常就是运行之前就可以看到的,被系统提示到的那些错误;而运行错误是指运行后看到的错误。逻辑错误就是运行后得不到想要的结果。从这里,可以大概了解定义,实际应用靠以后慢慢了解。
- 问题3:Java文档生成器
- 问题3解决方案:
- javadoc是一个工具,它检查源代码,然后按HTML格式生成关于Java源代码的文档。
- Javadoc注释以/**开头,以*/结尾,这个格式的注释会被Javadoc工具检查及处理,java注释可以写在多行上。
- Javadoc有两种标签:1-块标签(@auther)2-内嵌标签{}中。
代码调试中的问题和解决过程
- 问题1:代码编写完毕后,不能用javac编译
- 问题1解决方案:在学姐的帮助下,发现原虚拟机上已经安装java,但经多方试验不可使用。故再次安装新虚拟机,从头开始完善系统。
- 问题2:在初写代码时,只是一昧的模仿,出现类名编写错误
- 问题2解决方案:简单的把类名修改成和文件名一致。
- 问题3:对于代码托管的脚本内容的打印
- 问题3解决方案:1.安装增强功能,进行共享剪切板。2.进行邮件发送,可粘贴。3.手动打字。
代码托管
上周考试错题总结
- 填空: Linux Bash可以使用 help. man (info) 命令查找命令的帮助信息。
- 填空:在Linux系统里,(root) 账户拥有整个系统至高无上的权力
- 填空:Linux bash中,Ctrl+a快捷键的作用是(将光标移至输入行头,相当于Home键)
- 判断:Linux Bash中可以使用man pintf查看c语言中printf函数的帮助文档。(*)
- 填空:在Ubuntu中,使用(sudo apt-get install ddd)来安装ddd软件。
- 填空: 在Linux里面可以使用(chmod)命令修改文件的权限
- 填空: Linux Bash中,使用(groups) 命令来查看用户属于哪些用户组
- 填空: Linux里面没有C盘D盘,其文件系统的目录是由(FHS)标准规定好的,
- 判断: Linux Bash中,cd ~ 命令可以切换到'home'目录(ok)
- 判断: Linux Bash中,pwd是passwd的缩写,可以修改用户密码的。(x
- 判断: Linux Bash中,强行删除test文件的命令是(rm -f test).
- 填空: Linux Bash中,使用(tab) 进行命令补全。
- 填空: Linux Bash中,使用(ls)命令列出文件和目录.
- 填空: Linux Bash中,使用cat命令带行号查看test内容的命令是(cat -n test).
- 填空: Linux Bash中,使用echo查看环境变量PATH值的命令是(echo $PATH)
- 填空: Linux Bash中,查找home目录中昨天创建的文件的命令是(find ~ -ctime 1).
理解:文件的 Access time,atime 是在读取文件或者执行文件时更改的。
文件的 Modified time,mtime 是在写入文件时随文件内容的更改而更改的。
文件的 Create time,ctime 是在写入文件、更改所有者、权限或链接设置时随 Inode 的内容更改而更改的。 - 判断: Linux Bash中使用tar命令把home目录打包成home.tar的命令是( tar -cf home.tar ~)
- 填空:Linux Bash中zip命令使(-e)参数可以创建加密压缩包。
- 填空: Linux Bash中(touch test)命令可以创建一个空白文件test.
- 填空: Linux Bash中,ls.| sort命令的功能是(显示当前目录内容并排序)
- 填空Linux Bash中,使grep查找当前目录下.c中main函数在那个文件中的命令是( grep main .c)
- 填空: linux Bash中,使用wc统计hello.c和main.c有几行代码的命令是( wc -l hello.c main.c)
- 判断: Linux Bash中,set/env/exprot三个命令功的等价。(X)
- 填空: linux bash中,把ls命令显示当前目录的结果存入ls.txt的命令输出重定向命令是(ls>ls.txt)
- 填空: Linux Bash中(cheat find)命令可以查find命令的使用事宜。
理解:cheat命令需要先安装Python,再进行安装,更深层次的了解了虚拟机的构成。
原因:此次把全部的考试题打上,主要是因为在答题时并不是理解的答得,而是借助了开卷考试,现在对于这些有了更多的了解,希望借此进行复习与深刻理解。
结对及互评
评分标准
- 正确使用Markdown语法(加1分):
- 不使用Markdown不加分
- 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
- 排版混乱的不加分
- 模板中的要素齐全(加1分)
- 缺少“教材学习中的问题和解决过程”的不加分
- 缺少“代码调试中的问题和解决过程”的不加分
- 代码托管不能打开的不加分
- 缺少“结对及互评”的不能打开的不加分
- 缺少“上周考试错题总结”的不能加分
- 缺少“进度条”的不能加分
- 缺少“参考资料”的不能加分
教材学习中的问题和解决过程, 一个问题加1分
代码调试中的问题和解决过程, 一个问题加1分
- 本周有效代码超过300分行的(加2分)
- 一周提交次数少于20次的不加分
- 其他加分:
- 周五前发博客的加1分
- 感想,体会不假大空的加1分
- 排版精美的加一分
- 进度条中记录学习时间与改进情况的加1分
- 有动手写新代码的加1分
- 课后选择题有验证的加1分
- 代码Commit Message规范的加1分
- 错题学习深入的加1分
- 点评认真,能指出博客和代码中的问题的加1分
- 结对学习情况真实可信的加1分
- 扣分:
- 有抄袭的扣至0分
- 代码作弊的扣至0分
- 迟交作业的扣至0分
点评模板:
- 博客中值得学习的或问题:
- 对于难点刨根问底的精神
- 正则表达式与通配符的区别(见魏同学博客)
- echo命令(见冷同学博客)
- 代码中值得学习的或问题:
- 代码现在处于基础阶段,暂无发现。
- 基于评分标准,我给本博客打分:13分。得分情况如下:
- 正确使用Markdown语法 1分
- 模板中的要素齐全 1分
- 教材学习中的问题和解决过程 3分
- 代码调试中的问题和解决过程 2分
- 感想,体会不假大空 1分
- 排版精美的 1分
- 进度条中记录学习时间与改进情况 1分
- 点评认真,能指出博客和代码中的问题 1分
- 错题学习深入 1分
- 结对学习情况真实可信 1分
- 参考示例
点评过的同学博客和代码
其他(感悟、思考等,可选)
本周的学习内容虽然简单,但是也花费了大量的时间。
有句话说得好:“万事开头难。”我相信“功夫不负有心人”,在我打好基础后,我在以后的学习上会事半功倍的。加油!
另外对于linux一系列命令真的是被磨得没脾气,我相信我以后也会因此做事更加沉稳。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 69/200 | 2/2 | 30/20 | 基础扎牢 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
计划学习时间:20小时
实际学习时间:30小时
改进情况:已经可以基本掌握linux基本命令,书写简单代码。另外虽然时间够长,但是代码实在是太少了,花费在基础设施的实践太多,以后要在代码上下功夫。
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)