这门“国一流”课程开了二十多年,培养了一批研发工程师!
日期:2024-05-24  作者:mafengyuan   来源:  浏览量:325

“今天我们来学习选择排序和冒泡排序,这是我们专业的重要内容。为了帮助大家理解,需要10位同学上台演示一下。每位同学拿一张A4纸,写上1-10任一数字。”

“现在先来演示选择排序的降序排序。即,每次从未排序的部分中找出最小的元素,然后把它放到已排序部分的末尾。好,请同学们报数,小数和大数交换位置,直到数组都排好序。”

……

“非常好,现在我们来演示冒泡排序。它的思路是,重复地遍历待排序的数字,每次比较相邻的两个元素,按照从小到大交换顺序,直到整个数组有序。”

……

 

在《程序设计基础(C语言)I》的课堂上,枯燥的知识点常常变成容易理解的案例模拟,让同学们提升参与感,增进对关键知识的理解。这门课是我校计算机与软件学院计算机科学与技术、物联网工程等本科专业的核心课程之一,深受同学喜爱,同时也载誉满满:自2004年以来,共开课21轮次。2020年11月,课程获评国家级一流本科线下课程,还曾获国家级精品课程、省级教学成果三等奖等荣誉。作为专业基础课,为提升学生的计算思维和批判性思维以及增强学生的编程实践能力和解决实际问题的能力奠定了良好基础。

 

结合数字化平台

打造以学生为中心的

“三段六步混合式”教学模式

 

基于TOPCARES理念,课程组教师积极探索适合的教学方法和教学手段。充分利用各数字化教学平台,发挥希沃平台的特色,合理设计互动内容,加强课上课下的师生互动,生生互动。设计了“三段六步混合式”教学组织形式,形成了以学生为中心的教、学、做、评一体化改革方案。即分为课前预习、课中学习、课后练习三个阶段,教学环节涵盖微课预习、趣味导学、精准授课、课堂实践、课后练习、评价反馈六个步骤。比如:在讲授知识点时,课前通过学习平台发布课堂导学及微课视频供学生预习,并设置预习效果检测作业以检验学生预习情况;课中利用希沃平台进行直播授课,课中根据内容会进行多次互动,提升学生的课堂专注度,课堂上还利用OJ平台进行课堂编程实践,实践时,学生可自由结成小组进行讨论,完成后随机指定学生进行分享;课后通过学习平台发布编程作业及复习检测练习,下次课前进行评价反馈。

 

 

为了使学生获得学习成就感,提升学习动力,在各个阶段的教学活动中均设置检测点,学生的表现作为形成性考核成绩计入期末总分。评价的数据主要从各教学平台中导出,注重对学生学习过程的评价,数据真实,能够体现学生的真实能力,数据可追溯。

 

计算机科学与技术专业康闻宇同学说:“老师对待教学认真负责,语言生动,条理清晰。每堂课老师都会在教学平台上发布相应的练习题,帮助我们更好地理解C语言知识。也会在OJ平台上留些编程作业给我们,这对于提高动手能力有很大帮助。”

 

计算机科学与技术专业付啸天同学说:“老师在讲课过程中利用到了很多的教学平台进行考勤、布置作业、上课互动,还有课后编程练习。所有的这些学习数据都由平台自动记录,老师定期导出跟我们反馈,并根据情况鼓励和引导我们更好地学习。”

 

计算机科学与技术专业李昊同学说:“老师为了让我们更锻炼自身的编程能力,会经常组织在学校OJ平台上来进行小比拼,还会准备很多小奖品,大家的学习热情被充分激发了出来。这个课是大学第一门编程课程,让我感受到了代码的魅力,同时也为《Linux系统编程》《数据结构》等课程做了一个重要的铺垫。”

 

社团作基础,竞赛为驱动

营造课内课外一体化编程氛围

 

2009年,课程组教师组建了“ACM编程爱好者”社团,每年招纳学生50至100人。社团成员会代表学校参加ACM/ICPC、CCPC、天梯赛、蓝桥杯等知名程序设计竞赛。社团会通过老师带学生、老生带新生等形式进行编程练习、算法学习以及模拟竞赛,为学生提供充足的实践机会,营造浓厚的学习氛围。

 

社团指导教师包括曾荣获校优秀教师、校级十佳教师和学科竞赛金牌指导教师等荣誉的刘振宇老师,有曾荣获校优秀教师、一直从事数据挖掘算法关键技术研究的褚娜老师,还有曾在阿里巴巴负责云计算作分布式存储工作、有丰富实际项目经验的周帅老师。社团成立至今,屡获ACM/ICPC亚洲区域赛、ACM/ICPC东北四省赛、ACM/ICPC辽宁省赛、全国软件人才设计大赛国赛和省赛等各项大奖。

 

部分获奖竞赛数据

 

2011级校友姚峰就是该社团的成员,曾任ACM编程爱好者社团社长。毕业后先后任百度高级研发工程师、滴滴高级产品经理、百度高级产品经理。目前,与社团同学——2011级校友高楠、张翰群等自主创业,成立了郑州虎皮物联网科技有限公司。他说:“大东软是我的母校,在母校就读期间,学校以超前的教育思想以及优厚的教育资源,让我在大学四年中专业技能及学习习惯得到了系统性的提升,也为我的职业发展带来了巨大的帮助。”

 

依托教学案例

“两化三有”课程思政理念

实现“润物细无声”

 

“今天我们讲循环结构程序设计。同学们,如果把我们每个人的现状记作1,每天成长一点点,比如0.01,一年有365天,那么我们可以计算出(1+0.01)的365次幂约为37.783;同理,如果我们每天退步0.01,(1-0.01)的365次幂约为0.025。这个数据是不是很震撼?所以,每天只要进步一点点,长期积累下来,也会取得让人刮目相看的成就。”

 

为了有效提升教学质量,更好地融入课程思政,真正实现三全育人,课堂上,课程组教师们经常结合课程知识,融入思政理念,教育引导学生树立正确的学习观和价值观。经过长期总结、积累,课程组提出了“两化三有”课程思政理念,即在教学设计上,将课程思政目标化、高阶化;在具体实施过程中,使课程思政有融合,有趣味,有评价。不断提高学生的思想觉悟和品质素养,达到知行合一。

 

每一门课程的教学都要通过创造新的教学方法、教学内容、评价方式等手段,不断提高教学质量、促进学生学习和发展的教育理念和实践。它包括教学方法的改进、教学内容的重新设计、评价方式的创新等多个方面,是教学改革的重要方向之一。二十余年来,《程序设计基础(C语言)I》课程组的老师们,一直在持续地通过改变传统教学方法和手段,创造出更具有实用性和实效性的教学内容,更加符合学生的认知水平和学习需求,从而促进学生的学习成果和能力的提高,成为适合当代中国社会发展需要的高素质、有能力、全面发展的人才。

 

优秀校友代表

 

2007级校友郑旻

学校ACM编程爱好者社团创立人,第一任社长,在大学期间,参加了多次算法竞赛(ACMICPC,日本PG,蓝桥杯等)并获得优异成绩。2011年本科毕业,同年以优异的成绩考入香港中文大学工程学院计算机与工程系进行硕博连读。博士在读期间,郑旻在腾讯、百度以及硅谷的FireEye实习,曾发表了多篇移动安全方向的论文(Black Hat、AsiaCCS等),在美国、德国、希腊、日本、澳大利亚等10多个国家的国际会议上进行演讲。他还夺得了GeekPwn 2014(国际安全极客大赛)和AliCTF2015(阿里巴巴安全技术大赛)的冠军。2015年博士毕业后,加入了阿里巴巴移动安全部门,任安全工程师一职。工作期间,郑旻发现并命名了影响上亿设备的iOS病毒XcodeGhost和影响上亿设备的Android漏洞WormHole,对安全界产生巨大影响。

 

2007级校友周荣慧

学校ACM编程爱好者社团创立者之一。在校期间对程序设计有浓厚兴趣。2010年10月至2011年12月:开发和维护多米音乐和多米电台iOS客户端。2011年12月至2018年6月:开发和维护支付宝和蚂蚁财富iOS客户端。2018年6月至今:开发和维护优酷iOS客户端中的会员业务。

 

2010级校友文元

曾任ACM编程爱好者社团社长。在校期间,曾获蓝桥杯C/C++程序设计本科组全国一等奖、ACM/ICPC东北四省赛二等奖、ACM/ICPC辽宁省赛一等奖,还曾参与戴姆勒奔驰公司的校企合作项目。2013年秋季参加招聘,由于在学校进行的编程学习和训练,顺利的通过笔试面试,被北京百度公司录取。毕业近五年来,主要经历如下:

 

2014年,百度后端研发工程师/实习生,负责百度阅读的后端研发。2015年至2018年,百度高级研发工程师,曾任百度阅读商业化技术接口人,百度阅读后端技术接口人,百度文库流量后端研发。2018年至今,百度资深研发工程师,百度文库商业化技术接口人。

 

2013级校友张续龙

2013级计算机科学与技术系学生。2017年毕业加入武汉斗鱼公司,目前就职于深圳腾讯科技有限公司,担任微信支付分后台开发工程师。

 

2013级校友李昊

在校期间,曾获蓝桥杯省级一等奖、蓝桥杯国家二等奖、acmicpc辽宁省赛二等奖、acmicpc亚洲区邀请赛三等奖。2016年,在百度互联网数据研发部实习,参与在线转码系统开发。2017年至今,任职百度互联网数据研发部,参与全网网页结构化数据收录系统开发。

 

教师心得

 

刘振宇:

用课赛融合促进教学相长

计软学院的刘振宇教授自2004年任教以来,一直担任程序设计、数据结构等专业基础课程的主讲教师,以及我校编程竞赛的教练员。二十年来,他教授、指导过的学生不仅在校期间,在各程序设计竞赛中成绩优异,而且有很多同学毕业后,进入了阿里、腾讯、字节、百度等一线“大厂”。

 

程序设计是一门实践性很强的学科,刘老师认为,在“教”的角度,“精讲多练”是很适合程序设计课程的教学模式,并且在“精讲”部分,教师应尽量采用演示教学法,带领学生分析问题后,现场通过教师机编程演示求解过程,而不是一味地对照PPT讲解枯燥的语法;在“学”的角度,学习编程就像学习开车一样,不经过实操永远学不会、学不好,所以学生应该在课上课下进行大量的编程练习。另外,学生还要积极参与程序设计类的学科竞赛。竞赛中,通过解决问题、优化算法等方式获得成就感的同时,实践能力、创新意识以及解决问题的能力都会得到极大的提升。

 

程序设计对于计算机大类的学生来说,是一项不可或缺的基本技能。程序设计课程中,单纯的理论教学往往难以激发学生的学习兴趣和动力,也无法充分检验学生的实际应用能力。因此,将程序设计课程与程序设计竞赛相结合,实现课赛融合,对于提升程序设计课程的教学效果、培养学生的实践能力和创新精神具有重要意义。

 

课赛融合有助于激发学生的学习兴趣和主动性。通过引入竞赛元素,可以让学生在实际操作中感受程序设计的魅力,通过解决问题、优化算法等方式获得成就感,从而激发对程序设计的兴趣和热情。这种主动性的提升,将有助于学生更加深入地理解和掌握程序设计知识。

 

课赛融合有助于培养学生的实践能力和创新精神。程序设计是一门实践性很强的学科,只有通过实际操作和不断实践,学生才能真正掌握编程技能。竞赛通常要求学生解决一系列具有挑战性的问题,这需要学生综合运用所学知识,发挥创新思维,提出有效的解决方案。在这个过程中,学生的实践能力将得到锻炼和提升,同时也有助于培养学生的创新意识和解决问题的能力。

 

课赛融合有助于提高学生的团队协作和沟通能力。在竞赛中,学生通常需要组成团队共同完成任务。这要求学生具备良好的团队协作精神和沟通能力,能够与其他成员有效合作,共同解决问题。通过参与竞赛,学生可以学会如何在团队中发挥自己的优势,如何与他人有效沟通,从而提高自己的团队协作和沟通能力。这些能力在未来的工作和生活中都是非常重要的。

 

课赛融合还有助于提升课程教学的质量和效果。通过引入竞赛机制,教师可以更加直观地了解学生的学习情况和掌握程度,从而有针对性地调整教学策略和方法。同时,竞赛结果也可以作为评价学生学习成果的重要依据,使评价更加客观、公正。

 

邱建华:

让学生“在做中学”“在做中悟”

计软学院的邱建华副教授自2004年来校任教,一直担任程序设计、数据结构等专业基础课程的主讲教师。作为首批国家级一流本科课程第一负责人,2020年被认定为辽宁省普通高等学校本科教学名师。

 

为了能上好大一新生的第一门程序设计课程,计算机与软件学院教师邱建华在C语言课程的教学内容设计、教学组织形式、考核激励等方面做出了不懈努力。他带领C语言课程组活跃在教学改革第一线,课程获评国家级一流本科线下课程、国家级精品课程等荣誉。

 

从学生入校伊始,他就对学情进行深入分析,并在C语言课堂上采用案例驱动教学,在案例的分析和解决中融入C语言知识点进行“精讲”,使学生在实践中理解和运用知识点,而不是按步就班先讲知识点,再进行实践。在课堂上,他提倡学生互助,学生自建小组、组内合作、组间竞争,鼓励学生积极将个人和小组的编程心得、成果与其他同学进行分享。

 

邱老师认为,程序设计类课程一定要多编程,在“做”中学,通过多“做”能更好、更快地“悟”到编程的思维。只有在实践编程的过程中才能不断享受到成功的喜悦,才会更有激情去编程,这是一个良性循环。

 

收藏本页