做中学读后感

学习是要思考的,仅仅实践是不够的:

不光会动手,还要理解背后的原理

不光会用工具,还要理解支撑的理论

技能是分层次的:

一项技能的掌握程度分为:新手/高级初学者/合格者/精通/专家

对技能要有个期许,不能有了高级初学者的水平就满足了,要有当专家的梦想

实践要具备一定的量才能引起质变:

学乒乓球,没有10万次的练习掌握不了一个动作

学好编程?没有10000行代码的训练量是不够的

技能的提升要「刻意训练」

低水平重复是不行的,训练时间再长都没用

要摆脱「舒适区」,进入「学习区」学习

要循序渐进,不能进入「恐慌区」

学习提升要有反馈

当老师最好的方法是做教练

调过程序的都知道,如果知道哪错了,改起来是很容易的,定位错误在很难,这就是老师(教练)的价值

-- 引用自《做中学

我认为学习不是一个简单的听取知识的过程, 真正掌握理解知识需要自身的不断练习,只有不断的“做”,才能消化并吸收所听取的知识,就像C语言的学习,当我们知道各种代码的意义时,我们仅仅处于初级阶段,想要更加熟练地运用,就需要我们不断去练习,并掌握一定的套路。

正如做中学中所说的:套路(Kata)指针对某一种特定技术或技能进行重复性的练习,从而将其熟练掌握。这个概念借鉴于武术,指的是可以独自或多人共同练习的一系列动作、招式。

只有掌握了一定的套路,学习才算是达到了一定的境界,在此之前我们需要不断练习,通过量的积累来达到质的改变。

技能

我小时候学过很多东西,但稍微突出一些的只有小提琴和游泳,不敢说有多厉害,也不敢说比90%以上的人好,只是作为一个兴趣在培养。对于学习技能这件事情上,我认为成功的唯一方法就是多加练习,练的越多,收获也越多;相反,如果三天打鱼两天晒网,不管天资多么聪慧,也不会有多大的成就。

做中学中提到,体育运动的初学者练习时候都需要重复动作,比如「学习打乒乓球时」要练习挥拍,挥拍成千上万遍之后动作就会定型,也就是教练常说的「肌肉有了记忆能力」,以后实战中可以不假思索地做出来。

我认为JAVA学习也是这个道理,作为一门语言,它只有靠勤学多练,才能有所掌握,这样在我们碰到较难的问题时,也能通过牢靠的基础而一步步推出结果。不漏下每一个知识点,使问题不要积累,这样才能学好一门技术,一门语言。

c语言学习的调查

  • 学习c语言,我一般就是直接看题,遇到不会的再翻书查概念,然后再做下一题,实在不会的就看答案。在c语言方面,我对自己没有严格要求,以致于到了最后还是有很多不会的地方,c语言基础不是很牢靠。
  • 自己大约写过2000行代码,基础的代码基本都可以理解,但是后面较难的就不太会了。我认为和质都很重要,我们不能忽视量,也不能忽视质。如果只重视量,程序稍微复杂一些就不会了,很显然就不能达到一定的高度;如果只重视质,只做一些难题,没有量的积累,那么薄弱的基础必然导致换一个题型就不会做。所以,我们要在量的基础上适当拔高,从而达到平衡量变和质量的目的。
  • 这个基本分得清,数组指针和函数指针是指针,分别指向某个地址和某个函数的地址。指针数组是指一组地址,指针函数是指可以返回某个地址的函数。
  • 这个我不能分清,经过查阅资料,我大致了解了一点。文件是计算机管理数据的基本单位,流是字节序列的抽象概念。文本文件本质上也是一种二进制文件,但二进制文件全都是0和1组成的,而文本文件是由字母、数字、符号等组成,可以通过这一点来进行区分。通过c语言或是Java等编辑得到文本文件,然后再经过编辑、翻译软件处理得到二进制文件。
  • 这个我不明白,经过查阅资料,面向过程程序设计大致就是以过程为中心的编程思想。但不明白解决问题的方法。
  • 我认为模块是一个完整的程序中,具有独立功能的一部分程序。我没有写过多个源文件的程序。
  • 这个我也不了解。经过查阅资料,内聚是指模块内部的联系,耦合是指模块之间的关系。高质量的程序设计中,模块内部联系紧密,关联性强;模块之间相互独立,各自分别完成自己的功能。
  • 把数组A的内容复制到数组B中:
#include <stdio.h>
int main()
{
int a[10],b[10],n;
int i = 0,j=0; printf("输入个数:\n");
scanf("%d",&n);
printf("输入值:\n");
for(i = 0;i<n;i++){
printf("%d\n",&a[i]);
}
for(j=0;j<n;j++){
b[j]=a[j];
} return 0;
}
  • 整数数组A中有没有数字5?
- #include <stdio.h>
#define N 100
int main()
{
char A[N];
int i,n=1;
gets(A);
for(i=0;A[i]!='\0';i++)
{
if(A[i]=='5')
{
printf("有数字5");
n=0;
break;
}
}
if(n)
printf("没有数字5");
}
-
  • 对整数数组A进行排序
  • 从小到大
#include<stdio.h>
main()
{
int a[10];
int i,j,t;
printf("Input 10 numbers:\n");
for(j=0; j<10; j++)
scanf("%d",&a[j]);
printf("\n");
for(i=0; i<9; i++)
for(j=0; j<9-i; j++)
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
for(j=0; j<10; j++)
printf("%d\n",a[j]);
printf("\n");
}
  • 从大到小
- #include <stdio.h>
#define N 10
main()
{
int a[N];
int i,j,k,t;
for(i=0;i<9;i++)
{ k=i;
for(j=i+1;j<10;j++)
if(a[j]>a[k]) k=j;
if(k!=i)
{
t=a[k];
a[k]=a[i];
a[i]=t;
}
}
for(i=0;i<9;i++)
printf("%d ",a[i]);
  • 写一个程序,统计自己C语言共写了多少行代码。

这个程序毫无思路,不会写,在今后的学习中会留意此类代码

  • 你知道什么是断点吗?给出自己调试程序的例子。

不知道,查阅资料后大致明白: 断点是人为设置的,意思就是让程序执行到此“停住”,不再往下执行,然后主动权就交给调试者了,此时你可以做调试软件支持的任何事情(那要看调试软件的能够提供的功能了,例如查看、修改、单步跟踪、继续执行、设置下一个断点以及断点次数和条件断点设置等等)。

  • 提出问题
  1. path是windows程序文件目录,classpath是类文件目录,用系统属性目的是把classpath放到了path中吗?
  2. java里有没有按位 与 或 异或?
  3. java数组里有传值吗?还是都是传地址?
  4. java语言中的位移运算问题
  5. java如何保存文件
  6. 子类继承用于什么情况?面向抽象编程程序上有什么特别之处?
  7. Java 远程调用如何操作实现?
  8. 如何使用java操作 ppt转图片
  9. JDBC数据库操作是否是建立服务器的基础?
  10. StringBuffer类是如何使用的?
  11. 线程的创立应该注意什么?
  12. 后台(java)如何将聊天信息保存至数据库
  13. Java如何利用foreach对数组的遍历
  14. java调用接口时怎么添加证书认证
  15. java中怎么执行sql语句
  • Java学习目标

掌握基本的概念和知识点,能够完成基本的作业,课后多练习,多思考,认真完成每一次实验。

20165232 学习基础和c语言基础调查的更多相关文章

  1. 20165318 预备作业二 学习基础和C语言基础调查

    20165318 学习基础和C语言基础调查 技能学习经验 我们这一代人,或多或少的都上过各种兴趣班,舞蹈钢琴画画书法,我也是如此.可这些技能中,唯一能拿的出手的就是舞蹈了.按照<优秀的教学方法- ...

  2. 20165230 学习基础和C语言基础调查

    20165230 学习基础和C语言基础调查 技能学习经验 我擅长弹钢琴.小时候我曾上过很多兴趣班,比如钢琴.跳舞.书法.绘画等等,唯一坚持至今的只有钢琴.仔细一算学习钢琴至今已有12年,不能说已经精通 ...

  3. 20165237 学习基础和C语言基础调查

    学习基础和C语言基础调查 一.技能学习与特长 你有什么技能比大多人(超过90%以上)更好? 我的爱好和技能说实话挺广泛的.如果要挑出来一个很擅长的话,我觉得应该是钢琴. 针对这个技能的获取你有什么成功 ...

  4. 20165234 预备作业2 学习基础和C语言基础调查

    学习基础和C语言基础调查 一.技能学习经验及体会 你有什么技能比大多人(超过90%以上)更好? 看到这个问题,我仔细想了想,好像的确没有什么特别出众的技能,但是我想到了许多我个人的爱好. 我从小喜欢五 ...

  5. 20165337学习基础和C语言基础调查

    20165337学习基础和C语言基础调查 你有什么技能比大多人(超过90%以上)更好? 讲道理我感觉我自己没有什么能比90%以上的人都做得好的技能,我就瘸子里面拔将军挑一个我自认为还不错的技能吧. 我 ...

  6. 学习基础和C语言基础调查

    学习基础和C语言基础调查 一.一种比大多数人(超过90%以上)更好的技能 说句实话,我还没有那种特别特别自信的.说我能拿得出手的.所谓能超过百分之九十以上的人的技能.毕竟人外有人,天外有天. 姑且算上 ...

  7. 20165323 学习基础和C语言基础调查

    20165323 学习基础和C语言基础调查 一.技能学习心得 1.你有什么技能比大多人更好? 我觉得我羽毛球打的还行,不能说打得比大多数人好,但是对于一些打羽毛球的要领还是掌握的. 2.针对这个技能的 ...

  8. 20165235 学习基础和C语言基础调查

    20165235 学习基础和C语言基础调查 首先第一个问题:你有什么技能比大多人(超过90%以上)更好?感觉很难回答这种问题,其实我对很多东西挺感兴趣的,如果非要拿出一种比较突出的技能的话我感觉就是象 ...

  9. 20165317 学习基础和C语言基础调查

    学习基础和C语言基础调查 关于优势技能 说来惭愧,读书多年,爱好不少,但是真的能拿的出手的.能被叫做特长的不多.至今,能在同龄人中处于较领先位置的也只有从四年级开始练起的乒乓球.记得开始练习乒乓球是从 ...

  10. 20165305 学习基础和C语言基础调查

    学习基础和C语言基础调查 <优秀的教学方法---做教练与做中学>心得 在<优秀的教学方法---做教练与做中学>文章中又一次提到了"做教练"这一学习方法,因为 ...

随机推荐

  1. Jquery实现检测用户输入用户名和密码不能为空

    要求 1.用户名和密码为空点击登录时提示相应的提示 2.获取用户名输入框时,错误提示清除 思路 1.创建1个input-text标签和1个input-password标签,1个input-botton ...

  2. mysql 自带的性能压力测试工具

    mysqlslap -h127.0.0.1 -uroot -p --concurrency=100 --iterations=1 --auto-generate-sql --auto-generate ...

  3. SpringMVC 集成Log4j

    项目地址:https://github.com/xiaoqiu-duan/DataProject.git 1.添加jar <dependency> <groupId>org.s ...

  4. 【BZOJ4042】【CERC2014】parades 状压DP

    题目大意 给你一棵\(n\)个点的树和\(m\)条路径要求你找出最多的路径,使得这些路径不共边.特别的,每个点的度数\(\leq 10\). \(n\leq 1000,m\leq \frac{n(n- ...

  5. VIM 光标移动常用命令

        h或^h 向左移一个字符  k或^p 向上移一行 j或^j或^n 向下移一行 l或空格 向右移一个字符 G 移到文件的最后一行 nG 移到文件的第n行 w 移到下一个字的开头 W 移到下一个字 ...

  6. [国家集训队]整数的lqp拆分

    我们的目标是求$\sum\prod_{i=1}^m F_{a_i}$ 设$f(i) = \sum\prod_{j=1}^i F_{a_j}$那么$f(i - 1) = \sum\prod_{j=1}^ ...

  7. Luogu P5283 / LOJ3048 【[十二省联考2019]异或粽子】

    联考Day1T1...一个考场上蠢了只想到\(O(n^2)\)复杂度的数据结构题 题目大意: 求前\(k\)大区间异或和的和 题目思路: 真的就是个sb数据结构题,可持久化01Trie能过(开O2). ...

  8. 【165223&165218】结对感想——论如何与队友完美配合

    ★ 为什么要结对编程? 一.结对编程的优势 搭档的形式 平等.互补 高效率.共分享 相互影响.督促学习 方便复审与反馈 二.结对编程的方式 互换的角色 相同的目的 结对编程中有两个角色: (a)驾驶员 ...

  9. PHP基础学习----字符串操作

    1.单引号和双引号的区别 在php中,字符串的定义可以使用英文单引号'',也可以使用英文双引号“”: <?php $str = 'hello'; echo "str is $str&q ...

  10. ACM-ICPC 2015 ChangChun

    比赛链接 :点击这里 大概会写 F G J L 吧 F 给你一个序列 最多删除一个数使他构成 最长不上升或者不下降子序列 这题不会不会on的算法只能 t*n*logn 了 还是压常过 求两次 LIS ...