20162330 2016-2017-2《程序设计与数据结构》第1周学习总结
2017-03-05 12:21
344 查看
2016-2017-2 学习总结目录: 1 2 3 4 5 6 7 8 9 10
本周主要学习了课本第一章绪论,其简要内容如下:
学会编写1.1这个简单的java程序和几个简单的脚本;
了解类定义、注释及标识符概念;
学习并安装java的编译程序和解释程序,了解编译,解释java源代码的过程;
了解开发java程序时的三类错误;
了解空白的合理使用,让程序易读且易懂(这方面还需要琢磨和练习)。
解决方案:按照所给出的帮助一步一步做下去,最后还是没有更改,于是就决定重装系统,我使用了一个叫做“云骑士一键装机”的软件,选中的系统是win10专业版(我绝对看清楚了),安装后却变成了win8专业版,于是我又重装了一遍,win10企业版,这次版本没有问题,只是之前备份的文件全都显示没有备份,从而无法恢复,寒假我就搜索了一下关于一键ghost及还原系统的问题,如今还是没能解决,还要再琢磨一阵,不过终于可以进行windows更改了,然后又装了一遍虚拟机,周一到周三的时间全做这件事了,有点可惜,不过主要问题顺利解决了。
解决方案:在设置里找到使用开发人员功能,启用开发人员模式,仅在windows应用商店中不能安装一些高级开发功能。
解决方案:先使用:q! 强制退出,然后 sudo vi Hello.java 编辑后就可以使用“:wq”退出。
2.选择安装了java编译程序ecj软件包,却无法运行java程序。(如下图)
解决方案:使用“sudo apt-get install default-jdk”安装了另一个软件包,之后可以运行了,可能是ecj软件包的兼容性问题。
(前两个问题与朱娅霖同学的问题相似,可做如下连接的参考:在运行hello.java程序时的问题;Intellj IDEA 简易教程)
3.无法运行shell脚本程序。
解决方案:编写相同的java程序。出现这种问题主要是因为我没有弄懂脚本程序和java程序的代码的区别,所以导致我开始把书上1.1的程序错当成脚本编辑,从而运行错误,遇到这种问题的人可能就只有我了吧,脚本一般以“#!/bin/sh”开头,有sh标注,而java程序中的main方法的前面总有关键字public、static和void,编写代码时我还要多留心观察,不能盲目编写。
4.关于atom软件包无法定位的问题。(如下图)
解决方案:输入sudo add-apt-repository ppa:webupd8team/atom
按一下回车键,等待一会儿后
sudo apt-get update,之后
sudo apt-get install atom 等待安装即可。
(关于第一行代码的具体含义可使用baidu搜索)
(附链接:关于atom软件包无法定位的问题)
代码提交过程截图:
代码量截图:
week1:
错误原因:看到查找之后就写了一个find,而find命令是查找一个文件的位置。info是查找命令的帮助信息。
加深理解:三种命令的区别:help命令只能显示shell内部的命令帮助信息。而对于外部命令的帮助信息只能使用man或者info命令查看。man是在程序安装的时候安装的帮助文档,可以在系统的目录下找到,如果软件有配套的页面,就可以使用man来查找。info指令是man 指令的详细内容。
4.判断:Linux Bash中, 可以使用man printf查看C语言中printf函数的帮助文档。 (x)
错误原因:不理解printf是什么。
加深理解:
6.填空:在 Linux 里面可以使用使用(chmod)命令修改文件的权限。
错误原因:不熟悉该命令的使用,实验楼的实验不够认真。
加深理解:一个目录同时具有读权限和执行权限才可以打开并查看内部文件,而一个目录要有写权限才允许在其中创建其它文件。每个文件的三组权限(拥有者,所属用户组,其他用户,记住这个顺序是一定的)就对应这一个 "rwx",也就是一个 '7' ,r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
8.填空:Linux中没有C盘,D盘,其文件系统的目录是由(FHS)标准规定好的。
错误原因:不理解FHS标准,没有在考虑的范围内。
加深理解:FHS是Filesystem Hierarchy Standard(文件系统目录标准)的缩写,多数Linux版本采用这种文件组织形式,类似于Windows操作系统中c盘的文件目录,FHS采用树形结构组织文件。
10.判断:Linux Bash中,pwd是passwd的缩写,可以修改用户密码。(X)
错误原因:思维定势,认为英语上password的简写就是pwd,Linux Bash中也一样。
加深理解: passwd是修改用户密码,而pwd命令用于显示用户当前所在的目录。
13.填空:Linux Bash中,使用(ls)命令列出文件和目录。
错误原因:在实验楼盲目练习,连最基本的ls还没理解。
加深理解:1. 命令格式:ls [选项] [目录名];2. 命令功能:列出目标目录中所有的子目录和文件。
14.填空:Linux Bash中,使用cat命令带行号查看test内容的命令是(cat –n test)。
错误原因:对cat命令掌握不熟练。
加深理解:cat命令用于读取指定文件的内容并打印到终端输出。
15.填空:Linux Bash中,使用echo查看环境变量PATH值的命令是(
错误原因:不确定,不熟悉,所以好像没写。
加深理解:读取变量的值,使用echo命令和\(符号(\)符号用于表示引用一个变量的值)。
17.判断:Linux Bash中,使用tar命令把home目录打包成home.tar的命令是( tar -cf home.tar ~)。
错误原因:只知道有tar命令,不知道其具体命令运行格式。
加深理解:例如创建一个 tar 包:
18.填空:Linux Bash中,zip命令使用(-e)参数可以创建加密压缩包。
错误原因:实验楼忽略细节。
加深理解:创建加密zip包,使用-e参数可以创建加密压缩包,例如:
21.填空:Linux Bash中,使用grep查找当前目录下.c中main函数在那个文件中的命令是( grep main .c )。
错误原因:grep命令后的顺序错误。
加深理解:*.c 一般是后缀,grep命令运行后,输出的内容冒号之前表示用户,后面表示该用户所属的用户组。
22.填空:Linux Bash中,使用wc统计hello.c和main.c共有几行代码的的命令是( wc -l hello.c main.c )。
错误原因:不熟悉wc命令,没写。
加深理解:Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数、字数、行数,并将统计结果显示输出。格式:wc -l 。
24.填空:Linux Bash中,把ls命令显示当前目录的结果存入ls.txt的命令输出重定向命令是(ls > ls.txt)。
错误原因:不理解什么是输出重定向,好像也没写。
加深理解:
错题原因总结:没有认真完成实验楼的任务,只是盲目地练习,缺少思考与记忆环节。
反思:虽然有相当多的一部分不太理解,但是可以通过实践来逐渐掌握和记忆,每周抽出固定的一部分时间巩固基础命令。
(尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。)
参考:软件工程软件的估计为什么这么难,软件工程 估计方法
计划学习时间:10小时
实际学习时间:12小时
有效学习时间:3小时
改进情况:提升学习效率,尽量在自己有兴趣的时候多做,按照重要又紧急、紧急但不重要、重要但不紧急、不紧急也不重要的顺序完成学习任务,并尽可能减少处理紧急但不重要学习任务的投入,增加重要但不紧急学习任务的投入,用课余时间积极主动敲代码,参考娄老师的教学进程主动预习。(没那么容易的)
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)
《Java程序设计与数据结构教程(第二版)》学习指导
Intellj IDEA 简易教程
Ubuntu下git的安装与使用
使用开源中国托管代码
20162330_刘伟康_ 第1周学习总结
教材学习内容总结
本周主要学习了课本第一章绪论,其简要内容如下:
学会编写1.1这个简单的java程序和几个简单的脚本;
了解类定义、注释及标识符概念;
学习并安装java的编译程序和解释程序,了解编译,解释java源代码的过程;
了解开发java程序时的三类错误;
了解空白的合理使用,让程序易读且易懂(这方面还需要琢磨和练习)。
教材学习中的问题和解决过程
1.Windows下安装git之后,无法将win10升级到最新版本,并且无法在windows功能中完成请求的更改,总是显示错误代码(如下图)从而无法安装Linux Bash环境。解决方案:按照所给出的帮助一步一步做下去,最后还是没有更改,于是就决定重装系统,我使用了一个叫做“云骑士一键装机”的软件,选中的系统是win10专业版(我绝对看清楚了),安装后却变成了win8专业版,于是我又重装了一遍,win10企业版,这次版本没有问题,只是之前备份的文件全都显示没有备份,从而无法恢复,寒假我就搜索了一下关于一键ghost及还原系统的问题,如今还是没能解决,还要再琢磨一阵,不过终于可以进行windows更改了,然后又装了一遍虚拟机,周一到周三的时间全做这件事了,有点可惜,不过主要问题顺利解决了。
(关于“一键装机”一类的软件建议大家慎用,重装系统还是使用U盘制作比较可靠)
2.运行bash命令闪退问题。解决方案:在设置里找到使用开发人员功能,启用开发人员模式,仅在windows应用商店中不能安装一些高级开发功能。
代码调试中的问题和解决过程
1.在vim编辑好代码之后,在标准模式下输入“:wq”没法退出。解决方案:先使用:q! 强制退出,然后 sudo vi Hello.java 编辑后就可以使用“:wq”退出。
2.选择安装了java编译程序ecj软件包,却无法运行java程序。(如下图)
解决方案:使用“sudo apt-get install default-jdk”安装了另一个软件包,之后可以运行了,可能是ecj软件包的兼容性问题。
(前两个问题与朱娅霖同学的问题相似,可做如下连接的参考:在运行hello.java程序时的问题;Intellj IDEA 简易教程)
3.无法运行shell脚本程序。
解决方案:编写相同的java程序。出现这种问题主要是因为我没有弄懂脚本程序和java程序的代码的区别,所以导致我开始把书上1.1的程序错当成脚本编辑,从而运行错误,遇到这种问题的人可能就只有我了吧,脚本一般以“#!/bin/sh”开头,有sh标注,而java程序中的main方法的前面总有关键字public、static和void,编写代码时我还要多留心观察,不能盲目编写。
4.关于atom软件包无法定位的问题。(如下图)
解决方案:输入sudo add-apt-repository ppa:webupd8team/atom
按一下回车键,等待一会儿后
sudo apt-get update,之后
sudo apt-get install atom 等待安装即可。
(关于第一行代码的具体含义可使用baidu搜索)
(附链接:关于atom软件包无法定位的问题)
代码托管
(由于我之前使用windows bash环境,之后又用虚拟机,所以都截图了,以后尽量用虚拟机)代码提交过程截图:
代码量截图:
week1:
上周考试错题总结
1.填空:Linux Bash中,可以使用help,man和(info)命令查找命令的帮助信息。错误原因:看到查找之后就写了一个find,而find命令是查找一个文件的位置。info是查找命令的帮助信息。
加深理解:三种命令的区别:help命令只能显示shell内部的命令帮助信息。而对于外部命令的帮助信息只能使用man或者info命令查看。man是在程序安装的时候安装的帮助文档,可以在系统的目录下找到,如果软件有配套的页面,就可以使用man来查找。info指令是man 指令的详细内容。
4.判断:Linux Bash中, 可以使用man printf查看C语言中printf函数的帮助文档。 (x)
错误原因:不理解printf是什么。
加深理解:
man printf显示的分类为“printf(1)”,而在帮助文档中,1代表用户命令帮助,所以
man printf相当于
man 1 printf,而
man 3 printf才是库函数调用帮助。参考此链接
man手册区段如下:
区段 | 说明 |
---|---|
1 | 一般命令 |
2 | 系统调用 |
3 | 库函数,涵盖了C标准函数库 |
4 | 特殊文件(通常是/dev中的设备)和驱动程序 |
5 | 文件格式和约定 |
6 | 游戏和屏保 |
7 | 杂项 |
8 | 系统管理命令和守护进程 |
man printf命令运行如图所示:
6.填空:在 Linux 里面可以使用使用(chmod)命令修改文件的权限。
错误原因:不熟悉该命令的使用,实验楼的实验不够认真。
加深理解:一个目录同时具有读权限和执行权限才可以打开并查看内部文件,而一个目录要有写权限才允许在其中创建其它文件。每个文件的三组权限(拥有者,所属用户组,其他用户,记住这个顺序是一定的)就对应这一个 "rwx",也就是一个 '7' ,r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
8.填空:Linux中没有C盘,D盘,其文件系统的目录是由(FHS)标准规定好的。
错误原因:不理解FHS标准,没有在考虑的范围内。
加深理解:FHS是Filesystem Hierarchy Standard(文件系统目录标准)的缩写,多数Linux版本采用这种文件组织形式,类似于Windows操作系统中c盘的文件目录,FHS采用树形结构组织文件。
10.判断:Linux Bash中,pwd是passwd的缩写,可以修改用户密码。(X)
错误原因:思维定势,认为英语上password的简写就是pwd,Linux Bash中也一样。
加深理解: passwd是修改用户密码,而pwd命令用于显示用户当前所在的目录。
13.填空:Linux Bash中,使用(ls)命令列出文件和目录。
错误原因:在实验楼盲目练习,连最基本的ls还没理解。
加深理解:1. 命令格式:ls [选项] [目录名];2. 命令功能:列出目标目录中所有的子目录和文件。
14.填空:Linux Bash中,使用cat命令带行号查看test内容的命令是(cat –n test)。
错误原因:对cat命令掌握不熟练。
加深理解:cat命令用于读取指定文件的内容并打印到终端输出。
15.填空:Linux Bash中,使用echo查看环境变量PATH值的命令是(
echo $PATH)。
错误原因:不确定,不熟悉,所以好像没写。
加深理解:读取变量的值,使用echo命令和\(符号(\)符号用于表示引用一个变量的值)。
17.判断:Linux Bash中,使用tar命令把home目录打包成home.tar的命令是( tar -cf home.tar ~)。
错误原因:只知道有tar命令,不知道其具体命令运行格式。
加深理解:例如创建一个 tar 包:
$ tar -cf shiyanlou.tar ~,该命令中,-c表示创建一个 tar 包文件,-f用于指定创建的文件名,注意文件名必须紧跟在-f参数之后,比如不能写成
tar -fc shiyanlou.tar,可以写成
tar -f shiyanlou.tar -c ~。
18.填空:Linux Bash中,zip命令使用(-e)参数可以创建加密压缩包。
错误原因:实验楼忽略细节。
加深理解:创建加密zip包,使用-e参数可以创建加密压缩包,例如:
$ zip -r -e -o shiyanlou_encryption.zip /home/shiyanlou
21.填空:Linux Bash中,使用grep查找当前目录下.c中main函数在那个文件中的命令是( grep main .c )。
错误原因:grep命令后的顺序错误。
加深理解:*.c 一般是后缀,grep命令运行后,输出的内容冒号之前表示用户,后面表示该用户所属的用户组。
22.填空:Linux Bash中,使用wc统计hello.c和main.c共有几行代码的的命令是( wc -l hello.c main.c )。
错误原因:不熟悉wc命令,没写。
加深理解:Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数、字数、行数,并将统计结果显示输出。格式:wc -l 。
24.填空:Linux Bash中,把ls命令显示当前目录的结果存入ls.txt的命令输出重定向命令是(ls > ls.txt)。
错误原因:不理解什么是输出重定向,好像也没写。
加深理解:
ls:列出当前目录的内容。
.:表示当前目录下。
sort:进行排序。
错题原因总结:没有认真完成实验楼的任务,只是盲目地练习,缺少思考与记忆环节。
反思:虽然有相当多的一部分不太理解,但是可以通过实践来逐渐掌握和记忆,每周抽出固定的一部分时间巩固基础命令。
其他
感悟:本周是学习代码的第一周,我学习了java程序的安装环境,并且学会了编写几个简单的脚本程序和书上的java程序,需要注意几个问题:
不能盲目敲代码,要学会观察程序中的一些关键词,其次要注意学习安排,尽量不要把事情都挤到晚上熬夜完成作业(我晚上效率确实高),多增加白天有效学习的时间,逐渐学会思考,从而形成一种批判性思维(没那么容易的),觉得敲代码枯燥就去看看娄老师推荐的几本书,培养一定的专业素养,减少课余的无效时间,同时还要继续提升自己的英语水平。这周比较紧张完地成了学习任务,还要感谢舍友王彪、邻舍友张旭升等人的帮助,当然还有班级小组的王老师和娄老师,老师鼓励我通过搜索自己解决问题,我会逐渐改掉这种“懒于思考”的依赖的。学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 95/95 | 1/1 | 12/12 | 学会了编写简单的脚本和课本上的java程序 |
耗时估计的公式:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。)
参考:软件工程软件的估计为什么这么难,软件工程 估计方法
计划学习时间:10小时
实际学习时间:12小时
有效学习时间:3小时
改进情况:提升学习效率,尽量在自己有兴趣的时候多做,按照重要又紧急、紧急但不重要、重要但不紧急、不紧急也不重要的顺序完成学习任务,并尽可能减少处理紧急但不重要学习任务的投入,增加重要但不紧急学习任务的投入,用课余时间积极主动敲代码,参考娄老师的教学进程主动预习。(没那么容易的)
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)
参考资料
《Java程序设计与数据结构教程(第二版)》《Java程序设计与数据结构教程(第二版)》学习指导
Intellj IDEA 简易教程
Ubuntu下git的安装与使用
使用开源中国托管代码
相关文章推荐
- 20162330 2016-2017-2《程序设计与数据结构》第7周学习总结
- 20162330 2016-2017-2《程序设计与数据结构》第9周学习总结
- 20162330 2016-2017-2《程序设计与数据结构》第4周学习总结
- 20162330 2016-2017-2《程序设计与数据结构》第8周学习总结
- 20162330 2016-2017-2《程序设计与数据结构》第5周学习总结
- 20162330 2016-2017-2《程序设计与数据结构》第6周学习总结
- 张泰毓20162318 2016-2017-2 《程序设计与数据结构》第1周学习总结
- 20162330 2016-2017-2《程序设计与数据结构》第3周学习总结
- 20162308 2016-2017-2 《程序设计与数据结构》第1周学习总结
- 王彪20162321 2016-2017-2 《程序设计与数据结构》第1周学习总结
- 20162319莫礼钟 2016-2017-2 《程序设计与数据结构》第1周学习总结
- 20162330 2016-2017-2《程序设计与数据结构》第2周学习总结
- 20162308 2016-2017-2 《程序设计与数据结构》第2周学习总结
- 20155232 2016-2017-2 《Java程序设计》第1周学习总结
- 20155209 2016-2017-2 《Java程序设计》第1周学习总结
- 20155302 2016-2017-2 《Java程序设计》 第1周学习总结
- # 学号20162312 2016-2017-2《程序设计与数据结构》第2周学习总结
- 20155301 2016-2017-2 《Java程序设计》第1周学习总结
- 20155324 2016-2017-2 《Java程序设计》第1周学习总结
- 20155231 2016-2017-2 《Java程序设计》第1周学习总结