• [技术干货] 【深圳HDZ共享】张波分享《区块链应用落地预判与人才培养的方向》
    【摘要】张波详细解读了区块链技术、应用与人才培养的逻辑关系,并分享如何培养区块链人才。主讲人:张波以下分享内容PPT合集:HDZ社区—携手全球开发者 共建开放、创新、多元的开发者社区组织       HDZ是Huawei Developers Zone的英文缩写,是华为开发者生态面向全球开发者建立开放、创新、多元的开发者社区组织。      致力于帮助开发者学习提升、互动交流、挖掘机会,推动ICT、互联网等产业生态的建立和发展。      对云计算、IoT、人工智能、5G、区块链、鲲鹏、昇腾、软件开发与运维、开源等各技术领域感兴趣的开发者、软件工程师、创业者、运营人、产品人、大学生、老师等都可以参与到HDZ。      HDZ秉承开放、创新、多元的社区文化,完全由各地HDZ组织者、志愿者自发组建和领导。华为公司不直接参与HDZ组织建设和领导,只按需对HDZ社区活动提供必要的方向指导、资源支持、活动支撑等,并为各地HDZ组织者提供与全国组织者互动交流的机会。 怎么加入HDZ?      目前,全国各地HDZ社区正在加速建设,后续将在20多个城市全面铺开。全国各地市的小伙伴只要你对HDZ感兴趣,愿意加入社区共同推进当地开发者社区组建和发展,都可以报名成为HDZ核心组织者或志愿者! 如何加入HDZ,成为核心组成员?核心组成员需要在IT技术领域、社区活动、组织策划、媒体传播等方面中的某一领域具有一定的经验,并愿意对组织负责,愿意通过HDZ交流学习,锻炼自己的技术能力、组织能力,认识更多同道中人,掌握更多先进的技术知识。 如何加入HDZ成为志愿者?社区的成长离不开各领域提供资源的合作伙伴、活动组织者、社区运营伙伴等的参与。不论你擅长运营、营销、文案、摄影、活动组织,还是擅长技术分享;不论你是在校学生,还是职场精英;不管您是大咖还是小咖,只要您对HDZ社区感兴趣,都可以申请加入HDZ社区成为社区的一员,共同推动社区发展进步。你可以利用业余时间,结识更多志同道合的朋友,也可以在这里发掘商业机会、合作伙伴。 加入HDZ我能得到什么?1.核心组织者可写入HDZ贡献者名单2.结识更多志同道合的朋友,发掘机会3.提升自己的技术能力、活动组织能力、运营能力等4.证书、奖章激励5.有机会受邀参与华为官方大会,与全国各地HDZ核心组织者见面碰撞6.更多权益、福利,持续更新中...扫描上方二维码即可报名申请成为各城市核心者、志愿者
  • [案例分享] 大连交通大学“敏捷桃花岛”项目实训总结
    大连交通大学“敏捷桃花岛”项目实训总结背景:大连交通大学是东北地区唯一一所以轨道交通为特色的高等学校,是教育部第二批实施卓越工程师教育培养计划高校、国家软件人才国际培训(大连)基地、国家级人才培养模式创新实验区、全国建设高水平运动队院校和体育文化研究基地、辽宁省车辆工程紧缺本科人才培养基地、辽宁省对日服务外包人才培养基地和大连东北亚国际航运人才培训基地,是国家产学研合作先进单位,是辽宁省产学研合作创新基地。学校以**新时代中国特色社会主义思想为指引,紧紧围绕辽宁老工业基地全面振兴和现代轨道交通装备制造业发展,抓牢“一带一路”“交通强国”“高铁走出去”等国家战略实施的发展机遇,全面深化改革,深入推进“双一流”建设。在成绩获得了充分肯定的同时,大连交通大学也认识到,人才培养、科技创新与社会服务等方面的发展水平与区域经济社会发展的需求仍然有较大差距,一些发展瓶颈问题还有待破解,为了加强学科内涵建设,大力推动特色学科发展,大连交通大学希望根据中华人民共和国教育部‘合理提升学业挑战度、增加课程难度、拓展课程深度,切实提高课程教学质量’的文件精神,结合大连交通大学计算机科学与技术专业本学期的课程安排,校企结合,通过企业对教学课程赋能,提升学生的实践动手能力和项目开发能力。与此同时,华为云DevCloud教育解决方案内容建设团队正好在大连基地,大连交通大学与华为双方一拍即合,通过将华为的企业实践项目引入到教学场景中,充分发挥企业实践优势,让同学们将所学软件工程及编程语言与实际相结合,在学校期间提前了解企业真正的软件开发过程,提升同学们的编码、项目敏捷开发等实践动手能力。 挑战:1、基础设施:学校服务器数量有限,机房网络带宽小,影响上机实践,同时目前还缺少一套可供学生课上课下操作练习的环境。2、教学方案:学校比较缺乏企业实践项目教学案例,教学过程中,大多数时候教的是基础知识,相应的实践项目供学生参考使用,无法让学生了解企业软件开发的整个流程。3、学生方面:学生水平参差不齐,大多数学生还停留在编写代码,熟悉语法的基础上,对软件开发流程、开发模式、团队协同、自动化、流水线、CI、CD以及DevOps等开发模式,接触得非常好,甚至没从来没听过这些名词。 解决方案:    与大连交通大学王老师、田老师等多名老师,多次交流讨论,以客户为中心,解决客户痛点,我们华为云DevCloud教育解决方案EduCloud给出如下方案。1、  使用EduCloud进行教学。理由:EduCloud是华为云DevCloud教育解决方案的一站式教学平台,为老师和学生提供统一的平台。 老师通过EduCloud可以轻松的进行备课、下发作业、统计学生作业完成情况、分析学生对知识的掌握情况等。一方面,EduCloud提供了丰富的内容资源,包括基础编程课如:java、c、c++、Python等,也包括项目开发课程,如:敏捷江湖桃花岛、黑白棋等,还包括前沿技术方面的课程,如AI、自然语言分析等。 另一方面,EduCloud还提供了大量的习题资源,所有习题均可以通过EduCloud在线判题能力,进行自动判题。 这样一来,可以大大的减轻老师备课、出题、判题所消耗的精力,可以更聚焦到教学上面。 学生也可以通过EduCloud平台,在下课之后,在宿舍利用便携完成老师布置的作业。这就解决了机房服务器问题,解决了网络带宽问题,解决了课上课下随时可以进行写作业的问题。2、  使用华为云DevCloud +《敏捷江湖桃花岛》项目进行实训教学。 理由:该课程结合高校实际教学场景,从棉花糖挑战赛这个游戏,引出对现代软件工程的认识,从而引出敏捷及scrum开发的相关概念。 紧接着通过一个典型项目,分4个阶段分别就项目立项、产品规划、技术准备和Sprint开发进行了详细的介绍。结合实践项目,搭配软件开发云,帮助学生了解整个软件开发的开发过程。 从需求管理,项目管理,到代码开发、测试、代码托管、代码质量检查、编译构建、发布、部署、流水线等方面,了解敏捷开发的整体流程,为学生毕业后进入企业工作,提前做技术储备工作。通过《敏捷江湖桃花岛》项目实践教学,可以解决上述挑战中的问题2、3.图一:项目开发全景图  在大连人才培养也"上云" 华为云EduCloud首发上,对于华为云参与产教融合创新、培养高校人才的积极作用,大连交通大学副校长傅利斌表示,作为第一批通过华为云进行授课的学校,大连交通大学在学科建设、教学信息化、软件工程人才培养和学生就业方面取得积极进展——学生学习热情、教师工作干劲、教育教学质量得到提高,真正做到教师在教中教、学生在学中学,理论与实践结合。华为云助力高校培养信息人才的行动为中国经济转型和升级创造了新动力。图二:华为云DevCloud教育解决方案大连首发上线,大连交通大学副校长致辞 在实际教学过程中,华为方多次派出专家,去大连交通大学,与老师和同学一起,针对《敏捷江湖桃花岛》进行剖析和指导,模拟项目开发,团队组建分组等。带领同学们进行需求分析、Story编写、迭代任务制定、回顾会议召开、项目开发、代码提交和管理、代码检查、编译构建、发布、部署、流水线端到端拉通等等。同学们收益匪浅,通过实践活动,同学们了解了企业软件开发的真实流程,了解了很多在课堂上学不到的但进入企业工作却非常重要的知识。根据以学代练,通过《敏捷桃花岛》项目案例作为参考,同学们积极主动的进行实践,开发了几十个项目出来。图三:华为专家在大连交通大学现场授课  图四:大连交通大学基于《敏捷江湖桃花岛》项目进行项目实践开发情况 总结本次通过这门《敏捷江湖桃花岛》项目实践课程,进行校企合作的开展,将符合中华人民共和国教育部的全新的理念融入到教学当中去,通过课堂、课中、课后对学生进行全方位指导教学,整体上老师结合企业实践教学,效果更好,更满意。 学生通过实践项目进行参考练习,学到了课本上学不到的知识,为今后毕业进入企业工作,提前打好了坚实的铺垫。 校方也因引入产教融合,提升了学校的教学质量,真正做到理论与实践结合而满意,政府因引入华为云DevCloud教育解决方案,提高了本地产业人才能力,为本地产业发展融入新鲜血液,促进产业创新而开心。 当然,要让高校的所有软件类学生使用并提升他们的实际动手能力,我们还需要做很大的努力,今后我们将积极在政府的带领下,与高校老师进行深入合作互动,将更多的企业实践项目开放出来给高校进行教学,与学生进行充分的互动交流,提升教育水平,为培养创新型、复合型、应用型人才而努力奋斗。
  • [最新动态] 【物联网课程学习课堂】活动,多重好礼等你拿!
    “天堂有路你不走,学海无涯苦作舟。”热热闹闹的春节就要在爆竹声中来临啦在幻想怎么躺尸?想去亲戚串门?相亲进行时?NO NO NO 学习!沉迷学习,日渐消瘦话不多说,活动规则如下:活动时间:2020.01.09-2020.02.09活动奖励:四份奖品(100元京东券+200元京东券+HUAWE WATCH GT+荣耀手环4),凭本事领取~活动方式:               【物联网课程学习课堂】【关卡一】报名课程领奖品 :报名课程,回复截图,即可参与抽取100元京东券                               【物联网课程学习课堂】【关卡二】完成课程学习领奖品:完成课程学习,回复截图,即可参与抽取200元京东券                                          【物联网课程学习课堂】【关卡三】发表学习笔记帖领奖:发布学习笔记,邀请好友评论,即可参与领取HUAWEI WATCH GT                             【物联网课程学习课堂】【关卡四】邀请好友抽豪礼!:邀请好友参与活动,即可参与抽取荣耀手环4                  评选方式:请自行前往各活动帖查看奖品领取方式:如果是按楼层来抽奖,则只选取有效楼层颁奖:如,中奖楼层为105,但105号不符合获奖规则,则顺延至106号,以此类推。获奖公示期为活动结束后三个工作日,如若对活动结果有任何异议,请私聊版主或者微信联系华为IoT小助手(微信:huawei-iot)获奖用户请在公示期结束后3个工作日内添加华为IoT小助手(微信号:huawei-iot)凭借获奖截图领取奖品。奖品将在公示期结束后15个工作日内发出。由于获奖用户自身原因(包括但不限于提供的联系方式有误、身份不符或者通知领奖后超过15个工作日(2020年1月13日)未领取等)造成奖品无法发送的,视为获奖用户放弃领奖。实物奖品颜色随机发放。  来源: 【物联网课程学习课堂】活动,多重好礼等你拿!
  • [版本更新历程] 2019.12.30 Classroom版本发布日志
    资源中心页面优化:页面展示信息更多,更清晰。删除用户逻辑优化:支持老师仅从classroom中移除学生子账号,或者将学生子账号永久删除。基于课程分享功能,新增课堂生成课程时,可覆盖之前已经生成过的课程,也可以直接创建新课程。页面优化:从课堂返回首页时,左侧滚动条定位到课堂列表的所在的位置删除课堂后,默认选择焦点不是上一个或者下一个创建作业页面优化,可展示更多的待选习题;课堂名称、作业名称增加title显示优化;
  • [案例分享] 大连大学使用GaussDB100案例总结
    大连大学使用GaussDB100案例总结背景:      大连大学是隶属于中华人民共和国辽宁省教育厅的一所公立大学。其前身为大连工学院大连分院,1983年独立办学并更名为大连大学,现校址位于辽宁省大连市开发区。近几年,大连大学迅速发展,其计算机科学与技术领域1项国防科研成果参加国家“十二五”科技创新成就展,14项军民融合科技创新成果参加“辽宁省第一届军民融合成果展”,这标志着大连大学科技创新能力步入全国地方高校的前列。在成绩获得了充分肯定的同时,大连大学也认识到,学校在人才培养、科技创新与社会服务等方面的发展水平与区域经济社会发展的需求仍然有较大差距,一些发展瓶颈问题还有待破解,比如:学校现有师资队伍规模较小,专业技术高级岗位比例低,高水平领军人才不足。为了加强学科内涵建设,大力推动特色学科发展,大连大学希望根据中华人民共和国教育部‘合理提升学业挑战度、增加课程难度、拓展课程深度,切实提高课程教学质量’的文件精神,结合大连大学计算机科学与技术专业本学期的课程安排,校企结合,通过企业对教学课程赋能,引入智慧化金牌课程建设。 面临挑战:1、            基础设施:学校服务器数量有限,目前没有一套可供学生课上课下操作练习的线上环境。2、            教学方案:学校教育方案中只能教会学生基础知识,没有相应的教学方式让学生学以致用。3、            学生方面:学生水平参差不齐,如何设计课程难度使得不同层次的学生都能在课堂上收益并有所提高。华为高校内容组解决方案:华为高校内容组根据大连大学信息工程学院本学期的课程安排实际情况,决定对《数据库系统原理》这门课程进行企业级指导,并开展实训项目训练,对涉及到2个班级的55名同学进行为期4个月的教学指导。运用的数据库为华为GaussDB 100。1.    本着对教育认真负责的态度,我们组内运用了大量人力、物力和时间成功搭建了华为云的11个线上环境并且均部署了GaussDB100的数据库,为接下来的课程展开打好了基础。2.    本着以实训为目的,我们开发了名为‘托马斯商城’的一个购物系统的项目并在后台与GaussDB100数据库相连。针对老师和学生对于我们课程支持方面的诉求我们采取了多交流、多沟通的工作方式,通过一段时间的沟通交流基本掌握了学生现状和高校教学瓶颈,有针对性的编写实训课件,为课程的展开打好了基础。3.    在教学方式上,我们有多年的企业实际项目研发经验,这也正是目前学生最迫切的需求。我们还在组内进行了多次评审会议,讨论并制定了合理的教学课件,很好的规避了许多课上可能出现的问题和风险。在上课过程中运用了企业级的思维和方式,例如给学生批改作业我们采用了类似项目评审会的方式,让学生自主表达学习内容与学习心得,我们作为评审领导按照企业级的标准给予评价,让老师和同学耳目一新。既得到了老师的肯定,也深受同学们的喜爱;既增加了课堂活跃度,也让不同水平的同学都有了相应的提高,对于自己所学习的知识有了更高层次的认识,让学生在课堂上感受到所学的专业知识在企业中是如何运用的。正因如此,同学们更加明确了未来的发展方向。 (附)课程教学服务实施过程:项目亮点:1.    GaussDB 100        GaussDB 100是一款华为自研的企业级关系型数据库引擎,具有高性能、高可用、高扩展、易运维等优点,可稳定高效的运行在X86或ARM开放架构平台上。GaussDB 100支持SQL标准并提供对主流商业数据库的语法支持,应用可以快速研发或迁移。GaussDB100为关系型数据和结构化数据提供了更安全可靠的存储功能,金融、电信、云、行业数字化可以基于它构建和管理用于业务的高可用和高性能的数据应用程序。华为全自研企业级GaussDB 100数据库 2.    学生翻转课堂学生自主成立小组团队,将学习的决定权从教师转移给学生,学生自趋学习实践,通过课上老师的引导,以小组为单位运用讨论、学习、抢答、颁奖等方式来开展课堂,既给了学生更多的展示空间,也活跃了课堂气氛,使得所有学生都参与到课堂中来,大幅提高学生听课和学习质量。3.    专家TED式分享            通过邀请华为高校内容组的产品、技术、运维等多方面领域的专家,课上现场对学生所设计的数据库文档进行多角度分析指导,不仅体现了华为人对待工作认真严谨的态度,而且使得同学们也深感备受重视,更好的激发同学们的自主学习的兴趣。这种上课模式也深受老师的欢迎,是华为高校内容组在高校开展活动的一次宝贵的经验。客户价值本次针对大连大学《数据库系统原理》这门课程一共上了四节实践课,分别为两次基础知识课和两次项目实践课,有课件和学生打分表等输出物。同时得到了同学们的积极响应和支持,两个班55名同学(11个组)共有11篇设计文档的成果产出。让学生对华为云教育平台有了全新的体验,对国产优秀数据库GaussDB有了不一样的感受。通过这门课程校企合作的开展,将符合中华人民共和国教育部的全新的理念融入到教学当中去,在课堂、课后对学生进行全方位指导教学,我们提供的教学解决方案对数据库课程的进行了改进,在为企业培养创新型、复合型、应用型人才的道路上,迈进了扎实的一步。总结:本次在大连大学《数据库系统原理》课程,使用GaussDB的教学服务,整体老师非常满意并且以聘请我们授课专家为兼职教师和主动提供表扬信等方式表达对于我们的工作给予肯定。这次高校教学实施案例对于高校内容组也是一次课程实践上的挑战,我们在过程中积累了高校教学经验,丰富了知识阅历,使得我们对于教育行业的认识也愈发透彻,对未来内容组的业务再拓展打下了良好的基础。
  • [课程内容] C++实践教学精品课标准
    C++实践教学精品课标准课程地址课程概述:本课程适合作为高等学校计算机专业及相关专业C++语言程序设计课程的教材,可供从事计算机软件开发人员参考使用。本课程主要介绍了C++语言编程相关知识,重点介绍C++语言概述、函数、类与对象、数据共享与保护、数组、指针、字符串、继承、派生、多态、群体类和群体数据的组织、泛型、C++标准模板库、流类库、输入输出及异常处理。 通过本课程,学生能够学习并了解C++语言语法,体会和领悟面向对象程序设计方法和泛型程序设计方法的优势,结合课程中的编程练习题,能够进一步加深学生动手能力,提升学生对C++知识的掌握和实际应用。材料数作业数习题数五星推荐搭配1591288《C++习题库》含376道习题 作者介绍华为云教育,本课程由华为云教育内容开发团队开发完成,团队主要负责教育解决方案内容开发和建设。包括但不限于课件、视频、习题、代码、案例项目、实训课等。  课程定位:本课程根据人才培养目标,制定涵盖低级,中级,高级等多级分类的知识点、原理、定理等课程体系,满足人才培养需求,包括知识要求、能力要求、素质要求。C++语言为C语言的进阶,学习它是很有必要的,做人工智能的研究,想要深入底层,TensorFlow的核心是用C++写的;做游戏开发,包括端游和网游后台,以发挥计算机的全部性能,需要C++;做智能硬件、嵌入式或硬件驱动开发,C++会提供更多工具,生产效率更高。 岗位及从业方向:岗位:游戏开发工程师、服务器开发工程师、应用开发工程师、C++逆向开发工程师、嵌入式开发工程师、图像处理工程师。从业方向:服务器端开发、游戏开发、虚拟现实仿真、数字图像处理、网络安全、黑客攻防、破解等方向。 前/后导课程:C++语言程序设计可以说是C语言程序设计的进阶课程,学好《计算机应用基础》、《C语言程序设计》,会让你学习起来简单得多。《计算机应用基础》——>《C语言程序设计》——>《C++程序设计》、《Java程序设计》、《数据结构》 本课程的主要任务是:1.    掌握面向对象程序设计的各种概念、机制及其用法2.    掌握C++泛型程序设计,熟练编写各类模板3.    熟练使用C++的标准模板库4.     初步具备用C++语言和面向对象的方法开发大型程序的能力5.    通过学习本课程,让学习本课程的人有一个扎实的计算机基础,对计算机架构,操作系统,编程语言,计算机网络有一个本质的认识,做到以不变应万变,并且可以独立开发模仿一些常用的软件工具和网站以及安卓程序,解决日常生活中遇到的各种计算机问题。6.    考核达标后,基本达到入职企业所需具备的软件开发职业素质。7.    培养学生严肃,认真一丝不苟的工作作风。培养学生积极思考,通过算法编程题,锻炼思维能力,培养创新能力。8.    为以后深入其他任何计算机领域奠定坚实的根基,未来才能够走的更远,站的更高,解决一般程序员无法解决的问题,成为优秀的人才。 本课程知识教学目标:1.了解计算机程序设计语言的基本知识。2.掌握基本类型、表达式、数据的输入输出、算法的基本控制结构及枚举类型。3.掌握函数的定义、调用、参数传递、函数种类和使用。4.掌握类和对象的使用、构造函数、析构函数、UML类图、结构体、联合体。5.掌握数据共享、数据保护、多文件结构,了解编译预处理命令。6.掌握指针、数组的定义和使用。7.掌握类的继承与派生、派生类的构造定义和析构函数的使用。8.了解并掌握多态性的概述、运算符重载、虚函数和抽象类的使用。9.掌握函数模板与类模板的定义和使用及排序方法的分类使用。10.掌握泛型程序设计与C++标准模板库。11.了解流的概念及流类库结构、掌握输入输出流。12.   理解异常处理的思想,掌握C++异常处理的实现。       教学大纲:第1章绪论1)     计算机程序设计的发展2)     面向对象的方法3)     面向对象的软件开发4)     信息的表示和存储5)     程序的开发过程通过本章节的学习,学生可以:1)     了解 计算机程序设计语言的发展、计算机语言的分类2)     掌握信息的分类、几种进位计数制的转换3)     理解源码、反码、补码的定义及使用4)     掌握定点数、浮点数、数的表示范围及非数值信息的表示5)     了解程序开发的过程 第2章C++简单程序设计1)     C++语言概述2)     基本数据类型和表达式3)     数据的输入与输出4)     算法的基本控制结构5)     枚举类型通过本章节的学习,学生可以:1) 了解 C++ 语言发展和应用2) 掌握 C++能够处理的基本数据类型和表达式3) 了解IO流、简单IO格式控制。4) 理解并掌握算法的基本控制结构及使用方法,包括if、switch、while、do-while、for、break、continue、goto语句5) 掌握枚举类型的定义和使用 第3章函数1)     函数的定义与使用2)     内联函数3)     带默认参数值的函数4)     函数重载5)     使用C++系统函数通过本章节的学习,学生可以:1)     学会函数的定义及使用2)     理解函数调用的形式、掌握嵌套调用和递归调用3)     掌握函数参数传递的定义及使用方法4)     理解并掌握内联函数的使用、注意事项及内联函数的应用5)     掌握带默认参数值的函数的使用6)     学会函数重载如何使用及注意事项7)     了解C++系统函数8)     学会将一段功能相对独立的程序写成一个函数第4章类与对象1)     面向对象程序设计的基本特点2)     类和对象3)     构造函数和析构函数4)     类的组合5)     UML图形标识6)     结构体7)     联合体通过本章节的学习,学生可以:1)     了解面向对象的基本概念2)     掌握类和对象的声明使用3)     掌握构造函数及析构函数定义和使用4)     理解类的组合、会使用向前引用声明5)     了解UML类图6)     掌握结构体的定义和初始化7)     学会联合体的声明、内存分配及使用方法 第5章数据的共享与保护1)     标识符的作用域与可见性2)     对象的生存期3)     类的静态成员4)     类的友元5)     共享数据的保护6)     多文件结构和编译预处理命令通过本部分的学习,使学生:1)     熟练掌握函数原型的作用域、局部作用域、类作用域、文件作用域2)     理解可用性的概念3)     了解什么是动态生存期和静态生存期,掌握变量的生存期与可见性4)     掌握静态数据成员的声明和使用5)     理解友元的定义,学会友元函数的使用6)     了解数据的共享、保护7)     掌握C++程序的一般组织结构8)     理解外部函数和外部变量的定义及使用方法9)     掌握标准C++库10)  学会编译预处理命令的使用 第6章数组、指针与字符串1)     数组2)     指针3)     动态内存分配4)     用vector创建数组对象5)     深拷贝与浅拷贝6)     字符串通过本部分的学习,使学生:1)     熟练掌握一维数组、二维数组、对象数组的概念、声明与使用2)     了解内存空间的访问方式3)     掌握指针的赋值及运算4)     理解动态内存分配及动态的使用5)     学会用Vector创建数组对象6)     理解深拷贝和浅拷贝的定义和使用7)     掌握用字符数组处理字符串的方法8)     熟练使用String类 第7章继承与派生1)     类的继承与派生2)     访问控制3)     类型兼容规则4)     派生类的构造、析构函数5)     派生类成员的标识与访问通过本部分的学习,使学生:1)     理解类的继承关系,学会使用继承关系实现代码的重用2)     了解继承与派生的概念、目的3)     理解派生类的声明及生成过程4)     掌握公有继承、私有继承、保护继承的定义及使用方法5)     了解类型转换的规则6)     掌握继承时及单一继承时构造函数的使用7)     了解作用域限定8)     掌握虚基类的引入、声明和作用9)     熟练掌握虚基类及其派生类构造函数的使用 第8章多态性1)     多态性概述2)     运算符重载3)     虚函数4)     抽象类通过本部分的学习,使学生:1)     理解多态的概念,学会运用多态机制2)     掌握多态的概念、类型及实现3)     学会重载“+”“-”运算符的使用4)     理解运算符重载的规则5)     掌握运算符重载为成员函数6)     掌握运算符重载为非成员函数7)     了解并掌握虚函数的概念和声明8)     了解为什么使用虚析构函数和使用方法9)     掌握纯虚函数的定义和使用10)  了解抽象类的作用和使用 第9章群体类和群体数据的组织1)     函数模板2)     类模板3)     线性群体4)     群体数据的组织通过本部分的学习,使学生:1)     理解函数模板的概念和定义方法2)     了解并掌握类模板的作用和声明以及使用3)     理解线性群体的概念4)     掌握动态数组类模板的使用5)     熟练掌握链表的基本操作:生成结点、**结点、查找结点、删除结点、遍历链表、清空链表6)     了解栈的概念,掌握栈的基本状态:栈空、栈满、一般状态7)     掌握什么是队列及队列的基本状态:队空、队满、一般状态8)     掌握循环队列的定义和使用 第10章泛型程序设计&C++标准模板库1)     泛型程序设计及STL的结构2)     迭代器3)     容器的基本功能与分类4)     顺序容器5)     关联容器6)     函数对象7)     算法通过本部分的学习,使学生:1)     了解泛型程序设计的基本概念2)     了解STL概念及组成3)     理解迭代器的分类、迭代器的区间4)     了解并掌握迭代器的辅助函数的使用5)     掌握输入流迭代器、输出流迭代器的使用6)     理解容器的基本功能和分类7)     了解顺序容器的接口和基本操作8)     了解三种顺序容器的特性9)     掌握顺序容器**迭代器的方法10)  学会以顺序容器为基础构建一些常用数据结构11)  了解优先级队列定义及使用12)  掌握关联容器分类和的基本功能13)  掌握函数对象的定义和使用14)  了解STL算法概念和分类15)  学会使用不可变序列算法、可变序列算法、排序和搜索算法、数值算法 第11章流类库与输入输出1)     IO流的概念及流类库结构2)     输出流3)     输入流4)     输入/输出流通过本部分的学习,使学生:1)     了解IO流的概念及流类库结构2)     掌握输出流的分类及如何构造输出流对象3)     学会**运算符和操纵符的使用4)     掌握文件输出流成员函数的三种类型及使用5)     理解二进制输出文件6)     掌握字符串输出流的功能和应用7)     了解输入流的分类8)     掌握输入流对象的构造方法9)     学会使用提取运算符10)  理解输入流相关函数的使用方法11)  掌握字符串输入流功能和应用12)  理解并掌握输入/输出流两个重要的类 第12章异常处理1)     异常处理的基本思想2)     C++异常处理的实现3)     异常处理中的构造与析构4)     标准程序库异常处理通过本部分的学习,使学生:1) 了解异常处理的基本思想2) 掌握异常处理的语法和异常接口声明3) 了解异常处理中的构造与析构4) 了解标准程序库异常处理方法5) 学会标准程序库的异常类的使用课时建议:序号课 程 内 容学  时  数合计理论教学实践教学实训教学教学实习1绪论222C++简单程序设计4223函数6424类与对象151235数据的共享与保护6426数组、指针与字符串6427继承与派生6428多态性5419群体类和群体数据的组织4410泛型程序设计&C++标准模板库54111流类库与输入输出2212异常处理321总计644816 教学过程与方法目标:建议在进行该课程的教学过程中,充分利用classroom平台的在线判题和授课能力,在讲完每个章节之后,通过在C++语言习题库中,根据该章节的知识点选择客观题(选择、判断、填空)等,进行选题出题,进行上课期间的随堂作业,在3~5分钟内,学生需要完成作业并提交,老师通过平台反馈的数据,及时了解学生对该章节知识点的掌握情况,对大部分学生都答错了的习题所对应的知识点,需要重点再讲解。 另外,可以通过C++语言习题库,根据知识点选择适量的在线编程题,作为作业下发给学生进行课后编程练习,通过学生提交的代码以及完成功能的正确率,对相关知识点进行重点讲解,通过课后编程题练习,也可以有效的提升学生的动手编程能力,这样就达到了不仅仅能掌握理论知识,还能动手将理论和实际相结合,提升学生的动手能力。在教学到第5章左右,可以结合classroom平台,给学生布置一些相对复杂的C++语言单人工程型习题,培养学生项目开发的能力,以及团队合作精神。 考核要求:(1)考核包括,期末考核70%,平时30%(2)理论考核采用闭卷形式,时间100分钟(3)题型为填空、选择、程序设计(4)考试内容分配:基础60%,综合40%(5)试卷难度分配:基本内容60%,适中内容30%,难度内容10%(6)技能考核方式是上机操作,主要考核程序改错和编程,通过classroom平台完成作业的提交,在线编程等。 参考文献:《C++语言程序设计》(第4版)郑莉 清华大学出版社   
  • [课程内容] Python程序设计精品课介绍
    Python程序设计精品课程介绍课程链接地址课程概述:本课程适合作为高等学校计算机专业及相关专业Python语言程序设计课程的教材,也可作为计算机等级考试参考书,还可供从事计算机软件、人工智能、大数据等领域开发人员参考使用。本课程主要介绍Python语言的语法及常用模块的使用,重点介绍面向对象设计,字符串操作,正则表达式等知识,同时通过游戏设计,展示Python语言的简易和强大。当前Python作为一门优秀的综合语言,在人工智能、云计算、金融分析、大数据开发、WEB开发、自动化运维、测试等方向有应用广泛,因此学好Python语言编程是非常有必要的。 本课程还结合相关的python习题,提升同学们的编程动手能力,加深对Python语言的理解,学习过程中对知识的理解程度进行及时检验。最后,通过企业实践,总结出一套行之有效的Python编程技巧,可以帮助同学们在今后的工作中少走弯路。材料数作业数习题数五星推荐搭配15617130《python-习题库》含401道习题 作者介绍华为云教育,本课程由华为云教育内容开发团队开发完成,团队主要负责教育解决方案内容开发和建设。包括但不限于课件、视频、习题、代码、案例项目、实训课等。  课程定位:本课程根据人才培养目标,制定涵盖低级,中级,高级等多级分类的知识点、原理、定理等课程体系,满足人才培养需求,包括知识要求、能力要求、素质要求。本课程作为当前热门技术如:人工智能、大数据分析等行业的基础编程课程及入门课程,特别适合于想快速掌握并应用编程语言实现某些功能或开发某些项目的学生和开发者。学完这门课程后,同学们可以更快更容易的学习和了解python语言的相关框架,如Flask、Django web开发、爬虫Spider,人工智能tensorflow、自动化测试RobertFramewok等等。为学生今后从事其他相关领域方面的工作做好坚实的基础。 岗位及从业方向:岗位:Python软件开发工程师,运维自动化工程师,全栈工程师,爬虫工程师、大数据开发工程师、分析工程师、AI人工智能应用开发工程师、图像处理工程师、游戏开发工程师等岗位。从业方向:移动互联、游戏、人工智能、大数据、Web应用、全栈开发、机器学习、系统运维、云计算、智能制造、图片视频处理、游戏开发等。 前/后导课程:Python语言程序设计自从20世纪90年代初诞生至今,它逐渐被广泛应用于处理系统管理任务和Web编程,Python语法简洁而清晰,具有丰富和强大的类库,是一门实践性很强的课程,要学好Python语言,需要首先对计算机基础有一定的了解,对编程思想有一定的掌握,如果涉及到特定的领域,如图像分析,需要对图像学提前了解。学好Python语言后,通过学习Python语言相关框架,可以进一步的学习更多的Python特定领域开发课程本课程的主要任务是:1.通过学习本课程,学生可以掌握Python程序设计的语法、开发过程和开发技巧。熟练运用Python运算符、内置函数以及列表、元组、字典、集合等基本数据类型和相关列表推导式、切片等特性来解决实际问题,熟练掌握Python分支结构、循环结构、函数设计以及类的设计与使用,熟练使用字符串方法,适当了解正则表达式,熟练使用Python读写文本文件等。2.具备熟练应用华为云classroom云上开发集成环境进行Python语言的在线编写,执行。具备Python语言本地开发环境的安装和配置3. 能熟悉掌握并应用python本地集成开发环境如PyCharm等工具,掌握python编译打包发布等相关命令。4.具备应用python相关框架进行程序开发和设计的能力。会通过Pygame、PyOpenGL等第三方库,并结合相关参考资料,开发并优化简单的游戏,如:太空射击、2048,五子棋等。具备通过Python语言程序进行项目开发的能力。5. 考核达标后,基本达到入职企业所需具备的软件开发职业素质。6.培养学生严肃,认真一丝不苟的工作作风。培养学生积极思考,勇于钻研和学习开源框架的能力,通过算法编程题,锻炼思维能力,培养创新能力。 本课程知识教学目标:1.了解Python语言的基本知识。2.了解Python的语法基础,基本特点、关键字,类型,常量变量,运算符等。3.掌握Python控制语句,顺序结构、选择结构、循环结构的Python语言构成及编程技巧;。4.掌握Python函数与模块。5.掌握Python文件的使用,文件读写操作。6.掌握Python面向对象程序设计的定义和使用,掌握继承、多态、封装等特性。7.掌握Python字符串相关的操作,字符串格式化、转义、常用字符串操作函数等。8.掌握Python中的正则表达式应用。9.了解通过Python之PyGame游戏设计。10.掌握企业实践之Python编程技巧。 教学大纲:第1章Python语言介绍1)     Python语言简介2)     安装与配置Python开发环境3)     Python开发环境IDEL介绍4)     Python基本输入输出5)     模块引入介绍6)     Python代码编写规范。教学重点:缩进,空格与空行,不同数据类型的选择对程序运行效率的影响7)     学会使用Python的帮助文档通过本章节的学习,学生可以:1)     了解 Python语言的背景2)     掌握 Python语言程序的结构3)     理解 Python语言程序设计的风格4)     学会并利用Python帮助文档解决开发中遇到的问题5)     规范代码编写,提升代码可读性,可维护性,可扩展性等。 第2章Python语言语法基础1)     Python语言基本类型介绍。 a)     列表。教学重点:列表对象的创建与删除,其他类型到列表的转换,内置range(),使用+运算符、append()方法、extend()方法、insert()方法为列表增加元素,使用del命令、pop()方法、remove()方法删除列表元素,使用下标访问列表元素,使用index()方法获取列表元素下标,使用count()方法获取列表元素出现次数,有序序列的双向索引,使用成员资格判断运算符in判断列表中是否存在指定元素,使用切片访问、修改、删除、增加列表元素,列表排序方法sort()与内置排序函数sorted()以及列表逆序方法reverse()与内置逆序函数reversed(),len()、max()、min()、sum()、zip()、enumerate()等内置函数对列表对象的操作,使用列表推导式快速生成列表。教学难点:自动内存管理,切片操作,列表推导式,排序方法的key参数b)   元组。教学重点:元组对象的创建与删除,其他类型到元组的转换,元组与列表的区别,生成器推导式。教学难点:元组与列表的区别,元组的不可变特点,生成器表达式与列表推导式的效率比较c)     字典。教学重点:字典对象的创建与删除,字典元素、键、值的访问方法,字典元素的添加与修改,使用字典对象的get()方法获取指定键对应的值,有序字典对象的使用,使用字典来计数,有序字典。教学难点:字典对象的get()方法,访问字典对象时可以使用键作为下标,字典对象的键必须为不可变对象。d)     集合。教学重点:集合对象的创建与删除,其他类型数据到集合的转换,使用add()方法为集合增加元素,使用pop()和remove()方法删除元素,使用clear()方法清空集合,集合的并、交、差以及对称差等运算,使用集合来提取序列中的唯一元素。教学难点:Python运算符的多重含义,集合运算2)     常量和变量在Python语言中的定义和使用3)     Python中运算符介绍。教学重点:同一个运算有不同含义,关系运算符和逻辑运算符的惰性求值特点4)     Python语言表达式介绍。5)     Python语言中关键字介绍6)     Python语言中类型转换与类型判断7)     相关内置函数功能介绍。教学重点:很多函数有基本用法和高级用法,注意这些函数的可选参数;理解函数式编程的模式。教学难点:函数式编程。通过本章节的学习,学生可以:1)     了解 Python 语言程序设计的基本语法2)     掌握编写Python语言程序的基本步骤和执行步骤3)     掌握Python中类型定义,运算符优先级应用,表达式如Lamda表达式的使用等4)     掌握Python中类型转换、类型判断以及相关的内置函数 第3章Python控制语句1)     选择结构语句。教学重点:单分支选择结构、双分支选择结构、多分支选择结构、选择结构的嵌套,条件表达式后必须有冒号且换行缩进后开始写代码块,elif关键字表达else if的意思。教学难点:缩进体现代码的业务逻辑。2)     循环结构语句。 教学重点:for循环、while循环,range对象在循环中的使用,成员测试符in与序列解包在循环语句中的使用,带有else子句的循环结构,循环代码的优化,break与continue语句的作用。教学难点:带有else子句的循环结构,循环代码的优化。3)     常用算法和应用实例通过本章节的学习,学生可以:1)     掌握python中选择结构if…else…的应用2)     掌握循环结构while,for等语法和应用3)     掌握Python中十大经典的排序算法第4章Python函数与模块1)     函数的定义和使用。教学重点:Python函数的定义形式,def关键字,不需要声明函数的参数类型和返回值类型,括号不可以省略,冒号必须有。函数嵌套定义。函数递归调用。2)     函数参数。 教学重点:形参与实参的概念,在函数内部直接修改形参不会影响实参。位置参数、默认值参数、关键参数和长度可变参数的用法。传递参数时的序列解包3)     变量作用域。教学重点:在函数内如果只引用某个变量的值而没有为其赋新值,该变量为(隐式的)全局变量;如果在函数内任意位置有为变量赋新值的操作,该变量即被认为是(隐式的)局部变量,除非在函数内显式地用关键字global进行声明。教学难点:局部作用域与全局作用域的区别,在函数内部定义全局变量的方法4)     生成器函数设计。教学重点:yield语句和return语句的区别,生成器对象的惰性求值特点。教学难点:生成器对象的惰性求值5)     lambda表达式。教学重点:使用lambda表达式声明匿名函数和命名函数,在lambda表达式中调用函数,把lambda表达式作为函数参数。教学难点:lambda表达式作为其他函数的参数6)    模块的定义。教学重点:使用import引入模块,常用的内置模块如:os,datetime等的使用,常用的第三方模块如:requests,Tkiner等的使用,以及自定义模块通过本章节的学习,学生可以:1)     掌握Python语言中函数的定义和使用2)     掌握Python语言中常用的模块以及自定义模块的使用3)     掌握Python中函数参数传递,定义和使用,掌握Lambda表达式的应用。4)     掌握Python中生成函数的定义和使用 第5章Python文件的使用1)     文件的访问、打开和读写。教学重点:文本文件与二进制文件的概念与访问方法的区别,文件对象,open()方法以及flush()、close()、read()、readline()、readlines()、tell()、write()、writelines()等常用方法,上下文管理语句with的优点与用法。教学难点:文件操作三步骤:打开文件、操作文件、关闭文件2)     目录、文件夹的操作。教学重点:通过os模块进行目录操作的相关函数,getcwd获取当前工作路径,listdir返回指定目录下的文件和目录信息,mkdir创建目录,rmdir删除目录,chdir改变目录等等。通过本部分的学习,使学生:1)     熟练掌握Python中操作文件,对文件进行打开、读写等的步骤。能实际应用到文件操作的实际场景中去。2)     掌握目录和文件夹的操作,会进行切换目录,创建、删除目录等操作。 第6章面向对象程序设计1)     Python中类的定义和使用。教学重点:Python类的定义,class关键字,创建对象的方法,通过对象访问成员的方法2)     类的数据成员和成员方法。教学重点:私有成员与公有成员,数据成员与成员方法,类方法与静态方法,属性的定义与使用,混入机制3)     类的继承、多态和封装。教学重点:继承的作用与Python实现,多态的概念4)     特殊方法和运算符重载。教学重点:构造函数__init__(),析构函数__del__(),__add__()、__mul__()、__pow__()及其他Python类特殊方法与运算符的对应关系。教学难点:特殊方法与运算符及内置函数的对应关系通过本部分的学习,使学生:1)     熟练掌握Python中类的定义和使用,会自己定义类,进行类的函数引用和调用。2)     能熟练应用类的特性,如继承、多态和封装,对对象进行更合理的设计。提升程序的可维护性。3)     通过特殊方法和运算符重载的使用,实现构造对象的时候,自动通过特殊方法或运算符重载函数实现相关的初始化或析构收尾等功能。 第7章Python中字符串1)     字符串及其编码格式;教学重点:ASCII、UTF8、GBK的区别2)     转义字符与原始字符;教学重点:转义字符的用法,字符串前面加字母r的含义。3)     字符串格式化;教学重点:format()方法,格式化的字符串常量。4)     字符串常用操作;教学重点:使用find()、index()、count()等方法以及关键字in确定字符串中是否包含另一个字符串,使用split()、partition()方法对字符串进行切分,使用join()方法连接字符串,使用replace()、translate()对字符串进行“修改”,使用strip()方法删除字符串开始、结束或两侧的指定字符,使用lower()、upper()、capitalize()、title()、swapcase()等方法进行大小写转换,使用startswith()、endswith()方法测试字符串是否以另一个字符串开始或结束,使用center()、ljust()、rjust()等方法对字符串进行排版。通过本部分的学习,使学生:1)     了解字符串在Python中的常用编码格式,及编码转换2)     掌握常见的转义字符和原始字符区别和应用3)     掌握字符串的常用格式化方法的使用4)     掌握字符串的常用操作,查找、连接、切分、替换、大小写转换、判断排版等。 第8章正则表达式1)     正则表达式定义及语法。教学重点:正则表达式基本语法与扩展语法,常用正则表达式的写法。2)     使用模块re进行字符串的处理。教学重点:compile()、match()、search()、findall()、split()、sub()、escape()等re模块常用方法。3)     使用正则表达式对象处理字符串。教学重点:正则表达式对象方法的用法。4)     Match对象的使用。教学重点:match对象方法的用法。通过本部分的学习,使学生:1)     掌握正则表达式的语法,定义,会写正则表达式,会通过正则表达式进行判断,如:判断身份证合法性,手机号码合法性等等。2)     掌握正则表达式模块re的常用方法和使用。3)     掌握正则表达式对象处理字符串的常用方法4)     学习并掌握match对象的使用,通过match对象,将匹配的部分取出来进行进一步分析操作等等。 第9章游戏设计1)     Pygame游戏模块从入门到实践2)     基于PyGame的游戏设计3)     小游戏设计思路及参考案例(1、连连看  2、推箱子  3、两人麻将  4、单机版五子棋  5、网络五子棋  6、扫雷游戏  7、中国象棋  8、21点扑克游戏  9、华容道游戏)通过本部分的学习,使学生:1)     了解和掌握使用Python语句进行游戏开发的一般步骤,开发依赖模块的使用等。2)     掌握Pygame模块的使用,可以通过Pygame模块,进行简单小游戏的开发。3)     学习和了解小游戏的设计思路,参考相关的小游戏案例,可以自己组建团队,分工合作,开发和设计一款类似的小游戏。4)     熟悉团队开发的重要性,分工合作的必要性,团队配合和协调的重要性。 第10章企业实践之Python编程技巧1)     Python常用的编程技巧2)     Python应该避免的编程方式3)     Python编码中的性能技巧4)     18个Python高效编程技巧通过本部分的学习,使学生:1)     了解企业中应用Python进行编程时的常用技巧,陷阱等。2)     了解Python高性能编码的技巧,避免编写低性能的代码。3)     进一步提升同学们对Python语言的深度学习。课时建议:序号课 程 内 容学  时  数合计理论教学实践教学实训教学教学实习1Python语言介绍222Python语言语法基础5413Python控制语句——顺序结构、选择结构4314Python控制语句——循环结构5325函数及模块10826文件及目录4317面向对象程序设计10828字符串8629正则表达式64210游戏设计(可选)73411企业实践高效编程技巧321总计644618 教学过程与方法目标:建议在进行该课程的教学过程中,充分利用classroom平台的在线判题和授课能力,在讲完每个章节之后,通过在Python语言习题库中,根据该章节的知识点选择客观题(选择、判断、填空)等,进行选题出题,进行上课期间的随堂作业,在3~5分钟内,学生需要完成作业并提交,老师通过平台反馈的数据,及时了解学生对该章节知识点的掌握情况,对大部分学生都答错了的习题所对应的知识点,需要重点再讲解。 另外,可以通过Python语言习题库,根据知识点选择适量的在线编程题,作为作业下发给学生进行课后编程练习,通过学生提交的代码以及完成功能的正确率,对相关知识点进行重点讲解,通过课后编程题练习,也可以有效的提升学生的动手编程能力,这样就达到了不仅仅能掌握理论知识,还能动手将理论和实际相结合,提升学生的动手能力。在教学到第5章左右,可以结合classroom平台,给学生布置一些相对复杂的Python多模块项目型习题,扩展习题(如:使用Python进行爬虫操作、进行文件读写分析统计操作等等),培养学生项目开发的能力,以及团队合作精神。 考核要求:(1)考核包括,期末考核70%,平时30%(2)理论考核采用闭卷形式,时间100分钟(3)题型为填空、选择、程序设计(4)考试内容分配:基础60%,综合40%(5)试卷难度分配:基本内容60%,适中内容30%,难度内容10%(6)技能考核方式是上机操作,主要考核程序改错和编程,通过classroom平台完成作业的提交,在线编程等。 参考文献:《Python程序设计(第2版)》  董付国   清华大学出版社《Python程序设计开发宝典》  董付国  清华大学出版社
  • [课程内容] C语言实践教学精品课介绍
    C语言实践教学精品课课程链接地址课程概述:本课程适合作为高等学校计算机专业及相关专业C语言程序设计课程的教材,也可作为计算机等级考试参考书,还可供从事计算机软件开发人员参考使用。主要包含,C语言概述,数据类型,基本语句与结构化程序设计,数组,函数和模块化程序设计,指针,预处理命令,复杂数据类型,文件。附有习题,习题覆盖知识重点,题型丰富。期望通过本课程的学习,你不只是简单地能够掌握一种语言的语法,还能理解隐含在语法背后的思想,并初步具备灵活使用这些思想进行编写程序解决实际问题的能力。如果你掌握了这些,你会发现,迈向成功的最后一步不过是选择一种合适的编程工具而已。 材料数作业数习题数五星推荐搭配1361399《C语言习题库》含863道习题 作者介绍华为云教育,本课程由华为云教育内容开发团队开发完成,团队主要负责教育解决方案内容开发和建设。包括但不限于课件、视频、习题、代码、案例项目、实训课等。  课程定位:本课程根据人才培养目标,制定涵盖低级,中级,高级等多级分类的知识点、原理、定理等课程体系,满足人才培养需求,包括知识要求、能力要求、素质要求。本课程作为编程语言的基础课程及入门课程,特别适合于刚刚接触编程语言或需要进一步提升编程能力学生和开发者。学完这门课程后,同学们可以更快更容易的学习和了解其他更为高级的编程语言,如C++、JAVA、Python等,为学生今后从事其他方面的工作做好坚实的基础。 岗位及从业方向:岗位:嵌入式系统开发工程师,硬件底层开发工程师,驱动程序开发工程师,Linux应用程序开发、算法开发工程师等岗位。从业方向:软件工程后端、软件工程数据库、硬件底层及嵌入式、全栈开发、大数据、人工智能等算法开发。 前/后导课程:C语言程序设计作为计算机类各专业必修的计算机技术基础课程,是数据结构、 c++ 、Java、操作系统等课程的前导课程。是一门实践性很强的课程,既要掌握概念,又要动手编程,还要上机调试运行。C语言程序设计的前导课为《计算机应用基础》《计算机应用基础》——>《C语言程序设计》——>《C++程序设计》、《Java程序设计》、《数据结构》 本课程的主要任务是:1.通过学习本课程,学生可以掌握基本的程序设计过程和技巧。2.具备熟练应用云上开发集成环境进行C语言的编写,具备本地安装编译环境,熟悉linux基本命令,会通过gcc、gdb等c语言编译工具对C程序进行编译与调试的能力。3.具备初步的高级语言程序设计能力。会通过C语言程序设计简单的应用程序,如计算器等。具备通过C语言程序进行项目开发的能力。4. 考核达标后,基本达到入职企业所需具备的软件开发职业素质。5.培养学生严肃,认真一丝不苟的工作作风。培养学生积极思考,通过算法编程题,锻炼思维能力,培养创新能力。 本课程知识教学目标:1.了解程序设计的基本知识。2.了解C程序的基本特点、初步知识和构成。3.掌握顺序结构、选择结构、循环结构的C程序的构成及编程技巧;。4.掌握函数定义、调用和编程技巧。5.掌握数组的定义和使用。6.掌握指针的定义和使用。7.掌握结构体和共用体的定义和变量的使用。8.了解并掌握变量的存储分类、作用域和生存期。9.了解编译预处理。10.了解位运算符及运算规律。11.了解并熟悉文件操作。 教学大纲:第1章C语言基础知识1)     C 语言的历史背景2)     C 语言的特点3)     C 语言源程序的结构4)     掌握算法的基本概念与特征5)     掌握结构化程序设计的基本概念通过本章节的学习,学生可以:1)     了解 C 语言的背景2)     掌握 C 语言程序的结构3)     理解 C 语言程序设计的风格 第2章C语言程序设计基础1)     C语言发展史2)     C语言应用3)     C语言与其他高级语句C++、JAVA之间的关系4)     C语言编写的基本步骤5)     C语言的标识符通过本章节的学习,学生可以:6)     了解 C 语言发展和应用7)     掌握 C 语言与其他语言间的关系8)     掌握编写C语言程序的基本步骤 第3章基本数据类型、运算符与表达式1)     常量与变量2)     整型数据3)     实型数据4)     字符型数据5)     变量赋初值6)     各类数据之间的混合运算7)     算述运算符与算术表达式8)     赋值运算符与赋值表达式9)     逗号运算符与逗号表达式通过本章节的学习,学生可以:1)     了解基本类型及其常量的表示法2)     掌握变量的定义及初始化方法3)     掌握运算符与表达式的概念4)     理解 C 语言的自动类型转换和强制类型转和赋值的概念。 第4章基本输入输出和顺序程序设计C 语句概述1)     赋值语句2)     字符数据的输入与输出3)     格式输入与输出4)     顺序结构程序设计举例通过本章节的学习,学生可以:1)     了解 C 语句的概念及种类2)     掌握 C 语言常用的输入 / 出方式3)     掌握顺序结构程序设计 第5章选择结构程序设计1)     关系运算符与关系表达式2)     逻辑运算符与逻辑表达式3)     if 语句4)     switch 语句通过本部分的学习,使学生:1)     熟练掌握 if … else 的三种语法2)     理解 switch 与 break 语句的作用 第6章循环结构程序设计1)     goto 语句构成循环2)     while 语句3)     do-while 语句4)     for 语句5)     循环的嵌套6)     break 与 continue 语句通过本部分的学习,使学生:1)     熟练掌握循环结构设计的三种语法2)     理解循环嵌套和跳出循环语句的控制3)     通过使用循环语句,可以实现从1+2+…+N的简单程序设计 第7章数组1)     一维数组的定义与引用及初始化;2)     一维数组程序设计及应用;3)     二维数组的定义与引用及初始化;4)     二维数组的简单程序设计;5)     字符数组的定义、引用及初始化;6)     字符串的存储及程序设计;通过本部分的学习,使学生:1)     了解一维数组、二维数组的基本概念2)     掌握数组类型变量的定义与引用3)     掌握数组元素的引用 第8章函数1)     函数的定义2)     函数的参数和函数的值3)     函数的调用4)     函数的嵌套调用5)     函数的递归调用6)     数组作为函数参数7)     变量作用域8)     变量存储类别通过本部分的学习,使学生:1)     掌握函数的定义与调用2)     掌握函数参数的传递方式3)     理解变量存储类型的概念及各种存储类型变量的生存期和有效范围4)     理解并分辨函数的嵌套调用与递归调用5)     了解带参数的 main 函数 第9章指针1)     指针与地址的概念2)     量的指针和指针变量的指针变量3)     数组的指针与指向数组的指针变量4)     字符串的指针与指向字符串的指针变量5)     指针与函数6)     指针数组7)     二级指针通过本部分的学习,使学生:1)     了解指针与地址的概念2)     掌握指针变量的定义、初始化及指针的运算3)     掌握指针与数组、指针数组、二级指针等知识4)     了解指针与函数的概念5)     掌握指针作为函数参数的应用 第10章预处理命令1)     宏定义2)     “文件包含”处理通过本部分的学习,使学生:1)     了解预处理的概念及特点2)     掌握有参宏与无参宏的定义及使用 第11章复杂数据类型(结构体、共用体、枚举等)3)     结构体类型的说明及结构体类型变量的定义4)     结构体变量的引用5)     结构体变量的初始化6)     结构体数组7)     指针与结构体数组8)     链表9)     共用体10)  typedef通过本部分的学习,使学生:1)     掌握结构体和共用体类型的说明、结构体和共用体变量的定义及初始化方法2)     掌握结构体与共用体变量成员的引用3)     领会存储动态分配和释放4)     理解链表的基本概念,掌握基本操作5)     了解枚举类型变量的定义6)     了解 typedef 的作用 第12章文件1)     文件类型指针2)     文件的打开与关闭3)     文件的读写通过本部分的学习,使学生:1)     掌握标准设备输入 / 输出函数的使用2)     掌握缓冲文件系统的使用 课时建议:序号课 程 内 容学  时  数合计理论教学实践教学实训教学教学实习1C语言概述222数据类型、运算符与表达式5413顺序结构3214选择结构5415循环结构10826数组10827函数10828预处理命令5419指针108210结构体、共用体76112文件541总计725814 教学过程与方法目标:建议在进行该课程的教学过程中,充分利用classroom平台的在线判题和授课能力,在讲完每个章节之后,通过在C语言习题库中,根据该章节的知识点选择客观题(选择、判断、填空)等,进行选题出题,进行上课期间的随堂作业,在3~5分钟内,学生需要完成作业并提交,老师通过平台反馈的数据,及时了解学生对该章节知识点的掌握情况,对大部分学生都答错了的习题所对应的知识点,需要重点再讲解。 另外,可以通过C语言习题库,根据知识点选择适量的在线编程题,作为作业下发给学生进行课后编程练习,通过学生提交的代码以及完成功能的正确率,对相关知识点进行重点讲解,通过课后编程题练习,也可以有效的提升学生的动手编程能力,这样就达到了不仅仅能掌握理论知识,还能动手将理论和实际相结合,提升学生的动手能力。在教学到第5章左右,可以结合classroom平台,给学生布置一些相对复杂的C语言单人工程型习题,培养学生项目开发的能力,以及团队合作精神。 考核要求:(1)考核包括,期末考核70%,平时30%(2)理论考核采用闭卷形式,时间100分钟(3)题型为填空、选择、程序设计(4)考试内容分配:基础60%,综合40%(5)试卷难度分配:基本内容60%,适中内容30%,难度内容10%(6)技能考核方式是上机操作,主要考核程序改错和编程,通过classroom平台完成作业的提交,在线编程等。 参考文献:《C程序设计》 谭浩强 清华大学出版社《C程序设计习题解答与上机指导》 谭浩强 清华大学出版社 
  • [课程内容] “敏捷江湖桃花岛”侠客行项目基于华为云DevCloud服务课程介绍
    “敏捷江湖桃花岛”侠客行项目基于华为云DevCloud服务课程介绍课程概述:敏捷江湖桃花岛是侠客行项目,通过深入浅出的讲解,从棉花糖挑战认识现代软件工程的敏捷开发,帮助企业快速进行敏捷转型。本课程结合高校实际教学场景,从棉花糖挑战赛这个游戏,引出对现代软件工程的认识,从而引出敏捷及scrum开发的相关概念。 紧接着通过一个典型项目,分4个阶段分别就项目立项、产品规划、技术准备和Sprint开发进行了详细的介绍。结合实践项目,搭配软件开发云,帮助学生了解整个软件开发的开发过程。 从需求管理,项目管理,到代码开发、测试、代码托管、代码质量检查、编译构建、发布、部署、流水线等方面,了解敏捷开发的整体流程,为学生毕业后进入企业工作,提前做技术储备工作。材料数作业数实训项目迭代数需求任务数代码量7420430040k 作者介绍华为云教育,本课程由华为云教育内容开发团队开发完成,团队主要负责教育解决方案内容开发和建设。包括但不限于课件、视频、习题、代码、案例项目、实训课等。  课程定位:本课程知识点涵盖敏捷Scrum、前端、后端、Cloud四大开发方向,项目跨度涵盖整个大学所学知识的连接,适合于高年级的学生来学习实践。在学完本次课程之后,会对本课程中之前所学相关的Java、Javascript、Scala等语法知识更能融会贯通,由于本次实践为学生自行立项组队,其中多角色划分会让学生对企业中岗位职责有初步的认识,为将来求职面试及发展规划打好坚实基础。岗位及从业方向:岗位:项目经理、产品经理、Scrum Master、UI、前端开发工程师,后端开发工程师,架构开发工程师、测试工程师等岗位。从业方向:项目管理、UI设计、产品研发、软件开发、测试、运维等。 前/后导课程:本课程是一门实践课程,既要掌握概念,又要团队配合,还要上机编程运行。其前导课会覆盖之前所学全部知识内容,是所学知识的一次串联与总结,其中有《C语言实践教学精品课》、《Web实践教学精品课》、《数据结构(C语言)实践教学精品课》《JAVA-实践教学精品课》《系统分析与设计》等本课程的主要任务是:1.通过学习本课程,学生可以掌握基本的项目级软件开发的全过程。2.了解敏捷Scrum开发方法,在其中体会到团队协作的工作方式。3.具备初步的高级语言程序设计能力及项目开发的能力。4. 项目完成后,基本达到入职企业所需具备的软件开发职业素质。5.培养学生严肃,认真一丝不苟的工作作风。培养学生积极思考,通过团队中不同角色的深入,锻炼思维能力,培养创新能力。 本课程知识教学目标:        1. 了解程敏捷及Scrum的基本知识。2. 了解如何组建团队立项并展示。3. 了解产品规划及原型设计并展示。4. 掌握前端开发流程。5. 掌握后端开发流程。6. 掌握云上工具的使用。7. 掌握Scrum五大事件并按照流程展示。。8. 了解可视化管理。 教学大纲:从棉花糖挑战认识现代软件工程1)     通过游戏初探敏捷2)     敏捷的历史背景3)     敏捷思维4)     Scrum概述通过本章节的学习,学生可以:1)     了解敏捷的背景2)     掌握敏捷宣言及原则3)     理解什么Scrum框架 项目实战第一阶段:项目立项1)     如何立项2)     如何组建团队3)     团队立项展示通过本章节的学习,学生可以:1)     在Devcloud上创建项目并添加成员分工2)     团队讨论进行立项书的书写3)     团队进行立项书的展示,增强实践代入感 项目实战第二阶段:产品规划 1)     收集需求,进行需求管理2)     书写用户故事,生成产品待办列表3)     了解用户故事地图4)     了解MVP,进行产品版本规划5)     了解原型设计,并展示通过本章节的学习,学生可以:1)     在Devcloud上进行需求管理生成产品待办列表2)     掌握书写评估用户故事的方法3)     在了解MVP的基础上,团队进行自己产品的版本规划4)     团队自主进行低保真原型设计并进行串讲 项目实战第三阶段:技术准备1)     前端准备2)     后端准备3)     高保真原型设计串讲4)     技术准备示例代码展示通过本章节的学习,学生可以:1)     掌握Devcloud的操作使用2)     了解前端的开发流程,前端环境的搭建,及前端技术选型3)     了解后端的开发流程,后端环境的搭建,及后端技术选型4)     掌握前后端示例代码的编写5)     了解高保真原型设计并串讲 项目实战第四阶段:Sprint开发1)     理解Sprint迭代概念2)     进行迭代计划会议,并生成迭代待办列表3)     进行每日站会并记录4)     团队自主完成迭代的开发5)     进行迭代评审会议并展示6)     进行迭代回顾会议并记录7)     了解功能测试及BUG管理8)     了解可视化管理通过本部分的学习,使学生:1)     在Devcloud上进行迭代的开发,编译构建,部署发布2)     熟练掌握计划会议中优先级,增量的概念3)     团队内部每日站会中体会到各自工作4)     对本次迭代的输出产物进行展示评审5)     在回顾会议中体会到团队的问题暴露并改正 课时建议:序号课 程 内 容学  时  数合计理论教学实践教学实训教学教学实习1从棉花糖挑战认识现代软件工程3212项目实战第一阶段:项目立项41033项目实战第二阶段:产品规划52034项目实战第三阶段:技术准备40045项目实战第四阶段:Sprint开发102086项目实战学生自主阶段1000100总计367029 教学过程与方法目标:建议在进行该课程的教学过程中,充分利用Devcloud平台对敏捷团队以及项目的管理功能,在课堂上尽量让学生自己来研究,团队一起商量来展示,把课堂留给学生而不是老师单方面的灌输知识,实现“翻转课堂“在每个阶段之后,都设有不同的团队展示环节,可以将整个课堂交给学生,每个团队控制在在10~15分钟内,老师可以在这个过程中观看每组的情况,针对团队进展情况并进行当场评价,针对学生理解错误的知识点可以再次解答。 通过在Devcloud中,老师可以监控每个团队的项目进展状况,及时了解学生对该章节知识点的掌握情况,以便阶段性的基于落后的团队予以督促指导。在进行到第四阶段后,可以结合学生完成情况,增加相同的迭代阶段,引导学生自主来进行迭代相关的工作,以便帮助学生顺利完成整个项目实践任务。 考核要求:序号条目分值考核要求1Story录入10是否有Story在这个迭代;Story填写开始时间和结束时间(注意不要所有Story结束时间填写为迭代结束时间);Story预计工时是否录入;Story描述是否完整;Story对应的原型设计;Story分配、分解;关联Story的测试用例;Story关联代码fix id;Story开发过程中,刷新完成度;Story的状态要有变化。新建->进行中->已解决->测试中->已关闭。2原型设计5新增需求都要补充原型设计。归档到文档管理服务。3DBA5补充数据库表结构。每轮迭代数据库变更需要记录,变更过程归档到wiki。最终表结构说明归档到文档管理服务。4每日站会5wiki里记录每日站会情况,每次迭代至少五次5燃尽图2燃尽图一定是符合规律的下行曲线。6Story/Task完成情况3本轮迭代要对所有的Story、Task进行关闭。如果有超期的,备注里说明超期原因,和PO协商放到下轮迭代。如果所有Story都未完成,需要申请迭代延期。7需求覆盖率5需求覆盖率100%。8测试用例完整5确保测试用例覆盖功能、性能、安全、可靠性等领域。9缺陷管理5要有问题单、并且对问题单进行闭环。缺陷越多,证明测试执行的越好。10用例完成率5用例经过新建、设计中、测试中、已完成 四个状态,迭代最终要确保所有用例状态是已完成。11代码质量检查(加分项5分)使用代码检查服务,对devlop分支进行代码检查。自学。12代码分支创建是否合理5人人有自己的分支,每个人代码写完、自验证通过,提交到develop分支,develop分支作为统计每个人贡献度的分支。Develop分支验收通过后,可以由一个人(PL或SE)统一提交到master分支。13打标签5每轮迭代验收通过,正式发布前,需要对Master分支打版本标签。14代码贡献度5要求人人都必须有代码贡献(devlop代码统计提交代码量),并检查是否提交合理,严禁无效代码提交。15代码关联需求、问题5代码提交时,必须关联一个需求、或缺陷(fix id的方式commit)。针对无关联的提交,commit里面必须说明原因。16构建出包2创建一个构建任务,完成出包。17发布归档1在构建任务里配置归档路径,归档到发布仓库服务。18部署2创建一个部署任务,能贵将包部署到目标服务器。19流水线执行5将代码检查(如果有)、出包、部署过程自动化,通过流水线服务串联。20迭代验收10客户+全员进行本轮迭代效果演示,获得客户反馈,整理归档到文档管理服务。21迭代回顾10识别迭代过程中出现的问题,不达标项目进行全员回顾,整理归档到文档管理服务。 参考文献:《Scrum官方指南》 由Ken Schwaber和Jeff Sutherland开发并维护 
  • [技术干货] 【腾科教育】数据预处理之缺失值处理方法
    1. 数据缺失原因在实际业务中,不可避免的会出现数据缺失的现象,总结下来大致有如下几种情形。Ø 人为疏忽、机器故障等客观因素导致信息缺失。Ø 人为刻意隐瞒部分数据。比如在数据表中,有意将一列属性视为空值,此时缺失值就可看作是一种特殊的特征值。Ø 数据本身不存在,比如银行做用户信息收集时,对学生群体来说工资这一属性不存在,因此在数据表里显示为空值。Ø 系统实时性能要求较高。Ø 历史局限性导致数据收集不完整。2. 数据缺失影响机器学习里有一句名言:数据和特征决定了机器学习的上限,而模型和算法的应用只是逼近这个上限。因此高质量的数据对建立好的数据模型有着至关重要的作用。数据集中缺少部分数据可以降低模型过拟合机率,但也存在模型偏差过大的风险,因为没有正确地分析变量的行为和关系,从而导致错误的预测或分类。3. 数据处理常见处理方式数据缺失原因多种多样,针对不同的缺失原因,数据缺失值的处理方式也各不相同。值得注意的是,有时属性缺失并不意味着数据缺失,比如,银行收集客户信息时,学生在“工资”这一栏为空值。缺失本身是包含有价值的信息的。因此要结合具体业务场景、数据场景选择合适的数据缺失值处理方式。缺失值处理方法众多,总结下来为三种:Ø 删除Ø 填充Ø 不处理删除适用范围适用于数据量大,数据缺失值少的数据集。完全随机缺失时可直接使用删除操作。方法删除直接删除包含缺失值的元组或记录。80%法则 (属性删除)80%法则 (Bijlsma et al. 2006) 认为,当某一物质的非缺失部分低于总样本量的80%时,建议删除该物质。因此,在数据集中,缺失值超过总量的20%时,理论上可删除该变量或属性。优点操作简单缺点直接删除会丢失部分原始数据,破坏数据的历史完整性。数据缺失占比较多时,直接删除可能会改变原始数据的分布情况。降低模型准确性。操作利用Python中的pandas的dropna函数直接删除有缺失值的特征。 填充基于统计学原理,根据初始数据集中非缺失对象取值的分布情况来对一个缺失值进行填充。填充方式包含人工填充、特殊值填充、平均值填充、热卡填充、KNN、预测模型、组合完整化方法等。本节只详细介绍n 填充n KNNn 回归n 变量映射n 其他详细信息见“更多信息”。  不处理补齐的缺失值毕竟不是原始数据,不一定符合客观事实。对数据的填充在一定程度上改变了数据的原始分布,也不排除加入了噪音节点的可能性。因此,对于一些无法应对缺失值的模型,可以用缺失值填充的方式补齐缺失数据。但有些模型本身可以容忍一定的数据缺失情况,此时可以选择不处理的方式,比如Xgboost模型。
  • [技术干货] 平均值,方差,标准差【腾科教育】
    平均值,方差,标准差 均值 均值描述的是样本集合的中间点,它告诉我们的信息是有限的。 方差 方差(variance)是在概率论和统计方差衡量随机变量或一组数据时离散程度的度量。概率论中方差用来度量随机变量和其数学期望(即均值)之间的偏离程度。统计中的方差(样本方差)是各个数据分别与其平均数之差的平方的和的平均数。在许多实际问题中,研究方差即偏离程度有着重要意义。方差是衡量源数据和期望值相差的度量值。 例如:方差是指一组数据中的各个数减这组数据的平均数的平方和的平均数,如(1,2,3,4,5)这组数据的方差,就先求出这组数据的平均数(1+2+3+4+5)÷5=3,然后再求各个数与平均数的差的平方和,用(1-3)²+(2-3)²+(3-3)²+(4-3)²+(5-3)²=10,再求平均数10÷5=2,即这组数据的方差为2 标准差 标准差给我们描述的是样本集合的各个样本点到均值的距离之平均 以这两个集合为例,[0, 8, 12, 20]和[8, 9, 11, 12],两个集合的均值都是10,但显然两个集合的差别是很大的,计算两者的标准差,前者是8.3后者是1.8,显然后者较为集中,故其标准差小一些,标准差描述的就是这种“散布度”。之所以除以n-1而不是n,是因为这样能使我们以较小的样本集更好地逼近总体的标准差,即统计上所谓的“无偏估计”。而方差则仅仅是标准差的平方。 方差和标准差的区别:方差与我们要处理的数据的量纲是不一致的,多了个平方,虽然能很好的描述数据与均值的偏离程度,但是处理结果是不符合我们的直观思维的。 而标准差的根号就抵消了这个平方,就能相对直观了描述数据与均值之间的偏离程度。
  • [第二届大赛] 【工业APP大赛小课堂第三期】大赛官网使用指南全攻略!
    初赛截止在即,不知道各位参赛选手的作品准备如何了?鉴于在报名/提交作品的过程中,有一些参赛选手对大赛官网缺乏了解导致作品提交遇到问题,小编在此整理出一份大赛官网使用指南,供大家参考~!大赛官网地址:http://www.ind-app-comp.com/参赛第一步:注册/登录本次大赛初赛阶段将采用线上报名+提交作品的方式,参赛选手需注册大赛网站账户方可进行报名操作。如果你注册过首届大赛,可以直接选择登录。注册弹窗登录弹窗Tips:用户名可用昵称,不影响报名信息填写,但注册后无法修改。 参赛第二步:点击立即报名,进入协议确认页Banner上方摁钮与倒计时下方摁钮皆可进入报名页面为保证参赛选手作品受保密权益,同时也为了防止抄袭、作弊等情况发生,参赛选手需勾选同意参赛协议后方可进行报名。协议确认页Tips:为方便后续上传作品等操作,移动端大赛官网无法报名,还请各位参赛选手于电脑上完成报名上传作品等操作。 参赛第三步:填写报名信息报名信息包括:团队信息、队长信息、成员信息、作品简介四个部分。其中注意的是:1、团队信息和队长信息填写后无法修改,请谨慎填写;2、成员信息可点击下方加号摁钮添加,最多添加四人栏位;3、若报名时作品尚未构思完成,作品名称和简介可暂填写“无”;4、所有带“*”号的选项为必填项;5、可不上传作品直接保存报名信息。报名信息填写页面 参赛第四步:上传报名作品参赛选手需要上传工业APP开发说明书与演示录屏(推荐使用免费在线录屏showmore,网址https://showmore.com/zh/)两个文件,上传作品时有如下注意事项:1、作品提交-开发说明书上传需以PDF格式,且需按照模板要求撰写,大小限制10MB以内;2、工业APP演示视频需要体现APP核心功能,要求以MP4格式上传,大小限制在40MB以内;3、首次上传作品必须同时上传PDF文件和MP4文件,不然无法保存;4、若遇到作品修改,每日有一次机会可再次上传新的作品,每日只有一次上传机会,00:00~24:00算一日;5、上传文件时,请勿进行其他操作。作品上传区域参赛选手操作至此,大赛报名与上传作品已成功完成。不过在大赛官网内还有其他区域可供参赛选手们浏览了解,以下是网站各分区介绍。大赛动态板块:本板块是为广播大赛最新动态进展,文章内容将不定时更新。 培训材料板块:培训材料下载推荐平台技术接口人联系方式基于大赛推荐平台,为参赛选手提供了一些开发说明文档等支持,同时也列举了一些大赛Q&A问题与各平台技术接口人的联系方式,参赛选手在推荐平台上遇到各种技术上的问题还请及时联系接口人。 往期回顾板块:为帮助参赛选手了解去年大赛情况,网站开辟了往期回顾板块。点击带超链接的标题可跳转到去年的新闻报道。 以上是本次大赛官网的使用指南,如果参赛选手仍存在问题,欢迎发送邮件至大赛邮箱:app_competition@163.com咨询,或加入赛事交流QQ群:677475896,或登录赛事社区:https://bbs.huaweicloud.com/forum/forum-693-1.html。用智慧为工业赋能,期待你的精彩表现!
  • [技术干货] PCA降维【腾科教育】
    PCA(Principal Component Analysis,主成分分析)在高维向量空间中,随着维度的增加,数据呈现出越来越稀疏的分布特点,增加后续算法的复杂度,而很多时候虽然数据维度较高,但是很多维度之间存在相关性,他们表达的信息有重叠。PCA的思想是将n维特征映射到k维上(k<n),这k维是全新的正交特征。这k维特征称为主成分,是重新构造出来的k维特征,而不是简单地从n维特征中去除其余n-k维特征(这也是与特征选择特征子集的方法的区别)。PCA的目的是在高维数据中找到最大方差的方向,接着映射它到比最初维数小或相等的新的子空间。PCA算法流程 输入:训练样本集 D=x(1),x(2),...,x(m)D=x(1),x(2),...,x(m) ,低维空间维数 d′d′ ;  过程:.  1:对所有样本进行中心化(去均值操作): x(i)j←x(i)j−1m∑mi=1x(i)jxj(i)←xj(i)−1m∑i=1mxj(i) ;   2:计算样本的协方差矩阵 XXTXXT ;  3:对协方差矩阵 XXTXXT 做特征值分解 ;  4:取最大的 d′d′ 个特征值所对应的特征向量 w1,w2,...,wd′w1,w2,...,wd′  5:将原样本矩阵与投影矩阵相乘: X⋅WX⋅W 即为降维后数据集 X′X′ 。其中 XX 为 m×nm×n 维, W=[w1,w2,...,wd′]W=[w1,w2,...,wd′] 为 n×d′n×d′ 维。  6:输出:降维后的数据集 X′PCA算法分析  优点:使得数据更易使用,并且可以去除数据中的噪声,使得其他机器学习任务更加精确。该算法往往作为预处理步骤,在数据应用到其他算法之前清洗数据。  缺点:数据维度降低并不代表特征的减少,因为降维仍旧保留了较大的信息量,对结果过拟合问题并没有帮助。不能将降维算法当做解决过拟合问题方法。如果原始数据特征维度并不是很大,也并不需要进行降维。 
  • [第二届大赛] 【赛事高校沙龙】走进武汉理工 赛事之火传到华中
    9月30日,大赛组委会从东北地区马不停蹄地飞到华中地区,来到武汉理工大学举办了第三场高校赛事沙龙。武汉理工大学是教育部直属的理工类全国重点大学,国家首批“211工程”、“特色985工程”重点建设高校,由国家教育部、交通运输部、国家海洋局共建。其校材料科学与工程学科更是国家“双一流”重点建设专业。来自中船互联云服务技术总监鲁文博士,中船互联营销中心孙倩,以及武汉理工能动学院姚玉南老师、邓义斌老师、刘爱华老师、刘杰老师,计算机学院李玉强老师,物流学院陈云老师和他们的团队共同出席了本次沙龙。 大赛承办方在沙龙上详细分享和介绍了此次大赛赛程赛制相关信息,为大家带来了本次大赛推荐开发平台之一——船海智云工业互联网平台的介绍与分享。 沙龙举办之后,在校方老师的带领下,大赛组委会前往校园实验基地参观。在油港储运综合实验室,刘爱华老师详细介绍了整个实验室功能。无论是从水运到罐区,还是罐区作业到其他运输方式,都可以模拟整个油码头作业流程。 在船舶轴系综合试验平台,由朱汉华教授详细介绍了整个平台组成与功能。该试验平台承担了多家企业振动测试、密封泄漏、材料性能评定试验等多项科研任务,开发的轴系扭矩和功率测试仪、轴系综合性能计算软件等科研成果已在多条船舶和公司开展应用。 最后,组委会来到VR/AR大学生创新创业中心,参观了解了以学校实习船为模型,带上头盔可虚拟呈现整个机舱,进行沉浸式体验轮机员各项工作的先进教学。 再次感谢武汉理工大学各院系老师的鼎力支持。大赛组委会还在路上,十一假期过后将走进上海交通大学、华中科技大学、南京大学、福州大学等多所重点高校举办宣讲会及赛事沙龙,敬请期待!
  • [问题求助] 官方教学视频不全,Atlas DK硬件接口编程部分没有
    如题,官方人员是否可以提供教程的完整版,包括硬件编程和高性能编程