Learning by doing

绪论:读了娄老师的公众号中——《做中学(Learning By Doing)》这篇文章后,深有感触,我想到很多自己之前的事情,很多都是每每想的很好,总是因为各种原因不了了之,其实都是由于自己的懒惰造成的。学习这件事算是一个典型吧,每次到考试之前才会惊慌失措,然而这又能怪谁呢,只能怨自己平时不注重知识的积累,学习多数情况下是为了最终的考试,这和做中学的学习方法大相径庭。

你有什么技能比大多人(超过90%以上)更好?

啊,其实我对自己的素描(绘画)功底还是比较有自信的,但是要是说90%以上的话还是比较没底的。

针对这个技能的获取你有什么成功的经验?

读了《娄老师的做中学之乒乓球刻意训练一年总结》这篇文章后,我发现当一个人为了一个目标而为之努力的时候是不可战胜的,是无坚不摧的,是不可阻挡的。关于“减肥每天一万步,一周减十斤”这一点我非常赞同经我初中时候,下定决心减肥,连着做了三年的俯卧撑,所以那时候是我最瘦的时候!水滴石穿,如果一个人能坚持做一件事,那么一定会有所成就!

与老师博客中的学习经验有什么共通之处?

我认为共通之处在于都需要不断锻炼,不断实践,不断反思,不断改变,不断创新......从而获得成功。

有关C语言学习的调查

你是怎么学习C语言的?(作业,实验,教材,其他),与你的高超技能相比,C语言的学习有什么经验和教训?

首先课堂上要认真听讲,养成了记笔记的习惯;课后一来整理笔记,二来及时复习,多在平台上做c语言题,巩固学习内容和难点。经验总结起来是需要大量练习,多动脑,多思考,对一些重点内容要特别训练。教训就一个:别犯懒......

目前为止估算自己写过多少行C代码?理解的情况如何?

代码应该说有两千左右(因为上一次博客的留言,我特意去数的......),应该说对c语言的理解还不是很好,现在也就记得一个大体框架了。

学过了C语言,你分的清数组指针,指针数组;函数指针,指针函数这些概念吗?

看到这个问题我就默默地翻开了c语言课本,重新看了一遍这几个概念:

数组指针

数组指针,也称行指针,是一个指针变量,指针变量保存的是一个数组的首地址。

指针数组

指针数组是一个数组,数组的每个元素都是指向相同数据类型的指针。

函数指针

函数指针及指向函数的指针,储存的是一个函数在内存中的入口地址,可以通过它来调用函数。

指针函数

指针函数是一个返回值为指针的函数。

学过了C语言,你明白文件和流的区别和联系吗?如何区分文本文件和二进制文件?如何编程操作这两种文件?

并不是很清楚文件和流之间的区别,也不会区分文件和二进制文件。

学过了C语言,你知道什么叫面向过程程序设计吗?它解决问题的方法是什么?

面向过程(Procedure Oriented)是一种以过程为中心的编程思想。这些都是以什么正在发生为主要目标进行编程,不同于面向对象的是谁在受影响。与面向对象明显的不同就是封装、继承、类。……“面向过程”也可称之为“面向记录”编程思想,他们不支持丰富的“面向对象”特性(比如继承、多态),并且它们不允许混合持久化状态和域逻辑。就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。

在C语言里面,什么是模块?你写过多个源文件的程序吗?

函数就算是一种模块,暂时还没有写过多个源文件的程序。

学过了C语言,你知道什么是“高内聚,低耦合”吗?这个原则如何应用到高质量程序设计中?

所谓高内聚是指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则。

对于低耦合,粗浅的理解是:一个完整的系统,模块与模块之间,尽可能的使其独立存在。也就是说,让每个模块,尽可能的独立完成某个特定的子功能。模块与模块之间的接口,尽量的少而简单。如果某两个模块间的关系比较复杂的话,最好首先考虑进一步的模块划分。这样有利于修改和组合。

学过了C语言,你如何把数组A的内容复制到数组B中?如何查找整数数组A中有没有数字5?如何对整数数组A进行排序(从小到大,从大到小)?写出相应的程序。

把数组A的内容复制到数组B中
#include <stdio.h>
#include <string.h>
main()
{
char a[1000],b[1000];
printf("输入数组a:\n");
gets(a);
printf("输入数组b:\n");
gets(b);
strcat(b,a);
}
查找整数数组A中有没有数字5
#include <stdio.h>
#define N 50
int main()
{
int a[N],i,j,n;
printf("input n:");
scanf("%d",&n);
printf("input a:");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(j=0;j<n;j++)
{
if(a[j]==5)
printf("Find the 5");
}
}
对整数数组A进行排序(从小到大,从大到小)
#include <stdio.h>
#define N 50
int main()
{
int a[N],i,j,n,temp;
printf(" Input n:");
scanf("%d",&n );
printf("Input a:\n");
for (i=0; i<n; i++)
{
scanf("%d",&a[i]);
}
for (i=0; i<n; i++)
{
for (j=i+1; j<n; j++)
{
if (a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
for (j=0; j<n; j++)
{
printf("%d ",a[j]);
}
}

降序同理

写一个程序,统计自己C语言共写了多少行代码。

不......不会。

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

断点是指程序中断的地方。

对比C语言的学习,你对《Java程序设计》的学习有什么具体目标?如何通过刻意训练提高程序设计能力和培养计算思维?如何通过“做中学”实现你的目标?

希望能够更好更快的掌握JAVA这门课程,我自身会多多进行练习,也会尽力跟上老师所教授的课程。

毕业后大多数人从事的工作的要求是“提笔能写,开口能说,问策能对,遇事能办”,非常重要的技能是公文写作能力,你觉得自己写作能力如何?要怎么提高?

我的公文写作能力很一般,一来需要系统地学习有关的理论,二来可以努力扩大知识积累,三来应勤奋地进行资料积累和思想积累。

Learning by doing的更多相关文章

  1. 【Machine Learning】KNN算法虹膜图片识别

    K-近邻算法虹膜图片识别实战 作者:白宁超 2017年1月3日18:26:33 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...

  2. 【Machine Learning】Python开发工具:Anaconda+Sublime

    Python开发工具:Anaconda+Sublime 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现 ...

  3. 【Machine Learning】机器学习及其基础概念简介

    机器学习及其基础概念简介 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...

  4. 【Machine Learning】决策树案例:基于python的商品购买能力预测系统

    决策树在商品购买能力预测案例中的算法实现 作者:白宁超 2016年12月24日22:05:42 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本 ...

  5. Deep learning:五十一(CNN的反向求导及练习)

    前言: CNN作为DL中最成功的模型之一,有必要对其更进一步研究它.虽然在前面的博文Stacked CNN简单介绍中有大概介绍过CNN的使用,不过那是有个前提的:CNN中的参数必须已提前学习好.而本文 ...

  6. Programming Learning - Based on Project

    Today when taking a bath I got a good idea that it is an efficient and interesting way to learn a ne ...

  7. 做中学(Learning by Doing)之背单词-扇贝网推荐

    做中学(Learning by Doing)之背单词-扇贝网推荐 看完杨贵福老师(博客,知乎专栏,豆瓣)的「继续背单词,8个月过去了」,我就有写这篇文章的冲动了,杨老师说: 有时候我会感觉非常后悔,如 ...

  8. 【原】Learning Spark (Python版) 学习笔记(一)----RDD 基本概念与命令

    <Learning Spark>这本书算是Spark入门的必读书了,中文版是<Spark快速大数据分析>,不过豆瓣书评很有意思的是,英文原版评分7.4,评论都说入门而已深入不足 ...

  9. 【原】Learning Spark (Python版) 学习笔记(四)----Spark Sreaming与MLlib机器学习

    本来这篇是准备5.15更的,但是上周一直在忙签证和工作的事,没时间就推迟了,现在终于有时间来写写Learning Spark最后一部分内容了. 第10-11 章主要讲的是Spark Streaming ...

  10. 【机器学习Machine Learning】资料大全

    昨天总结了深度学习的资料,今天把机器学习的资料也总结一下(友情提示:有些网站需要"科学上网"^_^) 推荐几本好书: 1.Pattern Recognition and Machi ...

随机推荐

  1. HTML5零基础学习Web前端需要知道哪些?

    HTML零基础学习Web前端网页制作,首先是要掌握一些常用标签的使用和他们的各个属性,常用的标签我总结了一下有以下这些: html:页面的根元素. head:页面的头部标签,是所有头部元素的容器. b ...

  2. 批处理ODBC配置

    工作需要来回切换ODBC配置,用同一个DSN名称访问不同的数据库. 对于linux的odbc配置在odbc.ini文件里,替换不同的文件就可以切换了. 而windows的配置一直通过控制面板里的odb ...

  3. Object转数组

    int length = Array.getLength(value);String[] newarray = new String[length];for (int i = 0; i < le ...

  4. cygwin E437

    这个简单错误居然查到了 报错E437: terminal capability "cm" required 执行:# export TERM=xterm

  5. python file operations

    原文地址 总是记不住API.昨晚写的时候用到了这些,但是没记住,于是就索性整理一下吧: python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当 ...

  6. python os 命令,及判断文件夹是否存在

    使用前 import os导入模块   os模块: os.sep     可以取代操作系统特定的路径分割符 os.linesep  字符串给出当前平台使用的行终止符.例如,Windows使用'\r\n ...

  7. 第九章伪代码编程过程 The PseudoCode Programming Process

    目录: 1.创建类和子程序的步骤概述 2.伪代码 3.通过伪代码编程过程创建子程序 4.伪代码编程过程的替代方案 一.创建类和子程序的步骤概述 (1)创建一个类的步骤 1.创建类的总体设计 2.创建类 ...

  8. VMware 12 CentOS Minimal 安装VMwareTools 找不到头文件kernelheaders

    输入命令: yum install kernel-headers 安装vmware-tools时提示需要kernel headers 输入命令: yum install kernel-devel

  9. 使用JFinal的第一个项目出现的问题(The return type is incompatible with JspSourceDependent.getDependants())

    四月 08, 2016 4:35:34 下午 org.apache.catalina.core.ApplicationDispatcher invoke严重: Servlet.service() fo ...

  10. HDU5870 Alice's Adventure in Wonderland

    大概做法是这样的 考虑最朴素的做法,预处理出1到所有点的最短路数组dis1和方案数数组cnt1,和预处理出n到所有点的最短路数组dis2和方案数数组出cnt2,然后暴力枚举点对(A,B),如果A和B之 ...