综合性学习《语言的艺术》听课感受

综合性学习听课记录:

《语言的艺术》

课前谈话:

1.教师由桃花的观察作为切入点,引导学生用自己的语言去描述一种花。

2.教师用四年级教材中的有关花的诗句描述十二个月份当中的花。

3. 教师引导学生通过对比教师与学生的描述语言,初步感受语言的艺术。

教学过程:

一、 确定主题

1.学生齐读《杨氏之子》回顾课文中精彩的语言,并说一说精彩在哪。

2.观看《晏子使楚》当中故事一的相关视频,感受这一片段中精妙的语言。

3.根据书后综合性学习提示的第一段话,师生共同讨论确定综合性学习的主题——《语言的艺术》。

二、确定研究内容

1.师生根据书中提示语,确定研究的内容:

熟语、短文、提示语、广告词、相声、评书、影视对白

2.根据日常生活丰富研究对象:

导游词、辩论词、教师用语、推销词

3.出示研究过程的时间安排

三、准备研究内容

1.分配小组,并确定小组的研究主题。

2. 全班小组汇报主题。

3.小组再研究,商量成员的分工,研究方法,可能遇到的困难以及成果展示的呈现方式。同时填写综合性学习表格。

4.学生汇报小组讨论结果。

5.教师根据学生所选择的主题,呈现方式,对学生的准备计划进行有针对性的指导,例如,竞赛:确定主题——搜集整理资料——研制竞赛题——竞赛——总结

教师和学生还根据各小组的准备当中可能出现的问题进行了讨论,并给出了意见与建议。

四、总结

1.将自己的联系方式留给学生以便与学生进行沟通

2.对本节课进行小结,并对学生提出希望。

综合性学习听课感受

《杨氏之子》课后编排了综合性学习。本次综合性学习的目的是引导学生在课外去发现、搜集精妙的语言,通过多种形式的语文活动,积累并学习运用有艺术性的有魅力的语言。感受祖国语言文字的丰富与美好。

组织这次综合性学习首先要调动每个学生参与的积极性,引导学生明确任务与方法,落实小组合作分工与活动安排等。在这节课上老师与同学们相互配合,很好地落实了综合性学习的第一步。

老师以课前谈话为引,让学生对语言产生了一定的兴趣。《杨氏之子》与《晏子使楚》的精彩片段更是让学生感受到了语言的精妙,调动起了学生参与的积极性,让学生在感叹的同时,激起了深入探究的欲望。

老师引导学生,根据书后的综合性学习提示语,确定综合性学习的主体以及研究的内容。研究的内容不仅局限于课内,学生从生活中发现了一些研究对象,使学习研究的范围更加宽泛。以上的这些环节在我的教学过程之中也进行了实施,虽没有董老师的课堂精彩,但也在用心落实。而董老师接下来在研究准备环节中的提示与范例是我的课堂之中所欠缺的,本节课的教学重点难点也就是通过这个环节进行突破的,也是我应该用心学习的。

在随后的课堂之中学生和老师就综合性学习的时间安排、研究准备进行讨论。同学们根据教师的提示各自确定了本组的研究主题,明确了小组人员的分工,研究结果的呈现方式;设想了在实施过程当中

可能会遇到的问题,并听取了其他小组同学提出的意见和建议,使本组的综合性学习可以更加顺利的完成。

教师根据学生汇报的呈现形式,有针对性的对学生进行辅导,而每一次的指导,也一定是经过深思熟虑的,这样的辅导给学生提供了相应的范例,为学生接下来一周的准备活动提供了一根可借助的拐棍。同学们在讨论过程当中涉及到了很多方面的问题,但这些问题仅仅是形式上的,老师一针见血的找出了问题的关键——问题不在于形式而是内容,而且这些内容是要基于语文的角度上去考虑,要准确的抓住研究的重点。

最精彩的部分虽没有呈现,但通过老师的说课同样让我感受到了本课亮点的精彩之所在。教师扮演成导游,让学生跟随教师的解说一起畅游北塘古镇,配以相关的图片使学生有一种身临其境的感觉。学生在游览的同时发现导游词特有的魅力,将导游词与背景简介相对比进一步明确导游词的特点。学生在不知不觉当中对导游词的研究有了初步的了解。

我作为青年教师,还没有达到老师的水平和培养,对综合性学习也没有深入研究,但通过这节课,使我对综合性学习有了更深一步的认识,希望日后在自己的课堂之中能对自己学习到的进行实施,使自己有所成长。

 

第二篇:学习C语言后的感悟

“C++是个难学易用的语言”,这句话相信很多人心有戚戚。C++的学习难度,一在于语言本身太多的“幕”,二在于“paradigm shift”((思考模式的移转)。 传统程序语言如C,pascal,basic,fortran?,除了模样看起来稍有不同,基本上都是函数call来call去,大同小异,很容易掌握。你想做的动作,在code中都看得一清二楚。你所看不到的,荦荦大者也不过就是编译程序为你的函式加上用以处理堆栈的一小段码(prologue和epilogue),这一小段码基本上做的是housekeeping工作,你没看到也没有关系(更好),并不影响你对程序逻辑的思考。

C++不一样,C++有太多和程序逻辑息息相关的动作是编译程序为我们加上去的。换句话说C++编译程序为我们“加码”。如果不识清这一节,学习C++有如雾里看花,雾非雾,花非花。

编译程序为我们的C++程序加了什么码呢?很多!对象诞生时ctor会被唤起,物件死亡时dtor会被唤起,这都是加码的结果。ctor中设定vtpr和vtbl,这也是加码的结果。new 单一对象时会产生memory block cookie,new对象数组时会产生一个内部结构记录着object size 和class ctor?,这也都是布幕后的工作。可以说,程序代码中看不到而却必须完成的所有与程序逻辑有关的动作,统统都是C++ 编译程序加码后的结果。

当“继承”发生,整个情况变得稍微复杂起来。“多重继承”又更复杂一些,“虚拟继承”再更复杂一些。

这些布幕后的主题,统可归类为所谓的C++ object model(对象模型)。如果不知道这些底层机制,你就只能够把“make destructors virtual in base classes”(, item14)或“never treat arrays polymorphically”(, item 3)这类规则硬背下来,却不明白它的道理。

用一样东西,却不明白它的道理,林语堂如是说:“不高明”。只知道how,不知道why,侯捷如是说:“不高明”。

C++的第二个学习难度在于“paradigm shift”(思考模式的移转)。别说自己设计classes 了,光使用别人的classes,就都是一种思考模式和行为模式的移转。Mfc(或owl或vcl) programmer必然甚能够领略并体会我的意思。

使用所谓的application framework(一种大型的、凝聚性强的、有着面向对象公共基础建设的class library),你的码和framework之间究竟是怎样的关系呢?framework提供的一大堆可改写的虚拟函式的意义与价值究竟在哪里呢?为什么framework所设计的种种美好性质以及各式各样的算法竟然可以施行于我们自己设计的class types身上呢?framework被设计时,并不知道我们的存在呀!

这正是面向对象中的多型(polymorphism)的威力。

稍早所说的C++对象模型,偏属程序设计的低层面;这里所说的思考模式移转,则是程序设计的高层面。能够把新思维模式的威力发挥得最淋漓尽致的,当推面向对象的polymorphism(多型)和generalization(泛型)。如果你没有使用这两项特性,等于入C++宝山而空手归。

想象C++是一把用来解决程序问题的刀,要它坚轫,要它锋利,就必须经过多次的回火,在高热和骤冷之间锤炼。

初学C++语法(syntax)之后,你应该尽快尝试体验polymorphism(大致而言也就是虚拟函数的运用)。等到对oop的精神有了大局掌控的能力,但对C++的许多小细节不甚清楚,就是回到C++对象模型锤炼的时机。

成长,是在高阶(polymorphism)和低阶(object model)之间反复震荡,才能够震荡到更高的位阶,而不是平平庸庸于中阶(C++ syntax)的一滩死水。

经常有很多初学者把C语言与C++语言混为一谈,确实,C语言的大部分函数都可以在C++中实现,C++也确实需要使用大量C语言的语法、函数。但是,C++与其他传统语言最大的区别应该就是它使用了“类”这么一个构造函数。

类,多么富有艺术性的词!想一想能把真实世界中的一切在它中模拟实现,就让人兴奋不已。掌握了它也就掌握了程序艺术的真谛、也就掌握了打通了现实与虚幻的时空门!

在这里,我们来讨论一下在C++中有关于类的构成及使用。

用C语言和其他类似的传统语言所写的程序必然包括一组数据结构以及用来处理这些数据结构的函数。由于这些语言没有提供数据抽象的功能,因此程序本身并不清楚哪些函数处理了数据结构。此外,这些语言也无法防止非授权访问的某些数据结构的函数对这些数据结构进行操作,因而使的程序变的不必要的复杂,并且容易忽视一写偶然的设计错误。

而C++提供了数据结构的封装与抽象,它为程序员提供了定义新的数据结构的简单而强大的工具。在新的数据类型中,即包括数据内容又包括对数据内容的操作,把它们封装起来以后,数据类型本身能够控制外界对它的数据成员的访问。

引入继承机制以前的C++类中的成员分为两部分,即私有成员和公有成员。 在C++类中的私有段成员(包括数据和函数),他们只限于通过成员函数来访问,也就是说只有类本身能够访问它,任何类以外的函数对私有数据的访问都是非法的。公有段成员(包括公有数据和公有函数成员)提供了类的外部接口,它允许类的使用者来访问它,我们可以通过使用类的公有成员来访问这个类。

在类声明中,私有段的标识关键词为private,当私有段成员处于类声明中的第一部分时,此关键词可以省略。公有段的标识关键词为public,此关键词在任何情况下都是不能省略的。

使用私有数据来隐藏由类对象操纵的数据,然后提供一些成员函数来访问这些数据,通常使用和改变这些数据的能力和实现细节是被隐藏起来的。

在定义成员函数时应注意:

1、在所定义的成员函数名之前应坠上类名,在类名和函数名之间加上分隔符“::”。

2、 函数的返回类型一定要与函数声明时的类型相匹配。

3、在定义成员函数时,对函数所带的参量,仅仅说明它的类型是很不够的,还需要指出它的参量名。

对于成员函数的定义,并不是必须把它们放在类定义体之外,有时,有些简单的成员函数可以在类定义中定义。这些包含在类定义体内定义的成员函数称为内部函数,或称为内置函数。

类的每项操作都是通过函数成员实现的,使用某些操作则表明了一个函数调用,但这对于小的和常用的操作程序来说,开销是很大的。内置函数就是用来解决这个问题的,它将该函数的代码插入在函数的每个调用处,作为函数体的内部扩展,用来避免函数调用机制所带来的开销。虽然这种做法可以提高执行效率,但如果函数体过长会有不良后果,因此,一般对非常简单的函数,才声明成内置函数。

类在概念上是一种机制,它抽象了一类对象的存储和操作特性。在系统实现中,类是一种共享机制,它提供了本类对象的操作实现。

通常我们把具有同样性质和功能的东西所构成的集合称为类。在C++中,可以把具有相同内部存储结构和相同一组操作的对象看成属于同一类。在指定一个类后,往往把属于这个类的对象称为类的实例。实际上对象和实例表达的是一个意思。

类与对象间的关系,可以用整形int和整形变量i之间的关系来类比。类和整型int均代表的是一般的概念,而对象和整形变量i却是代表具体的东西。 创建一个具体对象有两种方法:

(1) 在定义类的同时创建对象

我们在给出类定义描述时创建对象,如下:

class date{

int month,day,year;

public:

void set(int,int,int);

void print();

int getyear();

int getmonth();

int getday();

}tt; //同时创建对象tt

在定义类date的同时创建了date类的对象tt,这时创建的是一个全局对象。

(2) 在使用时定义对象

在定义类的同时创建的对象是一种全局对象,在它的生存气内任何函数都可以使用它,这在程序执行过程中容易造成一些混乱。使用它的函数有时只在极短的时间对它进行操作,而后就不再理会它,但它仍然存在,只有在整个程序结束时它才会自动消亡。所以在定义类的同时创建对象是有一定的弊端的。为了消除这些弊端,完全可以在需要使用此类对象时,再在使用它的函数中定义对象。

对于使用一个类,实际上是创建一个此类的对象,之后使用它的公有成员函数达到对此类对象作用的目的。

下面看一个使用类的例子:

class point{

int x,y;

public:

void setpoint(int vx,int vy){x=vx;y=vy;}

};

void f1()

{

point p1; //创建point类的对象p1

p1.setpoint(10,10); //给point类对象p1的私有成员赋值 //??

}

从这里看出,我们在函数f1()中使用了类point,定义了它的一个对象p1,并用p1.setpoint(10,10)调用了类的公有成员函数setpoint,通过函数调用实现了对其私有成员的赋值操作。

对于类成员的访问,我们采用的是“.”操作符,在这里p1.setpoint(10,10)实际上是一种缩写形式,它表达的意义是p1.point::setpoint(10,10),这两种表达形式是等价的。

在定义类对象时,若我们定义的是指向此类对象的指针,则使用此类成员时,不再用“.”操作符,而是使用“->”操作符。

我们再来看各种函数在C++类中的使用

面向对象编程的一个重要思想就是数据的封装,也就是把对象中的数据隐藏起来,只通过成员函数来对对象进行操作。这时,就要对类中的成员指定操作权限。例如:

struct Date{

private:

int d,m,y;

public:

void init(int dd, int mm, int yy);

void add_year(int n);

void add_month(int n);

void add_day(int n);

};

这里,成员变量d、m、y的操作权限为私有,只有类本身的成员函数能够访问它们。而下面的四个成员函数的操作权限为公有,都可以被外界访问。当然,并不是成员变量就一定要是私有的,而成员函数就一定要是公有的,一些内部使用的成员函数也可以是私有的,而成员变量也可以是公有的。

另外,在定义类时,我们一般用class来代替struct。class与struct唯一的区别就是,在不指定操作权限时,struct的默认操作权限为公有,而class的默认操作权限为私有。

在一个类中,可以定义两种特殊的函数。一种被称为构造函数,该函数没有返回类型,名字与类名相同,会在对象创建时自动调用,往往用来完成一些对象初始化的工作,在它的参数列表后可以跟初始化列表;另一种被称为析构函数,该函数也没有返回类型,名字是由类名之前加一个“~”符号构成的,会在对象死亡(也就是超出生命周期)时自动调用,往往用来完成一些扫尾工作。构造函数可以带一些参数,并且可以重载,而析构函数不带任何参数。例如:

class Date {

public:

Date(int dd, int mm, int yy);

Date(char* date);

~Date();

};

Date::Date(int dd, int mm, int yy) : d(dd), m(mm), y(yy) {

}

Date national_day(1, 10, 2003);

Date christmas("December 25th, 2003");

在Date类构造函数的实现中,冒号后面的就是初始化列表,可以用来初始化一些成员变量。当然,你也可以在构造函数的函数体中初始化成员变量,不过一般推荐使用初始化列表来完成这项工作。

我们在前面提到了“封装”,封装实际上就是信息隐藏。在面向对象系统中封装是构成对象的处理,一个封装的对象也常称为一个抽象数据类型,若没有封装就没有面向对象编程。

最后有些时候,我们要在对象的成员函数中引用对象本身,这时就要用到this指针。在成员函数中,this指针是一个指向该对象类型的指针,并总指向当前

的对象。另外,当类的成员函数中有局部变量与类的成员变量重名时,直接写变量名代表局部变量。如果要访问成员变量,则需通过this来引用(this->xxx)。

以上就是对C++中类的构成与使用的简单总结,由于篇幅限制,我们还有很多与类的使用有关的思想和方法没有总结,如友元、重载、引用、继承与类的派生等等。实际上,类和对象最大的用处是大大简化了大型软件编写和维护的过程。在将要成为一名编程人员的学生的学习道路上,体会和掌握C++的这种面向对象编程的思想,是非常重要的。

总结

程序设计语言的学习过程与自然语言的学习有着十分相似的地方。

本文开始讲了C语言与C++语言联系。在学习的过程中,我们要充分利用它们之间的相同之处,明确不同之处,这样才能加快学习的速度。这就好像在掌握了母语的基础上去学习一门外语,利用好语言之间的相同之处能够使外语的学习变得简单;而如果不能解决好语言之间的不同之处,就会给外语的学习带来困难。要学好外语需要多加练习,而只有不断地使用一门程序设计语言写程序才能切实提高对程序设计语言的掌握水平。

随后文章进一步深入,总结了C++类的构成及定义与它使用到的一些函数。这就好比外语中一些独特的文化底蕴,我们只有了解这些文化底蕴,才能真正掌握一门外语。程序设计语言也是如此,这部分所总结的内容使我们能够更好地使用C++语言中的类定义方法,特别是我们说到类与对象的关系,这里是我们使用类的关键。

最后,我们简单讨论了一些与类的使用有关的函数和思想。这就像是写作,写作的基础是掌握好一门自然语言,程序设计的基础则是掌握好一门程序设计语言。但是,要写出优秀的文章仅仅靠掌握好一门自然语言是不够的,我们还需要有精巧的构思和华丽的词藻。如何娴熟的运用这些函数、思想去为你的“文章”增色,就需要大家自己的多多练习了。

相关推荐