预备作业02
你有什么技能比大多人(超过90%以上)更好?
第一眼看到这个问题的时候我愣愣的想了很久,比90%的人都好的技能听上去实在是太高大上了,我把自己从里到外都想了一遍,才突然发现自己从小到大琴棋书画几乎都学了一遍,但是能称得上比90%的人都好的好像只有葫芦丝演奏了。当时学的时候就考了葫芦丝七级(葫芦丝当时最高只有七级,现在好像有十级了),因为作为小众的民族器乐学的人并不十分多,考完最高级后中央音乐学院的老师还给当时教我的老师打过电话说是希望我继续学下去,但是说来很惭愧,入高中后我就没再继续学下去了,只是在闲暇之余当做消遣,现在觉得有这么一项技能其实挺难得的,寒假回家要好好练习了。
针对这个技能的获取你有什么成功的经验?
我觉得学习葫芦丝演奏给我最大的收获是持之以恒,熟能生巧。在此之前我学过的书法、画画之类的都是三天打渔两天晒网的学法,最后导致的是学过就忘,收获甚微。然而学习葫芦丝演奏我却坚持了下来,虽然最初的热度一过我就步入了很长一段时间的煎熬期,不断重复的指法练习,枯燥的吐音、花舌让我一度想过要放弃。当时教我的姚老师十分严厉,周末每天两小时的面对面指导还有课下每天的练习才能应对下一周的检查,然而即便如此我还是经常由于指法被打手板,但我就是抱着一股不服输的劲给撑了下来。然而当我度过这一段煎熬期后,我却豁然开朗了,长期练习打下的好基础让我后来在学习高难度曲目时十分轻松,各类技巧都变得如同行云流水一般,根本不用思考,手指在看到音符的时候就自动做出了反应。可见熟能生巧的功效。
与老师博客中的学习经验有什么共通之处?
阅读老师做中学一文后,我认为这与老师文中所说的“套路”以及“刻意训练与循序渐进”是共通的。
套路(Kata)指针对某一种特定技术或技能进行重复性的练习,从而将其熟练掌握。
我认为无论是学葫芦丝还是乒乓球,一项技术的掌握是需要不断练习的,这就是所谓的熟能生巧,而掌握和提高的过程也不是一蹴而就的,需要的是一个过程,在这方面我十分认同老师文中写的由舒适区进入学习区避开恐慌区的理论,既不能停滞不前也不能一口气吃成胖子,持之以恒,量力而行才是正确的方法。
C语言学习的调查
过去学习C语言的方法就是课上听懂老师讲的,而课下就通过刷题编程来巩固课上学习的知识点。c语言学习给我最大的经验和教训是对于一门计算机语言来说不上机实践一切都是空话,这在我学习c语言初期就是血淋淋的教训,起初由于不了解,只顾课上听懂就高枕无忧了,然而第一次实验时就看得一脸懵。这与学葫芦丝是一样的道理,太久不碰就会手生,语言学习更是尤为明显。
目前为止估算自己写过多少行C代码?理解的情况如何?
目前为止我写过的代码大概有四五千行了吧,大多是学习c语言时刷题时写的也有部分是c语言实验和信安数基的实验写的,理解情况还行,主要是练得多了也就理解了。
学过了C语言,你分的清数组指针,指针数组;函数指针,指针函数这些概念吗?
当时学的时候,通过练习还是很清晰的,现在隔了一个学期本来是有些生疏了的但是通过一些实验编程又重新拾了起来。
学过了C语言,你明白文件和流的区别和联系吗?如何区分文本文件和二进制文件?如何编程操作这两种文件?
很惭愧,对有关文件和流的内容不是很了解。
学过了C语言,你知道什么叫面向过程程序设计吗?它解决问题的方法是什么?
不了解。
在C语言里面,什么是模块?你写过多个源文件的程序吗?学过了C语言,你知道什么是“高内聚,低耦合”吗?这个原则如何应用到高质量程序设计中?
按照功能将一个软件切分成许多部分单独开发,然后再组装起来,每一个部分即为模块。函数就是模块,没有写过源文件程序,但是用过老师也粗略讲过。关于“高内聚,低耦合”不是很了解。
学过了C语言,你如何把数组A的内容复制到数组B中?如何查找整数数组A中有没有数字5?如何对整数数组A进行排序(从小到大,从大到小)?写出相应的程序。
复制:
#include <stdio.h>
#include <stdlib.h>
#define N 40
main()
{
char a[N],b[N];
printf("输入数组a:\n");
gets(a);
printf("输入数组b:\n");
gets(b);
strcat(b,a);
查找:
#include <stdio.h>
#include <stdlib.h>
#define N 40
main()
{
char a[N];
int i;
printf("输入数组a:\n");
gets(a);
for(i=0; a[i]!='\0'; i++)
{
if(a[i]=='5')
{
printf("该数组中含有5");
}
}
}
排序(只编了由小到大,由大到小只需稍作改动即可):
#include <stdio.h>
#include <stdlib.h>
#define N 40
main()
{
int m,j,k,n;
char a[N];
printf("输入a[N]:");
gets(a);
n=strlen(a);
for(m=0;m<n-1;m++)
{
k = m;
for(j=m+1;j<n;j++)
{
if(a[j]<a[k]) //改成>即可
k = j;
}
if(k!=m)
{
a[m] = a[m]^a[k];
a[k] = a[k]^a[i];
a[m] = a[m]^a[k];
}
}
printf("由小到大排序的结果为:");
for(i=0;i<n;i++)//输出结果
{
printf("%d",a[i]);
}
}
写一个程序,统计自己C语言共写了多少行代码。
这个我只会手动输入统计,不会用遍历文件的方法。
你知道什么是断点吗?给出自己调试程序的例子。
就是中断的标志,当单步调试执行到断点时停下。
JAVA
对比C语言的学习,你对《Java程序设计》的学习有什么具体目标?如何通过刻意训练提高程序设计能力和培养计算思维?如何通过“做中学”实现你的目标?
希望能熟练掌握JAVA这门语言,能够利用它编写一些小程序。坚持每天编一些程序,掌握一些新内容,同时在碰到有趣的现实问题时学会联想该如何用java编程,不要安于现状,学会步入“学习区”。
毕业后大多数人从事的工作的要求是“提笔能写,开口能说,问策能对,遇事能办”,非常重要的技能是公文写作能力,你觉得自己写作能力如何?要怎么提高?
我认为我的写作能力不强,在一些学生工作中就已经让我发现了不足。我认为要多看,使自己有内容,其次要多写,是自己得到锻炼。目前我正在通过学生工作努力提高这方面的能力。