程序设计基础
分享
课程详情
课程评价
spContent=C语言是当今世界最受追捧的编程语言。半个世纪以来,C语言在嵌入式、自动化、机器人、物联网、人工智能、大数据、云计算领域具有无可替代的作用。本课程是零基础的编程入门课,是操作系统、编译原理、体系结构等课程的基石。也是学好Python、Java、JSP、C#、Java EE、Android等高级语言的基础。
—— 课程团队
课程概述

  欢迎您来到程序设计的世界!

  如果说人类用劳动创造了世界,造就了文明,那么计算机的发展就加剧了人类创造和改变世界的进程。人类发明了计算机,同样,人类也使用着计算机改变着自己的生活。如何让计算机为你所用呢?答案是:用计算机语言与之对话。这门课就是教会你如何与计算机对话的课程!

  《程序设计基础》是物联网工程学院江苏省品牌特色专业(物联网应用技术)重要的专业基础平台课程,必修课程。同时也是物联网工程学院各专业的重要专业基础平台课。该课程覆盖所有电子信息类专业人群,受益面广,为电子信息类各专业服务。全国每学年受益学生人数高达30万人。学好本课程为以后从事计算机软件设计、开发、维护工作,嵌入式产品设计、开发、维护工作,打下扎实的基础,是塑造电子信息大类各专业人才的重要基础保障。因此,该课程在电子信息类各专业的授课计划中占有重要的地位和作用。其重要性不仅仅体现在一般的编程能力,更体现在引导学生实现问题求解思维方式的转换——培养学生的计算思维能力。同时,《程序设计基础》还是一门实践性很强的课程,培养学生的实践能力是其核心目标。仅仅依靠教师讲授很难让学生学习好这门课程,需要通过大量的实践,训练学生的程序设计和程序调试能力。作为电子信息类各专业的第一门计算机基础课程,因此,它还肩负着培养学生对计算机学习兴趣的重任。

  C语言是程序设计语言中的常青树,它具备现代程序设计的基础要求,它的语法是很多其他编程语言的基础,在系统程序、嵌入式系统等领域具有无可替代的地位,在历年编程语言的排行榜中,她稳居前三甲。

  经高等教育出版社审核,2017年正式出版和本课程配套的新形态、一体化教材。与此同时,课程组还和“蓝墨云教材”合作,并达成一致意见,同步出版数字化云教材。数字化云教材与“高等教育出版社”出版的新形态一体化教材,配套爱课程”,交相辉映、相得益彰,共同打造文字+数字”双线并进,助推该课程建设的全面发展。

  在《程序设计基础》课程的学习领域中实现三大真实项目。

  (1)身高体型判定系统

  (2)考试系统

  (3)学生信息管理系统

  三个项目均源于真实的校企合作项目,以三个实际项目作为教学载体,由易到难,由简到繁,逐层深入,步步递进,展开教学。三个项目又相辅相成融为一个整体,既满足教学的基本要求,又将实际工作所要求的基本知识、技能都融入项目实施过程中。

  为了调用学生的积极性,在线开放课程充分注重教学活动的设计,包括学习任务、实时问题、拓展知识、过关斩将、高手过关、交流互动、互评环节、大显身手等方面,力争激发学生的学习兴趣,提高学生的参与度。

  在这里,您将接受项目驱动、信息化”教学,普及技能证书、提升技能水平;我们设计项目、闯关、实战”任务;培养基本、探索、创新”能力;采用理实一体、项目驱动、信息化”的教学模式;形成教、学、做”融合;建立过程化、阶段化、全方位、多角度”的评价模式;在线开放课程、新形态教材,数字化云教材、企业级项目伴您一同成长;

  您还等什么,快跟随我们一起学习C语言吧!让苍白的岁月从此变为激情,让流失的时光从此不再虚度,让我们主宰自己的青春,共同打造美好未来!

授课目标

《程序设计基础》是一门研究C语言基本知识与结构化程序设计方法,采用C语言进行结构化程序设计的基础课程。该课程以应用性、趣味性为背景。变应试为应用,改传统授课方式为现代信息化教学,重视在新形态下新方法、新思想的传授,着重培养学生灵活运用这些思想和方法分析和解决实际问题的能力。

课程大纲
预备知识

  作为第一门编程课,本课程可以零基础学习。《大学计算机基础》、《计算思维导论》等课程有助于深入了解本课程的部分内容,但这些课程的学习不是必须的。

证书要求

  教学评价应以学生为中心,通过考核正确、科学评判学生知识的掌握和能力的提高程度,同时在评价过程中注重挖掘学生的潜能,帮助学生认识自我并建立自信,推进其自主学习能力、创新能力、项目开发、测试与调试能力的不断提高。

  将课程考核分为平时、阶段和综合三部分。

  (1)平时考核

  平时考核分为在线考核在线互评组成。

  在线考核依据过关斩将能力测试完成的质量。过关斩将:学生在教师引导下完成相关知识的学习,该环节穿插过关斩将环节,每学完一个知识点,学生可以通过闯关模式完成练习,并由在线开放课程记录分数。能力测试:解决问题环节过后,为了能够更好地检验学生对知识、技能的掌握程度,安排了单元能力测试环节,学生通过完成能力测试题目由在线开放课程系统直接记录测试分数。

  在线互评依据老师点评、学生互评的结果。在相关知识、解决问题、能力测试环节,均有互评环节。在线开放课程将根据学生微课的学习情况,学生积分,即给予学生评价;解决问题环节给学生提供了趣味性的问题,能准确地反映出学生知识、技能掌握情况,学生可以对完成解决问题的情况,通过学生自评、学生间互评、教师评价的方式给每一个学生恰如其分的评价,并记录为平时成绩。

  (2)阶段考核

  阶段考核依据项目实施环节完成的质量,兼顾原有水平。项目实施环节,能够较好地反映学生自主学习、协作学习的能力,较好地体现了学生知识综合运用、拓展创新的能力。学生完成项目后都要撰写制作文档,然后提交作品和制作文档,由教师根据每个项目考核要求进行评价。

  (3)综合评价

  综合评价主要根据学生的参与程度、学习质量、讨论情况等进行。

  《程序设计基础》在线开放课程考核分值建议如下表所示。

考核类型

评价主体

考核内容

比例

平时考核

任课教师、学生

完成过关斩将、解决问题、能力测试的质量

40%

阶段考核

任课教师、学生

完成高手闯关、项目实施环节中实际项目的质量,兼顾原有水平

40%

综合评价

任课教师、学生

参与程度、学习质量、讨论情况协作能力、实战能力等

20%

  通过视频学习,完成过关斩将、能力测试、高手闯关、拓展项目,参与课程讨论和拓展知识的学习,达到课程要求后,可以获得课程主讲教师签名颁发的合格证书或优秀证书。总成绩由各分项成绩汇总后评定

  6084分:合格证书

  85100分:优秀证书

  学完该课程可顺利通过全国计算机二级C语言考试。

参考资料

(1)经高等教育出版社审核,2017年正式出版和本课程配套的“新形态一体化教材”。

  与在线开放课程相匹配的相关资源建设正在有序开展,并于2016年年底完成。2016年,经过团队成员的共同努力,本课程编写的教材经过“高等教育出版社”认可,经过高教社指导,预计2017年7月,与“高等教育出版社”正式公开出版发行在线开放课程配套的新形态一体化教材图中所示的是处于排版中的新形态一体化教材,其中批注部分标识对应的教学资源。经高等教育出版社审核,该教材上将以二维码的形式呈现“爱课程”网上本门课程涉及到的全部资源。

(2)课程教学团队2012年8月编著了课程配套教材《C语言程序设计》(江苏教育出版社)(ISBN:9787549918270)

(3)2014年1月编著了课程配套教材《C语言程序设计精编教程》(人民邮电出版社)(ISBN:9787115332042)正式出版。

(4)历经20多年的撰写,谭浩强的经典著作《C语言程序设计(第四版)》,累计发行量超过1250万册,这本经久不衰的C语言教材,有着让人神往的魔力,指引着无数最随着前进。

  教材是对本课程改革与建设的重要成果,目前该教材已在全国18个省、市、自治区50多家高校的教学中使用。

常见问题

Q:我需要特殊版本的计算机吗?

A:任何计算机都可以用于C语言编程,包括但不限于各个版本的MS Windows、各个版本的Mac OS X、各种发行版本的Linux。有的手机有APP也能实现C语言编程,不过我们不推荐那么小的屏幕。

Q:我需要安装特定的软件才能做这门课的作业吗?

A:任何C语言的开发工具都可以。课程演示会使用Dev C++及命令行环境,但是你使用任何其他开发工具都不会影响做作业的正确性。可以使用的其他工具包括但不限于MS Visual StudioC-Free等。

Q:每周会发布多少时间的视频?我需要花多少时间来学习?

A:我们按照每周90分钟的授课时间来设计课程。但是发布的视频每个一般在3-8分钟,一周一般在5070分钟左右。因为在线下上课时,一般我们设计课程需要1:1.51:2的课后学习时间,这包括预习、作业、闯关、测验、交流和复习的时间,所以每周大约需要花费三到五小时的时间。

Q:有的课件内容前面有个*号是什么意思?

A:这是拓展资源、参考资料,还有拓展知识点,不是你必须看必须学的。比如,各种名人轶事等,百科知识等,或者针对计算机专业学生对某些问题的深入解释的。对这些问题的理解不会影响你的课程学习。

Q:学习过程中可能出现的问题有哪些?

A:注重理论学习,忽视上机编程实践;入门时以为难度大,产生畏难情绪;太注重学习语句的语法规则,忽视了对编程思路和方法的训练;急于求成,总想编写综合性的程序,忽视基本概念,忽视基本功的训练。

Q:学好C语言的关键是什么?

A:上机编程是学好C语言的关键,多上机,多练习,提高动手能力。

Q:整个学习过程是什么样的?

A:整个学习过程分为两个部分。程序设计入门:主要讲述C语言概述以及算法的基本知识,为后续的项目化展开做好知识的积累和铺垫。项目化教学:重点掌握编程思路和基本算法;学会分析问题;开始进行算法设计,根据项目需求,完成、完善项目。