ppt模板免费下载的网站网络推广与推广
web/
2025/9/29 16:51:47/
文章来源:
ppt模板免费下载的网站,网络推广与推广,类似淘宝网 的淘宝客网站模板,wordpress 主题授权摘要#xff1a;数学修养对软件开发之路起着什么作用#xff1f;码农如何修炼自己的内功并成长为优秀的软件开发员#xff1f;带着相关思考#xff0c;社区之星第10期采访了中南大学副教授——刘伟。他对数学修养、设计模式、软件架构和重构方面的独特见解#xff0c;相信…摘要数学修养对软件开发之路起着什么作用码农如何修炼自己的内功并成长为优秀的软件开发员带着相关思考社区之星第10期采访了中南大学副教授——刘伟。他对数学修养、设计模式、软件架构和重构方面的独特见解相信会给众多码农和技术大牛带来新的收获。
导语他虽然是一名大学老师但却有着十多年软件开发和项目管理经验他曾任职于湖南移动、创智软件园、NIIT印度国家信息技术学院和长沙创智新程教育技术有限公司等机构也曾为多所高校、软件培训机构担任讲师和多家公司提供企业内训服务。另外他还主持和参与了30多个软件项目的开发工作涉及教育、电子商务政务、企业EAI、移动通信等领域此外他还致力于科研研究。正是这种复杂的多重经历让他对软件开发有着独到的见解和心得为此CSDN记者对这位学者兼技术人进行了专访希望大家看完后能够对软件开发之路有全新的认识尤其是对软件开发人员至关重要的设计模式、数学修养、软件架构和重构方面文章内容有点长请耐心看下去会对你有所启发。 刘伟中南大学软件学院副教授博士。中国计算机学会会员美国计算机学会ACM会员希赛教育集团企业内训讲师新程教育集团顾问兼高级讲师CSAI顾问团专业顾问及内训讲师。具有十多年软件开发、项目管理及IT教育培训经验曾担任项目经理、系统架构师、软件工程师、IT培训讲师和高级讲师等职位。研究方向为软件工程与数据挖掘目前正从事相关算法的研究与CASE工具的开发工作。著有《设计模式》、《设计模式实训教程》、《设计模式的艺术——软件开发人员内功修炼之道》等书。同时也在编著新书《UML实用教程》和《C#设计模式》。
我与计算机的故事
CSDN:请和大家介绍下你及所从事的工作
刘伟我现在主要从事软件工程和数据挖掘等领域的科研、教学和研发工作。具体工作包括
软件工程专业课程的教学工作主要讲授《软件工程》、《设计模式》、《软件体系结构》和《电子商务与数据挖掘》等课程。软件工程和数据挖掘等领域的科研工作注重理论研究与实际应用的结合目前主要研究课题包括源代码自动重构、CASE工具研发、源代码中设计模式挖掘、软件度量等目前承担的几项科研项目的研究工作已得到包括华为在内的多家企业的关注并愿意参与其中。企业培训与支持工作在周末和寒暑假我会给一些企业提供需求分析、UML、设计模式和重构等技术培训密切与企业联系为企业项目开发提供一些指导同时也为高校教学工作添加更多真实的企业案例已经给多家公司提供过企业内训反响都还不错。软件研发工作时间允许的话我会承担一些软件项目的研发工作目前正在从事一些CASE工具的研发工作。
CSDN:你并非计算机出身是什么缘故促使你自学计算机课程在学习上有什么心得可分享
刘伟严格来讲大学期间我并不是一名好学生因为我没把时间和精力放在专业学习上现在从事的工作也与大学所学专业没有关系但我并不后悔反而觉得大学四年让我更加清楚地知道自己想要什么树立了更长远的目标那几年也过得很充实为之后的学习和工作奠定了很好的基础。
我大学本科学的是化学专业不过从大一1999年开始就对计算机产生了极大兴趣然后自学了所有计算机课程大二开始在一些校办网站和软件公司兼职。在本科和研究生学习期间我利用课余时间在多家软件公司兼职也组织过团队在外面接一些项目。软件开发是极富挑战的创造性工作我很享受那个集体力和脑力劳动于一体的过程我想最根本的原因应该还是兴趣所在吧。
在大学期间我对软件教育和技术推广也具有极大热情2001年19岁开始在一些IT培训机构担任网页制作、SQL Server数据库等课程的兼职讲师同时考取了高级程序员等证书还获得了微软认证系统工程师和微软认证数据库管理员。
对于软件知识和技术的学习我有以下几点建议供参考
最重要的是兴趣兴趣是可以慢慢培养作为一名软件专业老师我也有意识发掘并培养学生的兴趣让学生喜欢上这个专业然后再努力去学习研究进而全面学习和掌握相关专业知识其次是学习能力IT知识更新速度非常快一定要培养自学能力我经常跟学生说真正成功的大学教育并不在于教会学生多少东西而是教会学习的能力这种能力让大家终身受用。俗话说授人鱼不如授人以渔只有不断学习才能真正成为行业领袖和专家。在学习过程中要善于利用互联网资源不要把电脑和网络当做娱乐工具而应该作为学习工具经常访问一些IT网站看一些行业新闻、博客和论坛等多交流、多讨论和多虚心学习。多思考多实践软件工程是工程应用类专业一定要多实践有条件可以参与一些老师牵头的横向项目企业项目或者在不影响学习的情况下接点企业小项目做做例如小网站或者小型的MIS系统之类这样能力提升会更快而且能够学到很多在课堂上学不到的知识和经验。
2010年我在CSDN博客上发表了一篇文章《写给明天的软件工程师——感悟篇》大家如果感兴趣的话可以看看。
CSDN你微博中用“软件兴邦教育利民致力于中国软件教育“作为座右铭想传达什么
刘伟这包含了我的人生理想我现在的目标是成为一名一流的IT教育工作者这里的IT教育是广义的除了高校教育、企业培训外还包括职业教育等我觉得一个行业要能得到更好的发展应该有一套成熟、科学、合理的人才培养体系。现在软件行业的地位和重要性毋庸置疑前段时间我在博客中转载了一篇文章《软件应用无所不在 正吞噬整个世界》现在软件已渗入到各行各业而且很多传统行业已经离不开软件的支持例如零售、交通、出版、医疗、招聘、娱乐、电信、教育等等还有很多行业本身就是依托于软件的例如电子商务、在线游戏等。网景公司创始人、硅谷著名投资人马克·安德森的这篇文章中他列举我们所面临的三大挑战第二条就是人才问题软件行业缺乏大量能够胜任的软件工程师、经理、营销人员和销售人员他指出只有教育才能解决这个问题。正因为如此我觉得自己的选择是非常正确的我也希望自己能够通过努力成为一名优秀的软件教育工作者。“软件兴邦教育利民致力于中国软件教育”这句话也是用来勉励自己希望自己能够不断研究和探索软件人才培养的规律和模式以便更好地从事软件教育工作。
数学之美程序员应有的数学修养
CSDN一名优秀的程序员和他的数学修养有没有什么联系它给程序员带来的最大帮助是什么
刘伟我个人觉得是有联系而且关系很密切。数学作为自然科学之母更多的是培养人的逻辑思维能力是思维的体操。
我们要区别一下合格程序员和优秀程序员合格程序员可以完成一些常规的代码编写工作例如CRUD这里确实用不到太多的数学知识但是如果希望能写出高质量的代码例如具有良好的时间复杂度和空间复杂度或者参与一些技术难度较大的软件开发工作例如涉及到构建数学模型的软件如交通调度系统、与电子商务有关的数据挖掘系统、计算机模拟药物设计软件等良好的逻辑思维能力是必须的而数学正可以培养这种能力。
良好的数学修养将让程序员在设计和实现软件时思维更严谨、思路更开阔、考虑也会更缜密有助于写出高质量的软件还有利于参与一些技术复杂度较高的软件这对于个人综合素质的提高和职业发展都很有帮助。我建议大家有时间看看数学书做做数学题你能够从中找到快乐
CSDN那程序员如何培养自己的数学修养应该培养哪些数学修养
刘伟2012年有三本书卖得很火它们是腾讯副总裁吴军先生的《数学之美》、日本资深技术作家结城浩的《程序员的数学》和北大高材生顾森的《思考的乐趣Matrix67数学笔记》。而购买者绝大部分都是IT相关人士当然最多的还是程序员。由此可见很多一线程序员都意识到有时间应该学学数学看看数学书培养自己的数学修养。这是好事说明大家都在努力求进步都在努力提升自己的综合水平。我也读完这三本书收益颇丰。
2006年我在CSDN博客上发表了一篇题为《浅谈程序员的数学修养》文章很多人发表了一些不同的看法和意见当然我在这篇文章中所写的很多都是个人观点难免会存在一些考虑欠周全的地方但对于一名优秀程序员是否应该具备一定的数学修养这个观点我还是坚持自己意见我认为是肯定的。那么如何培养自己的数学修养我在《浅谈程序员的数学修养》一文中有提到大家感兴趣的话可以看看这篇文章另外我还转载了几篇与之相关的文章《数学是成就卓越开发人员的必备技能》和《编程需要知道多少数学知识》有一些不同的声音大家都可以看看。
需要指出的是这里所说的数学修养并不是指数学知识不是指你各种解题能力这里所指的数学修养更多的是平时对数学知识的积累。比如适当做数学题来训练自己的思维、看有关数学书来丰富自己的知识体系当你需要在工作中具体用到一些数学知识时你可以很快地学习。数学修养的培养更多的是培养自己的逻辑思维能力这对于一个优秀程序员是非常重要的能力数学修养不等于数学知识并不是看几本高深的数学书就能有好的数学修养真正的数学修养的培养并不需要我们一定要掌握多少高深的数学知识而是在平常的学习和工作中能够将数学知识和正在解决的问题联系起来。例如当你在设计一个电子商务系统时除了传统的CRUD你还应该考虑一下顾客行为分析、商品推荐、网站链接结构优化、广告投入策略、信息检索模型构建等这里面也许就需要用到贝叶斯网络、粒子群优化、图论、 聚类和分类等与数学相关的知识如果你具备很好的数学修养平时也注意数学知识的积累那么即使从头开始学这里的某些知识也不是难事。由此可见对于一名优秀程序员而言数学修养是必备的。
具体来说数学修养的培养可以从算法分析和设计开始深入理解一些经典算法的设计原理和实现机制我认为算法是数学的一部分是数学在计算机领域的应用就像数学应用在材料、力学、经济学一样。另外有空的话可以多做数学题和逻辑题把这些习题当做一种逻辑思维练习让自己思维更加活跃一点Bob大叔Robert C. Martin称这种练习为卡塔Kata我建议大家有时间每天也做一两个卡塔有些数学题可以不在纸上写直接用程序实现也可以。另外前面提到的那三本书也挺不错建议大家有时间可以看看权当一个入门总之一定要认识到数学修养的重要性。对于那些正在或有志于数据挖掘、信号处理、图像处理和搜索引擎等工作的朋友那数学的重要性就不多言了大家都懂的。
IT人才培养
CSDN:在大学计算机专业课中哪些课程最难你又是通过什么方式简单地讲解难点
刘伟大学计算机专业课中比较难的课包括离散数学、数据结构、编译原理、算法分析与设计等来自同学反映当然有的学校还开设了信息论与编码、数字图像处理、计算机图形学、计算机密码学、数据挖掘等这些课跟数学以及逻辑思维能力或多或少有点关系当然也因人而异。上述这些课程对于有些同学而言也并不难但是跟软件工程、操作系统、计算机网络、计算机组成原理等课程相比很多同学在学习这些课程时相对更加吃力。
这些课有些我也没有教过在以前讲授数据结构、算法分析与设计等课时如果遇到比较难的地方我会首先利用一些图形和动画来分析其原理先形成一个感性的认识然后引入一些比较容易理解和通俗的实例来讲解通过对具体问题的分析来逐步深入。特别是算法不能为讲算法而讲算法最好能够结合一些具体问题来分析对于算法的本质需要讲透彻一点但通常数学基础较好的学生可以快速消化这些知识而数学基础相对较差的在学习过程中遇到的困难更大。因此我有时候也会要求学生在课后做逻辑思维题例如数字找规律、图形找规律、逻辑推理、简单的数学证明题等来训练一下思维能力这其实也是在无形中培养自己的数学修养通过一段时间的训练有些同学确实有所进步在思考问题时思路更开阔、更严谨对算法的理解也更深入。
CSDN你曾做过几年开发后来为什么从技术人转为IT教育工作者之前的工作对你现在有何帮助在给高校学生上课之外你还喜欢与企业交流为什么
刘伟我个人对教育事业可以说是情有独钟我出生于一个教师家庭祖父、父亲、母亲都是教师祖父和父亲是一所中学教师祖父是老校长父亲是现任校长母亲是小学教师。从小就在学校长大一直很喜欢把自己学到的东西传授给别人这很快乐。在大三19岁时我就在IT培训机构担任网页制作、SQL Server数据库等课程的讲师那时学生基本上比我大但学习完之后大家反应都还挺好说我讲课思路清晰、内容很丰富、信息量大能够学到很多东西我想这方面还有点遗传基因吧。研究生阶段也在职业培训机构担任兼职讲师硕士毕业2006年后在湖南移动、创智软件园上班主要从事软件研发工作还在NIIT印度国家信息技术学院、创智新程教育技术有限公司原创智集团教育事业部担任高级讲师同时也担任几所高校的企业兼职教师之后读博并在中南大学软件学院任教。从2001年开始都从事与IT教育相关的工作之前是兼职现在是全职。对于软件研发、软件职业教育、软件高校教育我都有涉足正是这种特殊的工作经历让我对IT人才的培养有更深刻的理解和认识。
在有过几年一线开发经验后我发现自己最大的长处还是在于将一些知识用较为通俗的语言和实例传递给他人这也是一名好教师特别是IT相关教师应该具备的能力因此我陆续拒绝了很多国内外知名企业的Offer和多家猎头公司的邀约在经过慎重思考后我已逐步将工作重心转移到软件教育上。另外我觉得中国的软件教育需要一批有过企业背景也具有较好表达能力和感染力的老师我自认为还是具备这些条件的。看到我的学生们能够进入一些一流的软件公司、做出一些优秀的软件所带给我的成就和愉悦感远比自己收获这些要大。
企业工作背景对我的教学工作非常有帮助在教学过程中我会结合一些企业真实项目实例来进行知识讲解会结合我之前的一些工作经历讲授一些书本之外的知识例如在讲解软件需求工程时我会告诉学生我曾参与开发的一些项目是如何来获取需求的、对于不同的需求源我们做了哪些分析和考虑、采用了哪些需求获取手段、如何记录需求以及如何确认需求跟学生讲我们当时遇到了哪些问题以及最后怎么解决的还会穿插一些真实的小故事让大家的学习过程不那么枯燥无味而是充满好奇感和趣味性。正因为之前参与过那么多实际的项目亲身经历过很多软件的成功与失败也充分体会到过程的快乐与艰辛才让我现在能够自信满满地站在讲台上与学生们分享我的知识与经验。
为了不脱离企业我现在仍然会经常与企业进行交流我一直认为一旦脱离企业实际需求IT教育不可能培养出真正优秀实用的人才。一方面我会在工作之余参与一些企业项目的开发工作主要以顾问的形式参与需求分析、系统架构设计、技术评审等尽自己的能力给一些企业提供指导例如教企业如何实施Scrum、如何使用UML构建软件模型、如何对源代码进行优化和重构等。在提供指导的同时我又可以将这些知识和经验传递给在校学生让学生知道现在企业正在做什么、他们是怎么做的、遇到了什么困难、应该具备哪些知识才能胜任这些工作我觉得这是一个良性循环学生们学习了这些知识和技能之后在实际开发中就能够用上而且学习过程本身也很好地切合了企业的需求在一定程度上解决高校人才培养和企业实际需求脱节的问题。当然我现在所做的还是一个探索性的工作也希望这项工作对于我国高校软件人才的培养有一定的参考价值。另一方面我也在分析企业的一些需求例如有些企业员工因为工作压力大、项目进度紧等原因无法静下心来学习一些新知识于是我会将这些知识整理好用较短的时间和较为通俗生动的方式传授给他们我觉得这也是IT教育很重要的一个组成部分教育是贯穿一生的活到老学到老。
与企业交流让我了解到企业对人才的需求能够为我的教学工作提供更多真实案例同时我也能够为企业开发人员提供一些指导和培训此外我个人的知识和经验也在不断累积有助于我更好地从事软件教育工作。
CSDN现行的软件人才培养体制有哪些缺陷你认为该如何改进
刘伟关于现行软件人才培养体制我个人也有一些自己的意见和建议下面我谈几点自己的看法吧。
培养目标问题。做科学家好还是工程师好研究型大学是不是不应该培养工程师研究型大学如何培养工程师现在很多985和211高校的口号都是建设国内一流的研究型大学老师们都全力去做科研而工程类专业特别是软件工程又是以培养工程应用型人才为主如果老师们都将精力用于做科研了谁来培养工程师怎么培养工程师而且没有实际的项目开发经验只是照本宣科停留在纯理论的教学中如何能够培养出合格的工程师我个人觉得工科大学本科教育工程类专业应该还是以面向应用工程型为主如果希望当科学家应该是在硕士特别是博士教育中。随着工程硕士规模的扩大很多人硕士毕业之后还是当工程师。如果有志于当科学家的同学应该从本科就做好准备打下良好研究基础学好数学、英语和一些基础理论课程最好能够把算法、计算理论、编译原理、形式化方法、数据挖掘、计算机图形学等知识学好为做科学研究打下基础如果有机会的话可以提前和老师们一起参与一下科研项目的研究了解一下科研的流程说不定还能够做出点啥科研成果。而对于大部分想做工程师的同学而言软件开发类课程就非常重要了无论是编程、分析设计、架构还是测试以及数据库、操作系统、数据结构等基础课都是成为一名优秀工程师的基础如果有机会做做实际的应用型项目不是停留在课程设计或者项目实训等模拟项目上那帮助就更大了。在大学阶段有一个比较明确的职业规划对于同学们的成长确实有很有帮助虽然这个做起来有点难度。课程体系的建设问题。这也是软件工程教育的一个核心问题它对应于一个怎么做的问题软件工程专业的课程体系要兼顾多方面因此一套完善合理的课程体系需要不断调整和优化这样难免会有一些同学会成小白鼠但是这是人才培养道路上必经的一个过程还望做过小白鼠、正在做小白鼠和即将成为小白鼠的同学们理解。一套科学合理的软件工程课程体系我认为至少要考虑如下两个方面用人企业的需求分析用人企业所需的技能和技术结合企业的招聘启事请企业专家参与评审课程体系包括课程的培养目标、先后顺序、教学大纲和实验安排等、人才的长远发展我们不能只是培养码农需要培养出能够具有更好发展前景的软件人才因此除了编码类课程还需要开设需求、分析、设计、架构、测试和项目管理等课程。对于教育工作者人才是产品用人单位是客户。我们都希望能够培养出高质量的产品满足客户的需求做到三方共赢 教学与实践课时分配的问题。软件工程是一个重实践的专业必须要多实践重点培养实践能力许多高校都在压缩教学课时大量增加实践课时。但是现在有一个很重要的问题是很多学校的教学资源不足不可能所有的课都在机房上。大家经常会提到一个“做中学”的问题对于软件人才的培养确实需要增加实践课时我个人觉得如果网速足够快并提供合适的在线项目开发和管理平台有些练习和项目完全可以在宿舍完成。教学课时没有必要开设那么多我始终还是坚信那句话大学教育更多是培养大家学习能力而不是学习知识本身。 师资问题。作为软件工程专业的教师必须不断更新自己的知识体系需要至少在某一个或几个领域与最新技术接轨每年应该也要实时充电让学生们能够在学校就学到一些前沿知识。对于有些知识的学习老师的理解能力和消化能力还是要强于学生毕竟对行业和专业的了解更为全面和系统。我个人的观点是作为从事软件工程一线教学的教师应该有目的地提升自己的实际项目开发能力不断学习新知识“一门课上到退休”对我们来说并不适用也不应该是这样。作为一名软件教育从业者我要求学生要努力学习学会自学新知识与技能同时我也需要不断学习只有这样我自己也才能实现成为一流IT教育工作者的梦想。高校与企业联合办学的问题。与企业联合办学是目前很多高校在培养软件人才时采用的一个重要的手段这样一方面可以让学生学到一些企业实用技术另一方面可以缓解师资不足的问题。学生也特别希望能够有一些企业老师来讲课学习到更多实用的技术和经验。我想我的课之所有学生们喜欢跟我之前有过几年项目开发经验有很大关系。但是在校企联合办学过程中地域因素也不得不考虑例如在北京如果要找一流的测试专家给某个高校上软件测试的一些课程可以找中国软件评测中心或国家信息中心软件评测中心但是有很多二线、三线城市的高校就没有这么便利的企业教学资源应该建立一个校企合作的平台。我觉得校企合作是一个对三方有利的方式对于学生和学校的好处不用多说对于企业而言可以从中选拔优秀的潜在员工还可以宣传自己的企业和产品同时带来新的赢利点。很多国内外知名软件公司就成立了专门的校企合作部门已经嵌入到师资培训、学生培养、实习生安排和社团活动等多个环节并取得了不错的效果。
当然还包括不同层次的学校人才培养的差异性问题、软件工程硕士培养问题、不同方向开发、测试、互联网营销等的软件人才培养问题等。每一个问题都可以作为一个专题讨论恕本人才疏学浅也不妄加评论了以后有机会再跟大家进一步交流。以上很多观点都来自我2012年12月份写的一篇博文《如何培养软件工程人才——参加“第一届高等学校软件工程人才培养高峰论坛”有感》欢迎大家一起交流和讨论。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/84006.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!