有关技能的习得与经验的总结
你有什么技能比大多人(超过90%以上)更好?
- 我从小到大都是个兴趣广泛的孩子,涉猎了很多看似不务正业的知识技能。二胡、吉他、绘画、模型、街舞、排球。俗话说“技多不压身”,但这些我大部分都是略懂皮毛,其中真正坚持最久、学习最深刻的应当是排球了。
- 我从小学五年级开始接触排球,初中进入我们中学的排球校队,连续三年夺得我们市初中级排球联赛的第一名。尽管高中时学习紧张中断了排球的训练,但我仍会有意识的关注排球赛事与新闻。进入大学后,我又加入了我们系的排球队,并连续两年获得院赛冠军。我想我在排球方面,至少比电科院大多人(超过90%以上)水平更高。
针对这个技能的获取你有什么成功的经验?
- 在娄老师《优秀的学习方法--做中学》中,老师提到了“肌肉有了记忆能力”。在小学刚刚接触排球时,教练就是拿着排球不断地扔给我们,让我们一遍遍去接。而在接球时,教练会不断纠正我们的动作,甚至有时会让我们凭空做垫球的动作,就好像娄老师练习乒乓球时的挥拍练习。我们的胳膊常常会在一场训练后又青又紫,教练说不可以带任何护具,这是为了让我们的肌肉产生记忆,去适应接球的感觉,适应过后自然就不痛了。每次教练讲解完动作要领后都会让我们立刻去实践训练,让我们立刻能从中获得收益,这激发了我对排球的兴趣,也让我能走上这条道路。所以我认为对于初学者来说,学习一门技能最重要的是要先激发他的兴趣,学习初期往往是枯燥的,要有兴趣的支撑,才能挨过这最艰难的入门阶段,从新手进阶为高级初学者。
- “低水平重复是不行的,训练时间再长都没用”。初中时进入校队,我开始接触较为正规的训练。开始了解一些比赛的规则与团队配合的技巧,我发现这与之前个人技巧的训练完全不同。我把自己的动作做得再标准,比赛时总会有各种不同的情况袭来,不能随机应对的话,说明我学的只是死知识还不能灵活运用,为自己所用。于是我开始总结比赛中遇到的情况,进行归类,进而想出各种不同的应对措施,进行刻意训练,从而有了进一步的提升。
- 上大学后,有了更多的空余时间来进行排球的训练,技能的提升必定有长时间不断的磨练做基础,大学让我开了眼界,让我见识到了更多厉害的学长学姐,让我不满足于自己的现状,对排球有了更高的期望。在大学的训练中,教练就是学长学姐,于是交流显得更加的方便。在训练时,我有不懂的问题就直接问,然后立刻改正并再次尝试,渐渐地我能够找的那种接一传的感觉,不管对面发来什么球,我都可以淡定自若的接起来并稳妥的送到二传手手里,这是一个技能上的提升,也是心态的提升。如今大二了,教新大一的学弟学妹们训练,自己更加巩固了技能上的心得体会,达到对排球的精通。
与老师博客中的学习经验有什么共通之处?
- 娄老师在乒乓球刻意训练中提到的实践一万小时理论,技能的习得最基础也是最重要的就是训练时间的积累,在天才的人也要通过不断地练习达到一定的高水平。
- “做教练”的经验我也在大二的排球训练中体会到了。不仅自己的技能要达到一个较高的水平,让我去教另一个人使他也得到提升,这是对自己的又一个考验,在教导他人的过程中,自己的技能水平得到了巩固。
- “学而不思则罔,思而不学则殆。”在技能学习中,实践训练与理论思考要相互结合。
有关C语言学习的调查
1.你是怎么学习C语言的?(作业,实验,教材,其他),与你的高超技能相比,C语言的学习有什么经验和教训?
- 我C语言的学习主要是靠上课老师的理论知识教导与每天15道练习题的训练。每次的实验对我来说则是对这段时期学习成果的检测。与排球训练相比,对C语言的学习可能缺少那么浓厚的兴趣,导致不能把这门学问做精。盲目的刷题也导致我停下来思考与总结的时间很少。
- 2.目前为止估算自己写过多少行C代码?理解的情况如何?
- 目前为止估算自己写过两千行左右的代码,其中大部分是简单地程序编写,有很多套路只是记住了而已,没能达到真正的理解。
- 3.学过了C语言,你分的清数组指针,指针数组;函数指针,指针函数这些概念吗?
- 数组指针:数组名的指针,即数组首元素地址的指针。即是指向数组的指针。int (*p)[10]; p即为指向数组的指针,又称数组指针。
- 指针数组:数组元素全为指针的数组称为指针数组。
- 函数指针:函数指针是指向函数的指针变量。
- 指针函数:指针函数是指带指针的函数,即本质是一个函数。函数都有返回类型(如果不返回值,则为无值型),只不过指针函数返回类型是某一类型的指针。
4.学过了C语言,你明白文件和流的区别和联系吗?如何区分文本文件和二进制文件?如何编程操作这两种文件?
- 文件是计算机管理数据的基本单位,同时也是应用程序保存和读取数据的重要场所。流是字节序列的抽象概念,例如文件、输入/输出设备、内部进程通信管道等。
- 5.学过了C语言,你知道什么叫面向过程程序设计吗?它解决问题的方法是什么?
- “面向过程”是一种以过程为中心的编程思想。就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。
6.在C语言里面,什么是模块?你写过多个源文件的程序吗?
- 模块指为完成某一功能所需的一段程序或子程序;或指能由编译程序、装配程序等处理的独立程序单位;或指大型软件系统的一部分。我还没有编写过多个源文件的程序。
7.学过了C语言,你知道什么是“高内聚,低耦合”吗?这个原则如何应用到高质量程序设计中?
- 通过查阅资料:内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事。它描述的是模块内的功能联系;
耦合是软件结构中各模块之间相互连接的一种度量,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据。高内聚低耦合,是软件工程中的概念,是判断设计好坏的标准,主要是面向对象的设计,主要是看类的内聚性是否高,耦合度是否低。
8.学过了C语言,你如何把数组A的内容复制到数组B中?如何查找整数数组A中有没有数字5?如何对整数数组A进行排序(从小到大,从大到小)?写出相应的程序。
#include <stdio.h>
int main()
{
char x[50],y[50];
int i;
printf("输入数组x:
");
gets(x);
for(i=0; x[i]!=' '; i++)
y[i]=x[i];
y[i]=' ';
printf("数组y:")
puts(y);
}
#include <stdio.h>
int main()
{
char x[50];
int i;
printf("请输入数组x:
");
gets(x);
for(i=0; x[i]!=' '; i++)
{
if(x[i]=='5')
{
printf("数组中有5");
}
}
}
int a[100],i,j,k,n,t;
printf("input n:");
scanf("%d",&n);
printf("input a:");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(k=0;k<n-1;k++)/*从大到小*/
{
for(j=k+1;j<n;j++)
{
if(a[j]>a[k])
{
t=a[j];
a[j]=a[k];
a[k]=t;
}
}
}
for(k=0;k<n-1;k++)/*从小到大*/
{
for(j=k+1;j<n;j++)
{
if(a[j]<a[k])
{
t=a[j];
a[j]=a[k];
a[k]=t;
}
}
}
9.写一个程序,统计自己C语言共写了多少行代码。
#include <stdio.h>
int main()
{
int ch,lines;
FILE *fp;
char filename[FILENAME_MAX];
printf("输入文件名:");
while(scanf("%s",filename) == 1)
{
fp = fopen(filename,"rt");
if(fp == NULL)
{
printf("文件打开失败");
printf("输入文件名:");
continue;
}
lines = 0;
while((ch = fgetc(fp)) != EOF)
{
if(ch == '
') ++lines;
}
fclose(fp);
printf("%s 的行数为 %d
",filename,lines);
printf("输入文件名:");
}
return 0;
}
10.你知道什么是断点吗?给出自己调试程序的例子。
- 断点是调试器的功能之一,可以让程序中断在需要的地方,从而方便其分析。还没有在调试程序时使用过断点。
对比C语言的学习,你对《Java程序设计》的学习有什么具体目标?如何通过刻意训练提高程序设计能力和培养计算思维?如何通过“做中学”实现你的目标?
- 对比C语言的学习,我希望在下学期的《Java程序设计》学习中,至少达到老师所说的合格者,并心怀专家梦,不断前行。根据课程的特点、重点、难点,分类刻意训练提高自己的程序设计能力,在编程过程中,多思考与分析,培养自己的计算思维。在实践中思考,不断重复学习、思考、实践、总结的过程,通过“做中学”实现自己的目标。
毕业后大多数人从事的工作的要求是“提笔能写,开口能说,问策能对,遇事能办”,非常重要的技能是公文写作能力,你觉得自己写作能力如何?要怎么提高?
- 我觉得自己的写作能力很一般。我会在每周的博客中不断积累自己的语言表达能力,通过阅读公文范例学习其中的技巧。