最新范文 导航

R语言学习总结

编辑:教师范文吧2021-11-24

R语言学习总结 本文关键词:语言,学习

R语言学习总结 本文简介:R语言学习总结经过接近一个学期的学习,从对R语言的完全陌生,到现在对其有了一些粗浅的认识,其中经历了遇到困难苦思冥想的艰辛,也有解决问题以后豁然开朗的畅快。在学习的过程中,以前掌握的数理基础给我带来了不少便利,而认真地态度和踏实的性格也使我获益匪浅。在这个学期中,我学会了R语言的基本操作和语法,以及

R语言学习总结 本文内容:

R语言学习总结

经过接近一个学期的学习,从对R语言的完全陌生,到现在对其有了一些粗浅的认识,其中经历了遇到困难苦思冥想的艰辛,也有解决问题以后豁然开朗的畅快。在学习的过程中,以前掌握的数理基础给我带来了不少便利,而认真地态度和踏实的性格也使我获益匪浅。

在这个学期中,我学会了R语言的基本操作和语法,以及针对具体的统计学问题相应的解决方法。并按时完成老师布置的课后作业,以达到学以致用的目的,也加强了对R语言操作的熟练度。

一、初识R软件

R软件是一套完整的数据处理、计算和制图软件系统。其功能包括:据存储和处理,数组运算,完整连贯的统计分析工具,优秀的统计制图功能已及简便而强大编程语言。

接触R语言以后,我的第一感觉就是方便和强大。R语言中有非常多的函数和包,我们几乎不用自己去编一些复杂的算法,而往往只需要短短几行代码就能解决很复杂的问题,这给我们的使用带来了极大地方便;于此同时,它又可操纵数据的输入输出,实习分支、循环,使用者可以自定义功能,这就意味着当找不到合适的函数或包来解决所遇的问题时,我们又可以自己编程去实现各种具体功能,这也正是R语言的强大之处。

二、学习心得

在学习该书的过程中,我不仅加深了对统计学方法的理解,同时也掌握了R软件的编程方法和基本技巧,了解了各种函数的意义和用法,并能把两者结合起来,解决实际中的统计问题。

1、R语言的基本语法及技巧

R语言不仅可以进行基础的数字、字符以及向量的运算,内置了许多与向量

运算有关的函数。而且还提供了十分灵活的访问向量元素和子集的功能。R语言中经常出现数组,它可以看作是定义了维数(dim属性)的向量。因此数组同样可以进行各种运算,以及访问数组元素和子集。二维数组(矩阵)是比较重要和特殊的一类数组,R可以对矩阵进行内积、外积、乘法、求解、奇异值分解及最小二乘拟合等运算,以及进行矩阵的合并、拉直等。apply()函数可以在对矩阵的一维或若干维进行某种计算,例如apply(A,1,mean)表示对A按行求和。

R语言允许将不同类型的元素放在一个集合中,这个集合叫做一个列表,列表元素总可以用“列表名[[下标]]”的格式引用。而“列表名[下标]”表示的是一个子列表,这是一个很容易混淆的地方。R语言中非常重要的一种数据结构是data.frame(数据框),它通常是矩阵形式的数据,但每列可以是不同类型,数据框每列是一个变量,每行是一个观测,要注意的是每一列必须有相同的长度。数据框元素可以使用下标或者下标向量引用。

用一个非常简单的例子来说明向量、矩阵和数据框的简单运用。

输入:

A<-matrix(c(1:12),2,6,byrow=T)

#A为一个2行6列,按行排列的矩阵

X<-as.data.frame(A)

#把A转化成数据框形式的X

X[1:2,seq(1,5,2)]

#输出X的第1、2行和1、3、5列

结果为:

V1

V3

V5

1

1

3

5

2

7

9

11

输入:

attach(X);R<-V1/V5;R

#调用数据框X,计算并输出V1和V5的比值

结果为:

[1]

0.2000000

0.6363636

与此同时R语言中也提供了其它高级程序语言共有的分支、循环等程序控制结构。比如if/else语句,for循环等。因此R语言也可以很容易的根据情况编写自己所需要的函数。

以习题2.7为例:编写一个R程序,输入一个整数n,如果n小于等于0,中止运算,并输出:“要求输入一个正整数”;否则,如果n是偶数,则将n除2赋值给n;否则将3n+1赋给n。不断循环,直到n=1停止,并输出:“运算成功”

解:新建一个程序脚本,名为chapter2.R”,写入代码:

f<-function(n){

if(n<=0)

list(“要求输入一个正整数“)

else{repeat{

if(n==1)

break

#n=1时终止

else

if(n/2==as.integer(n/2))

n<-n/2

#n为偶数时除2

else

n<-3*n+1

}

list(“运算成功“)

}

}

在R窗口中输入:

Source(“chapter2.R”);f(32)

输出:

[1]

“运算成功“输入:

f(-5)

输出:

[1]

“要求输入一个正整数“2、R在统计描述中的应用

使用R软件可以方便直观的对数据进行描述性分析。如使用均值、中位数、顺序统计量等度量位置;用方差、标准差、变异系数等度量分散程度;以及用峰度系数、偏度系数度量分布形状。例如在窗口中输入:

x<-seq(1,589,3)

length(x);mean(x);var(x);sd(x);median(x);100*sd(x)/mean(x)

[1]

197

#长度

[1]

295

#均值

[1]

29254.5

#方差

[1]

171.0395

#标准差

[1]

295

#中位数

[1]

57.97948

#样本标准差

n<-length(x);m<-mean(x);s<-sd(x)

n/((n-1)*(n-2))*sum((x-m)^3)/s^3;((n*(n+1))/((n-1)*(n-2)*(n-3))*sum((x-m)^4)/s^4-

(3*(n-1)^2)/((n-2)*(n-3)))

[1]

0

#偏度系数

[1]

-1.2

#峰度系数

R软件可以检验样本是不是来自某种分布总体,以正态分布为例,我们可以通过shapiro.test()函数提供W统计量和相应的p值,并通过p值的大小判断样本是否来自正态分布的总体。经验分布的K-S检验方法的应用范围则更加广泛,不仅可以判断样本是否来自正态总体,也能判断是否来自其它类型的分布总体。

以习题3.3为例:分别用W检验方法和Kolmogorov-Smirnov检验方法检验习题3.1的数据是否服从正态分布;

首先将一百个数据存入”data.txt”中(此文件要放在工作空间目录中)

x<-read.table(“data.txt”);shaoiro.test(x)

Shapiro-Wilk

normality

test

data:

x

W

=

0.9901,p-value

=

0.6708

可见该样本来自正态总体

ks.test(x,pnorm,mean(x),sd(x))

One-sample

Kolmogorov-Smirnov

test

data:

x

D

=

0.073,p-value

=

0.6611

alternative

hypothesis:

two-sided

结果与W检验相同

除此之外,R语言还有强大的画图功能,例如我们可以通过作直方图、茎叶图和总体分析来描述数据的分布。R中的高水平作图函数有:plot()、pairs()、coplot()、qqnorm()、hist()等等。当高水平作图函数并不能完全达到作图的指标时,需要低水平的作图函数予以补充。低水平作图函数有:points()、lines()、text()、polygon()、legend()、title()和axis()等。需要注意的是低水平作图函数必须是在高水平作图函数所绘图形的基础之上增加新的图形。

hist()函数可以做出已知数据的直方图,stem()函数可以作茎叶图,boxplot()函数可用作箱线图,qqline()和qqmorm()可以做出正态QQ图和相应的直线。R语言同时还能对两组数据进行相关性检验,cor.test()函数提供了Pearson相关性

检验,Spearman秩检验和Kendall秩检验。其原假设为两组数据不相关,通过p值的大小来判断是否拒绝原假设。我们还能用stars()函数作出星图,来表示多元数据,以上用法都非常简单易用,这里就不再赘述。

3、R语言在统计推断中的应用

首先,R语言可以用来进行参数估计;

统计学中我们应用矩估计和极大似然估计来进行点估计,矩估计是通过解正规方程组得到参数估计的值;极大似然估计通过解极大似然函数的极值点得到参数估计的值。在R中我们可以使用Newton迭代法求解正规方程组,获得矩估计;用optimize()函数求解极大似然函数,获得最大似然估计;由此可见,R语言能够很方便的解决参数点估计问题。

点估计给出未知参数的近似值以后,并不能知道这种估计的精确性如何,可信程度如何,为了解决这些问题,就需要用到区间估计,在学习用R语言解决区间估计问题的过程中,我最大的体会就是R软件中内置的一些函数极大地方便了我们处理具体问题。比如t.test()函数。对单个正态总体,向量x包含了来自该总体的一个样本,我们可以直接用t.test(x)指令得到均值u的点估计和区间估计;对于两个正态总体,向量y包含了来自第二个总体的一个样本,我们可以用t.test(x,y)来得到均值差u1-u2的点估计和区间估计,其中当两个总体方差相同时,只需要加上var.equal=T(缺省值为F,即默认两个总体的方差是不同的);同时t.test()函数不仅可以进行双侧置信区间估计,也能进行单侧置信区间估计,只需要在括号内加上al=”l”或者al=”g”。当数据不服从正态分布是,可以利用中心极限定理,取较大的样本量,构造近似服从正态分布的统计量进行估计。

其次,R语言可以用来进行假设检验。

假设检验也是统计推断中的一个重要的内容,在统计学中,我们用搜索到的数据对某个事先作出的统计假设按照某种设计好的方法进行检验,来判断此假设是否正确。也就是说为了检验一个假设是否成立,先假定它是成立的,看看由此会导致什么结果。如果导致一个不合理的现象出现,就认为原假设不正确,如果没有导出不合理的现象,则不能拒绝原假设。

R软件给出了参数假设检验的方法。以正态总体为例,t.test()函数也可以用来进行单个或者两个正态总体的均值的假设检验。进行单边检验时可以加入指令alternative(备择假设),缺省时表示双边检验,less表示备择假设为u

X<-c(78.1,72.4,76.2,74.3,77.4,78.4,76.0,75.5,76.7,77.3)

Y<-c(79.1,81.0,77.3,79.1,80.0,79.1,79.1,77.3,80.2,82.1)

t.test(X,Y,var.equal=T,al=”l”)

输出:Two

Sample

t-test

data:

X

and

Y

t

=

-4.2957,df

=

18,p-value

=

0.0002176

alternative

hypothesis:

true

difference

in

means

is

less

than

0

95

percent

confidence

interval:

-Inf

-1.908255

sample

estimates:

mean

of

x

mean

of

y

76.23

79.43

结果中我们不仅能得到X和Y的均值的点估计76.23和79.43、左侧区间估计、同时也能通过p值的大小判断是否接受原假设,该例中p<0.05,认为拒绝原假设,即认为两总体方差不同。与均值假设检验相类似。

R语言中还可以用var.test()函数进行正态总体的方差假设检验。而且R语言不仅能就正态总体进行均值和方差检验,也能对其他总体分布进行检验。例如用binom.test()进行二项分布的检验和估计。习题5.3中检验铁剂和饮食两种方法治疗后患者病情表现有无差异:

x<-c(113,120,138,120,100,118,138,123)

y<-c(138,116,125,136,110,132,130,110)

binom.test(sum(x

Exact

binomial

test

data:

sum(x

<

y)

and

8

number

of

successes

=

4,number

of

trials

=

8,p-value

=

1

alternative

hypothesis:

true

probability

of

success

is

not

equal

to

0.5

95

percent

confidence

interval:

0.1570128

0.8429872

sample

estimates:

probability

of

success

0.5

由结果我们可以判断两种诊断方法无显著差异(其中用到的统计学原理见下面的符号检验)。

参数假设检验假定了总体分布的具体形式,但实际问题中我们往往不知道总体的分布,很难对总体的分布做出假定,所有要尽量从样本本身获得所需要的信息,即非参数检验方法。

R语言中有很多种非参数的检验方法,这里仅介绍几个较为重要的方法。Pearson拟合优度的卡方检验:首先假设随机变量有某种分布,将数轴分成m个区间,然后用样本落在每个区间内的个数和其期望构造K统计量,当n很大是,K依分布收敛于自由度为m-1的卡方分布。然后进行参数假设检验。在R语言中可以用chisq.test()函数来实现。符号检验可以用来检验一个样本是否来自某个总体,或者检验两个总体是否有显著区别。对于前者,如果样本中位数等于假设的总体的中位数,我们就认为样本来自该假设,此时每个样本中位数和总体中位数的差额应该正负各一半,所以可以用p=0.5的二项分布来检验。对于后者,如果认为两个总体无显著差异,则对应的两个样本观测值正负差额的个数应该大体相当,即正负各占一半,像单个样本一样,检验其是否来自p=0.5的二项分布。这在R语言中只需要用binom.test()函数就能实现。秩统计量检验是一种经常被用来检验分布无关性的非参数检验,R语言提供了Spearman、Kendall和Wilcoxon三种秩检验方法,前两种可以用cor.test()函数实现,最后一种可以用wilcox.test()函数实现。

最后,R语言还可以用来处理回归分析问题

对于普通的多元线性回归模型,已知被解释变量y和i个解释变量的样本数据,利用R语言中的lm()函数可以非常方便的求出各解释变量的回归参数,并做相应的检验。以

y=β0+β1x+β2z+ε

为例,

将数据赋给各个变量后,只需要输入lm<-lm(y~1+x+z)

;summary(lm)就能得到参数估计值、每个参数估计值的标准差、参数显著性的t检验和总体显著性的F检验,以及模型的拟合优度等信息。然后我们可以用predict()函数非常方便的求出预测值和预测区间,同样我们还能用前面介绍过的plot()和abline()等函数做出各种图形来进行回归分析。

当然之前讲的都是比较理想的情况,而现实中往往影响被解释变量y的因素很多,我们希望找出若干个比较关键的变量建立回归方程,这便涉及变量选择的问题。选择“最优”变量的方法有很多,比较常用的一种是逐步回归法。它以

我是一个做事非常认真地人,这个学期除了上课时间,我还会利用课余时间练习R语言的操作,俗话说的好,动眼部动手,什么都学不走。很多时候看书上的内容觉得非常简单,实际操作中却会遇到很多小问题,往往也正是这些小问题导致我们的程序无法运行或者无法得出想要的结果。期间我就遇到过一些这样的问题,例如没有把数据文件放在工作空间目录里,导致“read.table”指令读不出数据,或者是一些符号输错导致错误。正是我认真细致的将每个用法都尝试一遍,才掌握了很多不起眼的小细节,也正是因为这一点,当其他两名同学遇到问题问我的时候我才能迅速地找出问题所在。

总的来说,R语言归根到底只是我们解决问题的工具,而我们对问题的分析首先是要根据理论进行的,例如参数估计、假设检验以及线性回归、时间序列方面的知识,我们只有深刻理解这些理论背后的意义,才能用对R语言中的各个方法,就好比战场上如果R是利刃,理论知识就是我们的身体和战术素养,只有我们学好了理论知识,才能面对一个个问题迎刃而解。

这个学期获得的收获则更多,不仅加深了对统计和计量方面知识的进一步理解,更对R软件有了初步的了解和认识。而其实最重要的,是这种全力以赴做一件事情的状态和收获的喜悦。我相信这种经历会让我在以后的学习和工作中获益匪浅。

这个学期的学习让我对R语言产生了浓厚的兴趣,而我现在对R语言也仅仅是学到了些皮毛,我一定要再努力学习,希望能够在今后的实习中学到更多的东西,为自己大四时期找工作打下基础。

篇2:JAVA语言学习体会

JAVA语言学习体会 本文关键词:学习体会,语言,JAVA

JAVA语言学习体会 本文简介:JAVA语言学习体会JAVA在编程语言家族中,有如此强大的生命力,是因为借助于JAVA语言,形成了一个JAVA产品线,具备了大量的JFC,乃至基于JAVA的架构,而决不是因为其作为JAVA编程语言本身的特色。JAVA的许多特性是从C++继承来的,这使得JAVA具备了面向对象的特性,由于其利用虚拟机技

JAVA语言学习体会 本文内容:

JAVA语言学习体会

JAVA在编程语言家族中,有如此强大的生命力,是因为借助于JAVA语言,形成了一个JAVA产品线,具备了大量的JFC,乃至基于JAVA的架构,而决不是因为其作为JAVA编程语言本身的特色。JAVA的许多特性是从C++继承来的,这使得JAVA具备了面向对象的特性,由于其利用虚拟机技术,使其实现了平台无关性。因此下面将要论述的两个主题一是语言本身的特点,二是从虚拟机技术出发简单介绍一下JAVA架构。

第一个主题

从软件发展史开始讲起。

纵观软件发展史,我们经历了面向过程->面向对象->面向组件->面向集成的几个时代:

这里所说的软件发展史,确切地说应该指的是应用软件,强调的是基于业务,如IBM公司提出的口号是“随需而变,按需计算”。而非系统软件。大家可以看一看WINDOWS源代码泄露后众多程序员读后的感想:C语言还是世界上最好的编程语言,也就是说在系统软件编程领域,C语言的地位和作用是无法取代的。

但是C作为一个面向过程的编程语言,在应用软件的编写中,可以实现高度耦合、高效率,通常是针对一个具体的应用实现,因此无法适应快速业务变化,不适合做大型面向客户应用的开发。

面向对象:OOP提供了封装、继承、多态和重载等等一系列的特性使应用软件的架构可以被重用,开发人员可以不用关心其具体实现,而是专注于对象能够提供怎样的功能,因此提高了软件重用性,从而使得整个IT的基础架构能够适应需求的快速变化。语言的单一性和源代码级的共享决定了在跨应用系统重用的过程中必定会有各种各样的困难。

面向组件:这就是刚才提到的COM的概念。二进制级别的组件共享进一步加速了面向应用实现的步伐,继承了OO的显著的优点,使得IT基础架构能够更加快速适应业务变化,但是平台单一性依然阻碍了其复用程度。

面向集成:这是一个完全面向业务的时代,所有的应用都是以业务应用为主题去组织的。

在这里提一个观点:任何技术都是在继承的基础上发展的。C++的底层实现离不开C语言。面向过程时流传最广的一句话是“程序=数据结构+算法”,但到面向对象时“类=变量+方法”,从技术角度来看,这里体现的也是一种编程思想的继承。面向集成的思想的本质在于脱离技术细节后,从非技术的思想去看待软件发展的推动,增加其支撑能力。

在这里开始讲一下JAVA语言的特点,没有比较就没有鉴别,我想与其它编程语言对比一下,随便找一本JAVA的书都会看到以下几条:简单、面向对象、健壮性(!)、分布性、可移植、解释执行、多线程、动态性、高性能

1、简单;

体现在继承了C++语法;摒弃了C++中容易引发程序错误的地方,如指针和内存管理(别忘了指针操作是C的特色,容易引发错误是因为使用复杂,但带来的好处却是灵活和处理的功能的增强以及作为编程语言的代码的精炼);

丰富的类库。

2、面向对象,不必多说;

3、健壮性;

检测程序在编译和运行时的错误;自已操纵内存(指VM);实现真数组,检测数组越界;关于简单和健壮性的讨论,是不是与程序员的水平也有关联呢,这也是一个需要讨论的问题。当然它能结省了一部分工作量,但这里还存在一个编程语言应用领域的问题,即去用它做什么工作,是否合适。在这里我引用C的鼻组stanley

B

Lippman

的一句话,“JAVA

VM也无非就是几万行的C代码而已”。

4、分布性、可移植、解释执行;

源于其虚拟机技术和中间字节码的实现。这一点其它许多脚本语言都可以实现。比如PERL,Practical

extraction

and

report

language,脚本语言具有解释执行的特性,只要在不同的系统,如WINDOW、UNIX都有其解释器,只要安装完成后,同样可以实现跨平台。

5、多线程

C和C++同样能够实现,但JAVA声明了其对多线程技术的实现更简单,更安全。这里也同样存在着编程人员对于技术细节理解和把握的需求程度。

因为任何技术都是一柄双刃剑,其运用的合理性要置于其应用的领域中去考察,是否适用。

举例:VC和CB的差别。举例用PERL实现的MP3改名。

6、动态性和高性能;

二者是互相矛盾的。动态性在于程序动态装载运行过程中所需的类,这是因为其中间字节码由VM解释执行带来的特性,这也带来了性能的问题,随着其解释器速度的提高,JAVA也只能说其翻译目标代码的速度与C、C++已很接近。而C++在类中变量或成员函数变化时,必须全重新编译。

提到虚拟机,它是用一个解释层屏蔽了硬件细节。这里提到了一个层的概念,因此,在这里我想借用J2EE介绍架构设计方面的内容。

一个层就是相关功能的一个一致的集合。在一个严格分层的结构中,第N层仅使用第N-1层提供的服务。这种层次结构的思想的实现有很多,如TCPIP五层结构应用的就是一个典型的分层思想。举例大机-客户端,客户端实质仅仅是一个数据录入和展示界面;二层为C_S,在这里引出前置机的概念;三层结构客户层、应用组件层和数据层。

DCC系统就是一个典型的分层架构。应用架构体系的目的在于提供一个业务的模型与理论基础以满足我行整体业务的扩充与发展。分层的好处在于提供一个弹性架构,可根据实际业务的需要或者技术的发展快速嵌入组件(Component)以接入方式(Adapter)运行业务系统。

全行统一业务

DCC主机

SNA-GW

前置

柜面网点

龙卡

清算

网银

证券

重客

ATMP

中间业

Call

分行统一渠道

……

在前置系统中,实际包括两个子系统,一个是前置子系统,另一个是特色业务子系统,在两个子系统之间,是高速数据通道。具体实现上,又包括以下模块:

A.

渠道系统的接入

B.

服务系统的接入

C.

SNA-GW的接入

D.

数据整合(拆/打包、序列化、映射)

E.

安全控制(加/解密、MAC校验)

F.

交易控制(交易识别、决策、执行、交易一致性控制、通讯路由决策)

G.

应用功能(前置NIF、虚拟柜员分配、签约本地登记、签约通知、龙卡金卡决策等)

分层也可以说是一个纵向的架构。但若提到横向的概念,是一个什么状况呢?

EAI的概念大家耳熟能详。由于各套单独系统的作大(举例:如联通客服、计费、出账到账务等),单纯的从业务上整合,其实提出一个最佳的方案并不难,但往往由于各种非技术因素的制约而无法实施。资金、实施周期、过渡期业务处理等等。

基于此作EAI,出现了WEB

SERVICE技术。(在这里注意提到的是一种技术)。即各系统仍然以其相对独立的身份存在,但要把其要与其它系统分享的服务和数据通过WSDL(web

service

describe

language)进行描述(其利用了XML技术),利用UDDI(universal

description

discovery

and

integration)。这里其实也是一个松藕合的思想。WEB

SERVICE思想发展的前身是EDI,但其只能实现数据而不包括服务。

在异构环境下构建分布式系统时遇到了困难的解决方案都有哪些呢?还有一种就是CORBA。CORBA模型提供了一种标准的软件平台,分布的对象可以在此平台上无缝透明地交互。在这种情况下,ORB允许对象公布其接口,此时还允许客户端程序查找计算机网络上的这些对象,并请求它们提供服务(MICO就是开源CORBA的实现)。

JAVA支持远程方法调用(REMOTE

METHOD

INVOCATION,RMI),再加上其可移植的特性,最终用JAVA

RMI开发形成了J2EE-多层构架。在实现时,则将以上两者都涵盖了进去。体现在JNDI查找服务为企业应用中的多种命名和目录服务提供统一接口使应用程序组件可以统一访问这些命名和目录服务。

篇3:SQL语言学习总结

SQL语言学习总结 本文关键词:语言,学习,SQL

SQL语言学习总结 本文简介:SQL语言学习总结暑假过的真快总感觉昨天才刚放假,还想着这个暑假怎么过时,暑假就已经去了。这个暑假一开始我们看了浙大的sql的视频,老师给我们的要求是只要看一遍就行。刚开始看的时候还能听懂一些,看到后面的时候基本就听不懂了,幸好老师对我们的要求不高,于时只好硬着头皮继续。sql的视频其实总的说来无非

SQL语言学习总结 本文内容:

SQL语言学习总结

暑假过的真快总感觉昨天才刚放假,还想着这个暑假怎么过时,暑假就已经去了。

这个暑假一开始我们看了浙大的sql的视频,老师给我们的要求是只要看一遍就行。刚开始看的时候还能听懂一些,看到后面的时候基本就听不懂了,幸好老师对我们的要求不高,于时只好硬着头皮继续。

sql的视频其实总的说来无非讲的是对数据库、表、字段等的创建、修改和删除。我们不懂的也就是怎样使用代码来实现这些操作。我们现在只要对这些有了解就够了,以后还会有锻炼机会的。

之后我们参照着原代码做了《学生信息管理系统》,大概用了七天的时间。刚开始做的时候,觉得这个工程肯定会挺复杂的。但是做着做着感觉也就是那么回事。无非就是对几张表的操作。做这个工程最大的收获就是对刚学的sql知识有了一次熟练的机会,巩固了刚学的知识。也可以说是趁热打铁吧。

然后米老师给了我们更大的考验,让我们做《机房收费系统》,而且这次和上一次的《学生信息管理系统》不同的是,这次我们除了只有一个程序和数据库外,没有一个字的原码。

在得知我们可以把这次的工程做成任何样子时,我打算做一个类似于网吧那样的收费系统。也是一个cs系统。在网上查了一些主机如何与客户端通信的资料后,就开工了。虽然遇到了一些困难,但是到最后都一一解决了

这三次的学习困难程度可以说是一次比一次高,米老师也是用心良苦呀。

经过这个暑假,对sql已经有了深一步的了解,还有就是将米老师的学习方法又应用了一次。可谓是受益匪浅。

现在软件工程的学习已经开始,我会继续努力的。

SQL语言学习总结  来源:网络整理

  免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。

转发.分享

相关最新范文

专栏范文

触屏版电脑版

© 教师范文吧 jsfw8.com版权所有