0514-初中三年历史课本中常考图片全汇总
资料来源于网络,下面是原文链接,获取资料完整高清可打印版本
小学初中全部资料及word可打印版全在这里!!下面是知乎专栏,我发的历史资料都汇总在这里,持续更新请关注
西西的历史资料库:初中《历史》资料汇总及可打印版获取方式2020年9月9日星期三
大娃新升初三,历史堪忧。
开门考竟然不及格,她自己很懵,我也不解,明明我家人历史都还不错的啊!
福建2021年中考历史总分50分,分不算多,但也不容小觑。
作为一个曾经的历史课代表(当年小中考历史和地理两科一门99,一门100),我决定帮她把这个老大难抓起来,争取280余天后的中考考高分,顺便也把历史脉络做个梳理,毕竟上高中及二娃以后也用得上啊!
写在这里,给自己和娃打打气,同时也是想给这段生活一个记录,盼望一个理想的结果。
下文中我会提到两个方面,有兴趣的可以了解一下:
该部分编辑于2020年9月11日
历史其实就是一部人类社会的发展史,看下英语的表达:[history]意为[his story],即人类的故事。我们学习历史,就是在了解人类发展的故事。用读故事、听故事的态度去学习历史,想必会轻松许多吧。
具体到学好初中历史,其实不难,主要在于记忆。而要记得多、记得牢,关键在于理解。只有真正理解了的知识才不容易忘记。需要充分调动兴趣加自身努力,循序渐进、长期积累。重点把握好两个点:“时间”“空间”,基本90分没问题。
但具体怎么学呢,下面结合个人经验及借鉴网络大神说法展开讲一讲:
(以下几条少量结合了本题已有回答中的一些看法,同时少量借鉴其他网络资料,感谢,侵删)
1、★ 课前预习
历史课不是主科,中考总分占比也不高,不用刻意预习。
只需要上课前花个两三分钟做准备(想要课前休息的可直接忽略):先看课本目录,再看文中大标题,有时间也可把课文内容通读一遍。
2、★★★★★ 认真听课,夯实基础
初中历史不难,不需要大肆购买教辅材料。一定要跟着老师思路走,一切以教科书为主,好好听课,划重点,注意笔记记在书上。
在听课过程中记住基本的关键词,重要事件的时间和内容,初步了解知识点。抓住历史现象的因果关系和来龙去脉,如果上课不专心听老师分析讲解,自己也不开动脑筋积极思考,幻想考试前去突击硬背,临场时必然会颠三倒四或张冠李戴,有的则束手无策,不知所云。
3、★★★ 学会阅读历史课本
上面说了,初中历史,抓住课本就好。但课后复习,怎样读历史教科书也是有技巧的。
3.1 了解目录,搭建知识框架
(本系列小标题为自拟,有不妥之处可以探讨修订)
先看历史书的目录,理解整本书的知识框架结构,便于我们抓住整本教材的知识体系。
例:九上世界史的目录,可看到编者世界史直接跳过原始社会,从奴隶社会开始讲起,说到的国家也寥寥可数。找到关键国家:古埃及、古代两河流域、古代印度、古代希腊、古代罗马等等。
3.2通读前言,了解模块线索
目录清晰了,再看每一单元的前言。初中历史教科书是以单元体系编排的,通过了解每一单元的前言部分,把握这一单元的模块概况。
3.3熟读标题,把握关键事件
历史课本的大字部分是该课的主要内容,要求掌握的基本知识点都在这一部分,因此应该对该部分进行精读,着重掌握这一部分的内容。
3.4 精读大字,掌握重点史实
正文是历史教材的主体部分,主要包括主栏和辅栏、插图,是阅读中最重要的一环。大字部分是需要全面掌握的内容。
阅读中学历史教材,必须对教材重点和难点中的有关词句予以充分地注意和深刻地理解。
比如:最、第一次 等等
例:通读这句话:《汉谟拉比法典》是迄今已知世界上第一部较为完整的成文法典。
“迄今”、“已知”“世界上第一部”这种表示程度、表示地位的限定词就非常关键,如果选择题直接说《汉谟拉比法典》是世界上第一部的法典就不合适,他少了限定词“迄今”,如果后续考古发现了更早的法典,那它就不是第一部了。
图片也很重要,要学会从图片或地图上获取历史知识、历史信息,并内做到图文转换。
3.5泛读小字 ,拓展知识体系
3.6带着问题阅读
自主学习能力是非常重要的一种能力,十余年的学习,最关键的就是要帮助孩子们掌握自主学习的能力。
带着问题阅读,这个就是自主学习的表现。带着问题去思考,或者查找资料,花的时间更多,记忆也就更为深刻,具体形式可以借助书本上的“课后活动”里的问题、要求来展开
例:九上历史提到金字塔因为其每个侧面形似汉字的“金”,所以,中国人称其为“金字塔”。据此可以思考,外国人称其为什么呢?
查找到相关资料,就能判断课后活动中,“古埃及国王给自己的陵墓取名“金字塔”,象征着无限的权利”这一判断,是错误的。
3.7理清线索,概括关键信息
历史不是孤立的,很多历史事件都是有前因后果,学习历史需要理清线索,通过概括要点,把教材读薄。
4、★★★★ 多种方式加强记忆(多背书)
学历史避免不了背诵,但死记硬背也不行,要理解、懂得。需要花功夫过几遍书,慢慢积累,循序渐进。
上完历史课,当天学当晚复习,老师讲到哪一章,晚上就看那一章的知识点。
每课单独处理,课课清。方便建立历史框架和脉络;有空也可以把重要知识点读出来录音,在刷牙、吃饭时间甚至睡前抽空记忆。可以结合一些有趣的记忆方法来辅助学习历史。
4.1 ★★ 口诀记忆法
把相关联的知识点归纳为口诀,利用其朗朗上口的特性,加强记忆轻松掌握。
例1:初中时学到战国七雄,老师教过一个口诀:“齐楚秦燕赵魏韩,东南西北到中央”,再结合地图,有趣又实用,几十年过去了,还记得清清楚楚。
例2:炎黄尧舜夏商周/春秋战国乱悠悠/秦统天下刘建汉/东汉建朝为刘秀/三国争雄风云起/两晋南北朝对峙/杨坚起兵陪朝立/李渊反叛登唐基/五代十国山河破/宋辽西夏战乱多/金元两朝不太平/明灭之后立清国
是不是非常好记。
不过,这个方法也有局限,毕竟知识点很多,不是每个能形成合理、上口的口诀。
4.2 ★★ 谐音记忆法
通过谐音的趣味,来帮助理解记忆
例:如马克思生于1818年5月5日,可把“1818”谐音为“一巴掌一巴掌”把“55”谐音为“呜呜”,合起来就把马克思生日说成是“一巴掌一巴掌打得资本家呜呜的哭。”
是不是很有趣,这也是当年学习中非常有人气的记忆法。
4.3 ★★★ 归纳记忆法
历史上的每个事件都不是孤立的,书上的知识点也都是有联系的。在复习有关知识的同时,将同类问题有机结合,这样横向或者纵向比较,往往事半功倍。
例:中国近代史(1840年~1919年)上发生的重大事件,可以归纳为“五四三二一”来记忆。即:五次重大战争——鸦片战争、第二次鸦片战争、中法战争、中日甲午战争、八国联军侵华战争;四个主要不平等条约——《南京条约》、《马关条约》、《辛丑条约》、《二十一条》;三次革命高潮——太平天国运动、义和团运动、辛亥革命;两个阶级产生——无产阶级和民族资产阶级产生;一次失败的变法——戊戌变法。
4.4 ★★联想记忆法
历史上有些重大事件,其经历时间相同,如隋统一全国(581—589年),安史之乱(755—763年),抗日战争(1937—1945年),美国独立战争(1775—1783年)都经历8年时间,所以只要记住其开始(或结束)年代,就可推算出其结束(或开头)年代,这样只要记住一头就行了。
4.5 ★★★★ 思维导图
思维导图在历史学习里目前看来是非常有效的,可以利用网络搜索一些现成的思维导图,也可以自己动手画一画。
系统梳理,提取关键字词
画思维导图,建立知识体系
时间轴和思维导图也是相关联的,可以说:
4.6 ★★★ 提问式记忆法
一般来说,一次考试,很容易做出的题往往会很快遗忘,而费劲儿答出的题或者没有答上来的题,会长时期不忘。这在心理学中叫做“蔡戈尼效应”。
根据这一原理,为提高记忆牢度,在学习上可采取自问自答、相互提问、与人辩论、多做习题、模拟考试等方式来强化记忆。
例:把课本当葵花宝典,与同学或家人玩互考知识点的游戏,学到哪考到哪,一天出个几题到十几题,不知不觉中把关键点和关键内容记住了。
4.7 ★★★★ 艾宾浩斯记忆法
不管任何方法,时间久了都有遗忘的风险。根据艾宾浩斯记忆法,结合遗忘曲线,设定背诵内容的时间表格,第一天晚,第二天、第四天、第七天、第十四天、第三十天、第六十天,复习巩固,加深脑海的理解记忆。这样后几天,你会发现花不了几分钟,就已经背诵了解的七七八八了。
第一次 | 第二次 | 第三次 | 第四次 | 第五次 | 第六次 | 第七次 |
+1天 | +3天 | +7天 | +14天 | +30天 | +60天 | |
很多历史事件都有时间、地点、人物、前因后果等信息,死记硬背这几个信息都很乏味,很容易忘记。
所以要将彻底明白事件发生的背景,将课本内容和事件前因后果联系起来,形成一个有意思的故事,这样更容易记忆。
记忆法还有很多,但我觉得就初中生来说,这些已经妥妥的了。
当然有余力的亲,也可以自己补充、整理。
5、★★★ 整理时间轴
时间是历史里非常重要的关键知识点,必须把时间轴了解清楚,这也是初中提分快的一个方法。
学完每一课都要先将重要历史事件的时间按顺序排列好,结合前因后果逐步纵向整理时间轴,这样不容易遗忘;
历史是一条顺着时间推移永不中断的直线,抓住历史事件的时间线,很多历史事件都会有关联。
6、★★ 刷题
有效率的刷题。
对历史事件和时间节点有一定认识后,务必做题来巩固知识点。比如猿题库APP,比如五三,历年中考真题也很重要,注意刷题。
做题也有技巧,特别现在中考选择题比例高(占60%),要关注选择题。
做选择题技巧,优先使用排除法。
6.1选择题答题技巧
6.2材料题答题技巧
7、★★ 整理错题
错题要及时整理,基本一周整理一次。无需错题集,要把历史试卷整理成册,汇总管理。把错题作上标记,专门复习解析。不太确定的题也建议标记上,方便下一轮复习。
8、★★★ 拓展课外知识,增强对课本内容的了解
学习历史不能仅仅局限于课本知识,历史学科范围远超乎课本的容纳量,历史课本只是把学生需要重点掌握的知识点做了一个简单归整,为学生学习历史划定了一个范围,但并不能说明书本上没有的知识点就不会考。这在材料分析题中体现,需要适当地扩充一些课外知识点。
8.1 通过对历史题材的书籍、小说、电影、纪录片激发对历史的兴趣。
我就买给娃了适合中小学生看的《少年读史记》、《上下五千年》等年代跨度较大的历史读本,还有《李白》、《杜甫》等名人传记,可惜大娃没兴趣,小娃还很喜欢;
8.2下载喜马拉雅APP,除了看,学会听历史
这个APP有很多不错的历史内容,同时开发视觉以外的器官,挺好。
初学历史,在建立兴趣阶段,不用太复杂的,先来点基础的。比如我带着上小学的二娃听“伍老师说历史”,非常生动有趣,每天睡觉前就听一到两篇。现在二娃对中国史有一定的认识了。
写了这么多,觉得不错的亲,请点个赞吧。
结合九上世界史课文,讲讲我是怎么辅导大娃学习历史的。
(以下编辑于2020年9月16日)
为了辅导,我先捡起初中的历史书。自己啃上两三遍,熟悉课文内容。毕竟丢了20几年,很多东西都忘记了,学的具体内容也有所差异。
除了看书,还参考网上的一些资料及学校辅导书,整理了关键词,梳理成时间轴及思维导图。
前面有人说整理时间轴最关键。
但事实上,对事件没有一定的了解,直接背时间轴,很容易混淆,同时也很枯燥。就有点像学英语一上来不是读课文,直接单词表背单词,记忆效率很低。
上课时,要一节课一节课的搞清基本概念,搞清思路,整理成思维导图,便于记忆。
所以我——
通过以上方法把书读薄。
呵呵,思维导图app我都是和知乎网友现学现下载的,虽然目前做的东西颜值还较low;不过既然是学习,也不要一味追求颜值,实用最关键,我整理的思维导图,主要内容应该还是具备了的吧。
先来个第一单元的
通过第一单元的内容,我们知道了大河文明除了中国,还有三个小伙伴,古埃及、古巴比伦、古印度。
记住重要知识点就是地理位置,统一时间、文明成果。
我把我认为最重要的知识点用粉红底色表达,方便大娃记忆。
做好后,修改了几次配色及格式,算是完成,做完截图发给大娃,大娃在托管完成当天作业后,坐公交车的路上看看截图,回到家我再考考她,加强记忆。
唠叨点课外资料:
四大文明古国:大河文明,即古中国、古埃及、古巴比伦(今天的伊拉克)和古印度,也就是我们耳熟能详的四大文明古国。
这四个文明都起源于河流——中国起源于黄河和长江,埃及起源于尼罗河,古巴比伦起源于幼发拉底河和底格里斯河,古印度起源于印度河及恒河。通俗的来讲:有河的地方就有家。四大文明古国之所以发展迅速,历史悠久,仰仗的是附近的河流。
而四大文明古国这个说法是中国人提出来的。最早源自于梁启超写于1900年的《二十世纪太平洋歌》中,他的原话是:“地球上古文明祖国有四:中国、印度、埃及、小亚细亚是也”。小亚细亚指的就是今天的两河流域发源地附近。但这种说法只在中国流行,因为它不够严谨,说的是祖国,其实是一种文明,后调整为“古国”。
这个概念把同时期的希腊排除在外。
当代欧洲、美国是不太有这样的提法的,但还是有很多认同者的,这个暂且不表。
(以下编辑于2020年9月17日)
第一单元第一课,古代埃及
简化版思维导图
大娃的提问:金字塔既然是中国人提出的,谁提出的,外国人又叫它什么?
答:1、金字塔的中译名由康有为提出。
金字塔是康有为1904年游历埃及后,在《海程道经记》中率先提出的译名。康有为以人文大师自诩,在许多书中做过各国文字比较,专门提过中国-埃及特有的象形文字。所以他起名应该首先考虑模拟金字塔的形态。金字塔是一层层的石头叠起来的,早期的金字塔更是多层台状结构。所以人、八、入都不合适。只有“金”和“全”既能表示外轮廓,又能表达石块叠加的形态。
(金字在我们中国的人心目中是一个非常讨喜的字,金口,金玉,金碧辉煌,金光灿烂,和金字挨边的都是好词。所以在翻译中康有为的这个翻译达到了人们对翻译的最高境界,那就是信达雅。信是可信,金字也是一个侧面椎体,达是准确,雅是有文化。)
康有为以前我们中国人是叫它“埃及王陵”。
2、在外国,早在两千多年前,西方文明就使用Pyramid作为锥体建筑的专有名词。几何学上这个单词就是指“锥体”。不过在建筑学与考古学方面,Pyramid最初只是特指古埃及法老的方锥体陵墓。后来,随着陆续发现其他古文明也有相同或相近类型的建筑物,才开始延伸至指所有的锥体状建筑物。
Pyramid命名由来虽已不可考,但最早且传播广泛的记载是在《世界七大奇迹》一书中。
想到古埃及这个文明,在公元前525年就消亡了,也就是距今2545年前就没了,不禁嘘唏。
ps.康有为和他学生梁启超,这两位1898年戊戌变法的领导者,就这样在世界史的研究中发挥了他们的作用。
(以下编辑于2020年9月21日)
九上第一单元第二课,古代两河流域
古埃及和古代两河流域产生、出现国家的时间相当,都是公元前3500年左右,但统一、强盛的时间差了好多年。
另外,其实古代两河流域就是今天的中东国家伊拉克境内,就是在上世纪90年代,曾经发动对邻国科威特入侵,引发海湾战争的伊拉克。
如果参照四大古国古埃及和古印度的叫法,“古代两河流域”或者“古巴比伦”似乎应该称为“古伊拉克”。梁启超的文章中也没有提到什么“两河流域”或者“古巴比伦”,而是叫“小亚细亚”,那后来为什么定名为故巴比伦,毕竟这个位置后面也有一个国家名叫新巴比伦。
头大,有懂行的给指个路说明下吧。
九上第一单元第三课,古代印度
古代两河流域、古代印度都有严格的划分等级,但印度划分细致,且更为严格,甚至延续至今。
种姓制度源于雅利安人对印度人的征服。后逐渐发展为古印度一种严格的等级制度。
婆罗门、刹帝利、吠舍同属于雅利安人,首陀罗为被征服的古印度土著。
大娃的提问:种姓制度诗歌等级名称太难记了,有没有什么方法辅助记忆?
除了多读几遍,我硬着头皮想了个谐音记忆法,”门(婆罗门)第(刹帝利)森严,匪(吠舍)首(首陀罗)勿进”。
再上网找了一下,真给我找到一个记忆方法,也是谐音记忆法:老婆 (婆罗门)杀(刹帝利)匪(吠舍)首(首陀罗)。
借助谐音记忆,学习兴趣顿然而生,既掌握了四个等级名称,也记住了顺序。
“吠舍”这个名字,我再通过一句诗“ 柴门闻犬吠”,把它想象为看门狗,受前两个等级管理。看门狗起码还有家,大户人家里护院的,不是无家可归的最低等级。
“首陀罗”,我采用联想记忆法,想象他们是一群:没有自己的自主性,以前三个等级的人马首是瞻,像个陀螺一样不停运转。
但事实上,除了这四个等级,还有一个贱民,都排不上等级,被称为不可接触者,据说出门都要敲锣,让其他四个等级的人避让,也就是旎陀罗。
参考资料:印度的四大种姓是什么?
https://jingyan.baidu.com/article/17bd8e52609c4e85ab2bb899.html
在详细梳理完第一单元内容后,简单总结下第一单元的时间轴。
可以看出,古埃及在历史早期是一个重要的存在,不但有最为悠久的历史,出现和灭亡都有清晰的时间线。
(以下编辑于2020年9月25日)
九上第二单元第一课,古代希腊
古希腊对大娃来说,一点都不熟悉。看着那些民主政治制度非常懵,她就对爱琴海比较感兴趣,知道那里的海岸非常漂亮,也因为有个商业综合体也叫“爱琴海”。
我个人对希腊印象最深的就是奥林匹克。
小时候国家有奥运热(当然现在还有,但终归降了点火),我老爸也非常热衷奥运项目,点点大,就陪着老爸熬夜看当年在欧洲举行的奥运开幕式。那些中国有实力拿牌且具有美感的比赛项目,都成了老爸和我空闲时间的必看节目。比如乒乓球、羽毛球、体操、游泳、排球等等。
学校里也爱在奥运年举办奥运知识竞赛。这个时候,就是我特别高光的时候,点滴奥运常识如数家珍:
古代奥林匹克竞技会是古希腊为祭祀宙斯而定期举行的体育竞技活动;奥运会在中断1500年后由法国人发起再开展;现代奥运会的创始人是法国人顾拜旦;第一届奥运会是1896年在希腊雅典举行,而原本是计划在法国举行的,因为当时欧洲国家法国是最热衷体育活动的,且希腊当时独立时间短,国力弱,原本不具备举办实力,甚至想推迟。但考虑奥运会起源于希腊,顾拜旦等人做了工作,希腊政府也做了集资和富豪捐款,故一切顺利进行;中国第一次参加现代奥运会是并不是1984年的洛杉矶奥运会,而是1932年同样在美国洛杉矶,参赛人员仅一人,为东北大学的大连短跑运动员刘长春,路费是当时的校长张学良赞助的。刘在1936年也参加了,可惜因为旅途颠簸,休息不好,饮食不行,都没有取得好成绩;
作为一个女孩子,因为喜欢看奥运,也连带着喜欢搞点运动,在没有专门学,全靠自己热爱的情况下乒乓球、羽毛球都会打,虽然水平不高。体育课上各个项目中跳绳、仰卧起坐、定点跳远、铅球通通满分,短跑比较一般,中上水平,但长跑就真的是强项了。
跑步这个爱好甚至贯穿了整个初中时代。由于初中校园离家近,且操场为开放式,我每天早上都6点不到就出门去跑上几圈,比我妈都起得早。因此体育成绩是相当好,基本上每一届校运会都是风云人物,记得有一年校运会报满三项,3000米,1500米,800米,前两项先跑,全部第一名,最后参加800米还有小组赛、半决赛、决赛,确实没力气了,跑了个第二名,哈哈哈。
“当年勇”故事占用时间稍长,见谅啊,稍后继续讲讲历史。
书上提到亚历山大帝国时,马其顿国王亚历山大从希腊远征波斯帝国,再顺势攻占地中海东岸地区随后又进入埃及,转而进入两河流域,再次攻打波斯,历经10年,终于成为一个地跨欧、亚、非三洲的帝国。
根据地图显示,古埃及、古巴比伦、古印度部分地区(早期印度文明区域),都在这个时代被占领。
可以回忆下,之前古埃及那课,提到埃及曾先后被波斯帝国、亚历山大帝国、罗马帝国占领,而两河流域的新巴比伦王国曾在公元前539年被波斯消灭,波斯又在公元前330年被亚历山大帝国灭亡。
尼罗河流域、两河流域因为多次受到侵略,导致文明断层,古老的文明消失,古印度也不是最初的原住民占统治权了。
相比其他文明古国,中国虽然几千年来,同样也是战乱不断,但华夏文明一直没有出现过断层,无论是文字、语言、技术,还是服饰、饮食、习俗,我们都完整的保留了下来,直到如今还在影响着每一个中国人。
这时候是不是该感谢我们的祖先,选择家园是多么的明智。
其他几个文明大部分都是一马平川。当大家都是文明人时,无所谓,土地肥沃,有利生产。但战争时,劣势尽显。
而我们国家:
东边、南边有大海;北边有沙漠、戈壁;西边有阿尔泰山脉、天山山脉、昆仑山脉、喜马拉雅山脉等等高山,形成了天然的屏障。避免敌对势力轻而易举的长驱直入。
当然中国人也是很聪明的,没有条件也要创造条件,长城就是这样,不是单纯的城墙,而是中国古代的军事防御体系。是一道高大、坚固而且连绵不断的长垣,用以限隔敌骑的行动。
(以下编辑于2020年9月27日)
九上第二单元第二课,古代罗马
古代罗马为什么分罗马共和国和罗马帝国?分界线是怎么定义?
帝国,一般代表有国君,一人专政,掌握最高领导权。
共和国,代表国家和政府是公共的,不是私人的,没有实际的国君,不存在最高统治者这一说。共和政治的另一层含义就是国家各级政权领导人不是靠继承的,不是世袭的,是自由选举产生。
罗马共和国之前,也是有国王的。公元前510年,罗马人驱除了残暴的前国王,结束其独裁统治,于公元前509年建立罗马共和国。
而公元前27年,屋大维首创了“元首制”,掌握了最高统治实权,虽表面维护共和制传统,没有称帝,但大权在握成为事实上的皇帝,罗马共和国演变为罗马帝国。
在公元前509年至公元前27年,罗马都是一个相对民主的政权,所以称其为“罗马共和国”。
这有点像我国古代的禅让制度时期,是通过集体力量管理国家,选贤举能,不世袭。但后面最后一任掌权人通过手段,巩固了自己的独尊地位,成为实际的国王。(这几段中的比较形式不够严谨,仅做参考)
我们现在的国家全称也有“共和国”,这个共和思想确实是欧洲先行出现,古代希腊的斯巴达、雅典、古罗马,都曾是著名的共和国。
统治机构中有个特别的职务,就是保民官,书上提到这是平民同贵族长期斗争后,争取到的政治权利。
保民官有权否决执政官和元老院提出的不利于平民的决议。平民还与贵族一起通过了《十二铜表法》,这部法使量刑定罪有了文字依据,在一定程度上遏制了贵族对法律的曲解和滥用。
九上第六课
(以下编辑于2020年9月29日)
发现大娃对于古代欧洲文明很不感兴趣,让她花在历史上的时间,都用在第一章节了,古亚、非学好当然很棒,但还是要均衡啊。
另外,我回顾了一下我每个课程的思维导图,发现自己忘记了初心。当年初中时,老师都会先整理关键词,再就经过对关键词的解读,来以点带面讲述相关联的历史事件。所以计划在复杂的思维导图基础上,做一个简化版本,突出重点词,随声都可以学习、了解。我把相关简化的思维导图也放在前面对应详细版思维导图附近。
(以下编辑于2020年10月06日)
由于一点点意外,腿受伤了,缝了数针,被迫窝在家里休息一周,国庆假期就这么泡汤了......
再看看历史,大娃已经学习了10课,但我才整理出六课内容,已经严重滞后了;同时,有个严重问题,前面第一单元,每次下课前,我都会在家里跟大娃过一遍课文,但耗时较长,后面第二单元大娃回家就有些抗拒,说是作业写不完,拒绝互动。当然啦,平时就不爱历史,再不课下复习,基本考试就是luo考。
大娃今明两天月考,范围除了九上10课,还包括七上全册,看起来还是会很糟,不过这样也好,说明进步空间很大,哈哈哈。
接下来继续整理资料,先把老师发的月考复习资料发给大家,有兴趣的同学可以下载看看。
10月月考资料
链接为链接:九上10课及七上全课
提取码:6gi0
点开看一下,每一章节内容好简单,让你一下放轻松。
比如,对古埃及那一课内容的要求只是:知道古代埃及的金字塔。
金字塔是是古埃及国王(法老)的陵墓,位于尼罗河流域,它是古埃及文明的象征,反映了古埃及社会经济发展的较高水平,是古埃及人智慧的结晶。金字塔的修建,反映了古埃及国王无限的权力。
1) 不戚戚于贫贱,不汲汲于富贵。 ——陶渊明
2) 富贵不淫贫贱乐,男儿到此是豪雄。 ——程颢
3) 清贫,洁白朴素的生活,正是我们革命者能够战胜许多困难的地方!——方志敏
4) 三军可夺帅也,匹夫不可夺志也。——孔丘
5) 志不强者智不达。——墨翟
6) 燕雀安知鸿鹄之志哉!——陈涉
7) 志当存高远。——诸葛亮
8) 老骥伏枥,志在千里;烈士暮年,壮心不已。——曹操
历史中考总分,以哈尔滨为例,总分100分,折合十分为满分。91分到100分为十分满分。历史学业考试是计入中考成绩,开卷考试。
之前看了Mahout官方示例 20news 的调用实现;于是想根据示例的流程实现其他例子。网上看到了一个关于天气适不适合打羽毛球的例子。
训练数据:
Day Outlook Temperature Humidity Wind PlayTennis
D1 Sunny Hot High Weak No
D2 Sunny Hot High Strong No
D3 Overcast Hot High Weak Yes
D4 Rain Mild High Weak Yes
D5 Rain Cool Normal Weak Yes
D6 Rain Cool Normal Strong No
D7 Overcast Cool Normal Strong Yes
D8 Sunny Mild High Weak No
D9 Sunny Cool Normal Weak Yes
D10 Rain Mild Normal Weak Yes
D11 Sunny Mild Normal Strong Yes
D12 Overcast Mild High Strong Yes
D13 Overcast Hot Normal Weak Yes
D14 Rain Mild High Strong No
检测数据:
sunny,hot,high,weak
结果:
Yes=》 0.007039
No=》 0.027418
于是使用Java代码调用Mahout的工具类实现分类。
基本思想:
1. 构造分类数据。
2. 使用Mahout工具类进行训练,得到训练模型。
3。将要检测数据转换成vector数据。
4. 分类器对vector数据进行分类。
接下来贴下我的代码实现=》
1. 构造分类数据:
在hdfs主要创建一个文件夹路径 /zhoujainfeng/playtennis/input 并将分类文件夹 no 和 yes 的数据传到hdfs上面。
数据文件格式,如D1文件内容: Sunny Hot High Weak
2. 使用Mahout工具类进行训练,得到训练模型。
3。将要检测数据转换成vector数据。
4. 分类器对vector数据进行分类。
这三步,代码我就一次全贴出来;主要是两个类 PlayTennis1 和 BayesCheckData = =》
package myTesting.bayes;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.util.ToolRunner;
import org.apache.mahout.classifier.naivebayes.training.TrainNaiveBayesJob;
import org.apache.mahout.text.SequenceFilesFromDirectory;
import org.apache.mahout.vectorizer.SparseVectorsFromSequenceFiles;
public class PlayTennis1 {
private static final String WORK_DIR = "hdfs://192.168.9.72:9000/zhoujianfeng/playtennis";
/*
* 测试代码
*/
public static void main(String[] args) {
//将训练数据转换成 vector数据
makeTrainVector();
//产生训练模型
makeModel(false);
//测试检测数据
BayesCheckData.printResult();
}
public static void makeCheckVector(){
//将测试数据转换成序列化文件
try {
Configuration conf = new Configuration();
conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));
String input = WORK_DIR+Path.SEPARATOR+"testinput";
String output = WORK_DIR+Path.SEPARATOR+"tennis-test-seq";
Path in = new Path(input);
Path out = new Path(output);
FileSystem fs = FileSystem.get(conf);
if(fs.exists(in)){
if(fs.exists(out)){
//boolean参数是,是否递归删除的意思
fs.delete(out, true);
}
SequenceFilesFromDirectory sffd = new SequenceFilesFromDirectory();
String[] params = new String[]{"-i",input,"-o",output,"-ow"};
ToolRunner.run(sffd, params);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("文件序列化失败!");
System.exit(1);
}
//将序列化文件转换成向量文件
try {
Configuration conf = new Configuration();
conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));
String input = WORK_DIR+Path.SEPARATOR+"tennis-test-seq";
String output = WORK_DIR+Path.SEPARATOR+"tennis-test-vectors";
Path in = new Path(input);
Path out = new Path(output);
FileSystem fs = FileSystem.get(conf);
if(fs.exists(in)){
if(fs.exists(out)){
//boolean参数是,是否递归删除的意思
fs.delete(out, true);
}
SparseVectorsFromSequenceFiles svfsf = new SparseVectorsFromSequenceFiles();
String[] params = new String[]{"-i",input,"-o",output,"-lnorm","-nv","-wt","tfidf"};
ToolRunner.run(svfsf, params);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("序列化文件转换成向量失败!");
System.out.println(2);
}
}
public static void makeTrainVector(){
//将测试数据转换成序列化文件
try {
Configuration conf = new Configuration();
conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));
String input = WORK_DIR+Path.SEPARATOR+"input";
String output = WORK_DIR+Path.SEPARATOR+"tennis-seq";
Path in = new Path(input);
Path out = new Path(output);
FileSystem fs = FileSystem.get(conf);
if(fs.exists(in)){
if(fs.exists(out)){
//boolean参数是,是否递归删除的意思
fs.delete(out, true);
}
SequenceFilesFromDirectory sffd = new SequenceFilesFromDirectory();
String[] params = new String[]{"-i",input,"-o",output,"-ow"};
ToolRunner.run(sffd, params);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("文件序列化失败!");
System.exit(1);
}
//将序列化文件转换成向量文件
try {
Configuration conf = new Configuration();
conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));
String input = WORK_DIR+Path.SEPARATOR+"tennis-seq";
String output = WORK_DIR+Path.SEPARATOR+"tennis-vectors";
Path in = new Path(input);
Path out = new Path(output);
FileSystem fs = FileSystem.get(conf);
if(fs.exists(in)){
if(fs.exists(out)){
//boolean参数是,是否递归删除的意思
fs.delete(out, true);
}
SparseVectorsFromSequenceFiles svfsf = new SparseVectorsFromSequenceFiles();
String[] params = new String[]{"-i",input,"-o",output,"-lnorm","-nv","-wt","tfidf"};
ToolRunner.run(svfsf, params);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("序列化文件转换成向量失败!");
System.out.println(2);
}
}
public static void makeModel(boolean completelyNB){
try {
Configuration conf = new Configuration();
conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));
String input = WORK_DIR+Path.SEPARATOR+"tennis-vectors"+Path.SEPARATOR+"tfidf-vectors";
String model = WORK_DIR+Path.SEPARATOR+"model";
String labelindex = WORK_DIR+Path.SEPARATOR+"labelindex";
Path in = new Path(input);
Path out = new Path(model);
Path label = new Path(labelindex);
FileSystem fs = FileSystem.get(conf);
if(fs.exists(in)){
if(fs.exists(out)){
//boolean参数是,是否递归删除的意思
fs.delete(out, true);
}
if(fs.exists(label)){
//boolean参数是,是否递归删除的意思
fs.delete(label, true);
}
TrainNaiveBayesJob tnbj = new TrainNaiveBayesJob();
String[] params =null;
if(completelyNB){
params = new String[]{"-i",input,"-el","-o",model,"-li",labelindex,"-ow","-c"};
}else{
params = new String[]{"-i",input,"-el","-o",model,"-li",labelindex,"-ow"};
}
ToolRunner.run(tnbj, params);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("生成训练模型失败!");
System.exit(3);
}
}
}
package myTesting.bayes;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.lang.StringUtils;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.fs.PathFilter;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.mahout.classifier.naivebayes.BayesUtils;
import org.apache.mahout.classifier.naivebayes.NaiveBayesModel;
import org.apache.mahout.classifier.naivebayes.StandardNaiveBayesClassifier;
import org.apache.mahout.common.Pair;
import org.apache.mahout.common.iterator.sequencefile.PathType;
import org.apache.mahout.common.iterator.sequencefile.SequenceFileDirIterable;
import org.apache.mahout.math.RandomAccessSparseVector;
import org.apache.mahout.math.Vector;
import org.apache.mahout.math.Vector.Element;
import org.apache.mahout.vectorizer.TFIDF;
import com.google.common.collect.ConcurrentHashMultiset;
import com.google.common.collect.Multiset;
public class BayesCheckData {
private static StandardNaiveBayesClassifier classifier;
private static Map<String, Integer> dictionary;
private static Map<Integer, Long> documentFrequency;
private static Map<Integer, String> labelIndex;
public void init(Configuration conf){
try {
String modelPath = "/zhoujianfeng/playtennis/model";
String dictionaryPath = "/zhoujianfeng/playtennis/tennis-vectors/dictionary.file-0";
String documentFrequencyPath = "/zhoujianfeng/playtennis/tennis-vectors/df-count";
String labelIndexPath = "/zhoujianfeng/playtennis/labelindex";
dictionary = readDictionnary(conf, new Path(dictionaryPath));
documentFrequency = readDocumentFrequency(conf, new Path(documentFrequencyPath));
labelIndex = BayesUtils.readLabelIndex(conf, new Path(labelIndexPath));
NaiveBayesModel model = NaiveBayesModel.materialize(new Path(modelPath), conf);
classifier = new StandardNaiveBayesClassifier(model);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("检测数据构造成vectors初始化时报错。。。。");
System.exit(4);
}
}
/**
* 加载字典文件,Key: TermValue; Value:TermID
* @param conf
* @param dictionnaryDir
* @return
*/
private static Map<String, Integer> readDictionnary(Configuration conf, Path dictionnaryDir) {
Map<String, Integer> dictionnary = new HashMap<String, Integer>();
PathFilter filter = new PathFilter() {
@Override
public boolean accept(Path path) {
String name = path.getName();
return name.startsWith("dictionary.file");
}
};
for (Pair<Text, IntWritable> pair : new SequenceFileDirIterable<Text, IntWritable>(dictionnaryDir, PathType.LIST, filter, conf)) {
dictionnary.put(pair.getFirst().toString(), pair.getSecond().get());
}
return dictionnary;
}
/**
* 加载df-count目录下TermDoc频率文件,Key: TermID; Value:DocFreq
* @param conf
* @param dictionnaryDir
* @return
*/
private static Map<Integer, Long> readDocumentFrequency(Configuration conf, Path documentFrequencyDir) {
Map<Integer, Long> documentFrequency = new HashMap<Integer, Long>();
PathFilter filter = new PathFilter() {
@Override
public boolean accept(Path path) {
return path.getName().startsWith("part-r");
}
};
for (Pair<IntWritable, LongWritable> pair : new SequenceFileDirIterable<IntWritable, LongWritable>(documentFrequencyDir, PathType.LIST, filter, conf)) {
documentFrequency.put(pair.getFirst().get(), pair.getSecond().get());
}
return documentFrequency;
}
public static String getCheckResult(){
Configuration conf = new Configuration();
conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));
String classify = "NaN";
BayesCheckData cdv = new BayesCheckData();
cdv.init(conf);
System.out.println("init done...............");
Vector vector = new RandomAccessSparseVector(10000);
TFIDF tfidf = new TFIDF();
//sunny,hot,high,weak
Multiset<String> words = ConcurrentHashMultiset.create();
words.add("sunny",1);
words.add("hot",1);
words.add("high",1);
words.add("weak",1);
int documentCount = documentFrequency.get(-1).intValue(); // key=-1时表示总文档数
for (Multiset.Entry<String> entry : words.entrySet()) {
String word = entry.getElement();
int count = entry.getCount();
Integer wordId = dictionary.get(word); // 需要从dictionary.file-0文件(tf-vector)下得到wordID,
if (StringUtils.isEmpty(wordId.toString())){
continue;
}
if (documentFrequency.get(wordId) == null){
continue;
}
Long freq = documentFrequency.get(wordId);
double tfIdfValue = tfidf.calculate(count, freq.intValue(), 1, documentCount);
vector.setQuick(wordId, tfIdfValue);
}
// 利用贝叶斯算法开始分类,并提取得分最好的分类label
Vector resultVector = classifier.classifyFull(vector);
double bestScore = -Double.MAX_VALUE;
int bestCategoryId = -1;
for(Element element: resultVector.all()) {
int categoryId = element.index();
double score = element.get();
System.out.println("categoryId:"+categoryId+" score:"+score);
if (score > bestScore) {
bestScore = score;
bestCategoryId = categoryId;
}
}
classify = labelIndex.get(bestCategoryId)+"(categoryId="+bestCategoryId+")";
return classify;
}
public static void printResult(){
System.out.println("检测所属类别是:"+getCheckResult());
}
}
1. 请介绍一下WebGIS的概念和作用,以及在实际应用中的优势和挑战。
WebGIS是一种基于Web技术的地理信息系统,通过将地理数据和功能以可视化的方式呈现在Web浏览器中,实现地理空间数据的共享和分析。它可以用于地图浏览、空间查询、地理分析等多种应用场景。WebGIS的优势包括易于访问、跨平台、实时更新、可定制性强等,但也面临着数据安全性、性能优化、用户体验等挑战。
2. 请谈谈您在WebGIS开发方面的经验和技能。
我在WebGIS开发方面有丰富的经验和技能。我熟悉常用的WebGIS开发框架和工具,如ArcGIS API for JavaScript、Leaflet、OpenLayers等。我能够使用HTML、CSS和JavaScript等前端技术进行地图展示和交互设计,并能够使用后端技术如Python、Java等进行地理数据处理和分析。我还具备数据库管理和地理空间数据建模的能力,能够设计和优化WebGIS系统的架构。
3. 请描述一下您在以往项目中使用WebGIS解决的具体问题和取得的成果。
在以往的项目中,我使用WebGIS解决了许多具体问题并取得了显著的成果。例如,在一次城市规划项目中,我开发了一个基于WebGIS的交通流量分析系统,帮助规划师们评估不同交通方案的效果。另外,在一次环境监测项目中,我使用WebGIS技术实现了实时的空气质量监测和预警系统,提供了准确的空气质量数据和可视化的分析结果,帮助政府和公众做出相应的决策。
4. 请谈谈您对WebGIS未来发展的看法和期望。
我认为WebGIS在未来会继续发展壮大。随着云计算、大数据和人工智能等技术的不断进步,WebGIS将能够处理更大规模的地理数据、提供更丰富的地理分析功能,并与其他领域的技术进行深度融合。我期望未来的WebGIS能够更加智能化、个性化,为用户提供更好的地理信息服务,助力各行各业的决策和发展。
这块您需要了解下stm32等单片机的基本编程和简单的硬件设计,最好能够了解模电和数电相关的知识更好,还有能够会做操作系统,简单的有ucos,freeRTOS等等。最好能够使用PCB画图软件以及keil4等软件。希望对您能够有用。
1.负责区域大客户/行业客户管理系统销售拓展工作,并完成销售流程;
2.维护关键客户关系,与客户决策者保持良好的沟通;
3.管理并带领团队完成完成年度销售任务。
你好,面试题类型有很多,以下是一些常见的类型:
1. 技术面试题:考察候选人技术能力和经验。
2. 行为面试题:考察候选人在过去的工作或生活中的行为表现,以预测其未来的表现。
3. 情境面试题:考察候选人在未知情境下的决策能力和解决问题的能力。
4. 案例面试题:考察候选人解决实际问题的能力,模拟真实工作场景。
5. 逻辑推理题:考察候选人的逻辑思维能力和分析能力。
6. 开放性面试题:考察候选人的个性、价值观以及沟通能力。
7. 挑战性面试题:考察候选人的应变能力和创造力,通常是一些非常具有挑战性的问题。
需要具体分析 因为cocoscreator是一款游戏引擎,面试时的问题会涉及到不同的方面,如开发经验、游戏设计、图形学等等,具体要求也会因公司或岗位而异,所以需要根据实际情况进行具体分析。 如果是针对开发经验的问题,可能会考察候选人是否熟悉cocoscreator常用API,是否能够独立开发小型游戏等等;如果是针对游戏设计的问题,则需要考察候选人对游戏玩法、关卡设计等等方面的理解和能力。因此,需要具体分析才能得出准确的回答。