建设工程项目管理3000字,项目范围管理论文3000字 建设工程项目管理3000字,项目范围管理论文3000字
创始人
2025-06-05 05:36:09
0

  编程是所有计算机科学、信息学、软件工程和计算机工程专业的必修课。几十年来,这项技能已经成为区分计算机专业毕业生与其他学科同行的关键。我认为,在21世纪,编程本身的熟练程度既不能代表市场对计算机专业毕业生的技术水平要求,也不能成为有分量的资格证书。因此,我建议应该鼓励计算机专业的学生通过课程活动为开源软件项目贡献代码。   

  

     

  

  我在软件工程课程中已经实践这种方法15年了,有必要为开源项目贡献代码。根据个人经验,本文将解释为什么向开源项目贡献代码可以反映学生对编程技能的掌握,学生可以从这些活动中学到什么,如何将开源项目的贡献代码嵌入到课程中,以及如何帮助学生完成这项任务。   

  

     

  

  #向开源项目贡献代码是编程的新概念   

  

  如今,编程只是软件开发人员必须掌握的技能之一。这有两个原因:   

  

  *首先,编程实践的发展远超上世纪70年代Fred Brooks推动的首席程序员模式。系统规模扩大了几个数量级,工具更加先进,流程自动化得到普及,团队协作、工作流程和管理变得日益复杂。   

  

  *其次,行业最佳实践和大规模成功开源软件项目遵循的实践已经融合。每个企业都吸收并贡献了许多开源开发实践。因此,相应的知识和技能在志愿者项目和企业项目之间是常见的。   

  

  因此,我们的教学必须从课程的教育实验室走向实际的组织环境。学生可以通过贡献开源项目,在实践中获得广泛的技能、知识和经验,从而成长为全方位的现代开发者,而不是好莱坞电影中的独狼程序员。传统编程任务中最难获得的技能是以下社交和组织技能:   

  

  背景:了解新领导下的项目范围、使命、合作开发团队和实际开发工作;   

  

  *与项目的全球和多元社区互动;   

  

  *协商功能的要求、要求和实现方法;   

  

  *处理沟通问题,如无回应,这在志愿者运营的项目中很常见;   

  

  *通过问题分类、发布计划等实践,将软件作为产品来认识;   

  

  *接收、讨论和处理代码审查意见。   

  

  与技术相关的学习成果包括分析、评价、应用和创造等。具体内容如下:   

  

  *浏览项目的资产,如软件代码、主题、文档和拉取请求;   

  

  *快速评估软件系统或组件的产品和过程质量,这是现代软件复用中经常需要的;   

  

  *配置、构建、运行和调试第三方代码;   

  

  *设置和运行具有不同软件和硬件要求的软件密集型系统。我的课程包括手机、汽车电子、应用服务器、数据库、容器、物联网设备和嵌入式设备。   

  

  *选择实际贡献目标。(学生倾向于高估自己在项目初期的贡献能力。这是敏捷开发冲刺阶段的一项关键活动。   

  

  *阅读第三方代码,找出需要添加的功能或需要修复的问题;   

  

  *通过添加新功能或修复错误来修改大型第三方系统;   

  

  *编写测试来证明您贡献的代码现在和将来都可以像预期的那样工作;   

  

  *学习用各种编程语言和工具开发的软件系统。学生们经常惊讶地发现,掌握集成开发环境(IDE)的知识远远不足以对项目做出贡献。   

  

  *记录您的工作,一般使用声明性标记语言,如Markdown或文档生成器代码注释;   

  

  *遵循复杂的配置管理(版本控制)工作流程,如处理问题分支和重新提交代码;   

  

  *通过预提交和持续集成的检查和测试。   

  

  从这些实践中获得的社会经验和技术经验是现代办公环境所必需的,这是超越ACM/IEEE的。   

  

  提出软件工程课程大纲。同时,该课程的实践与ACM/IEEE教学大纲中的许多内容密切相关。这主要包括:培养个人技能,如批判性判断、有效沟通和意识到自己的局限性;培养自主学习的技能;理解解决软件工程问题的多个维度;适当使用最新的工具;建立现实世界的基础;并通过各种教学方法促进教育。   

  

     

  

  #在软件工程课程中嵌入开源开发   

  

  这门以“为开源软件做贡献”为必修作业的课程叫做“实践中的软件工程”,是初级课程的一部分。(这门课是2019年的。   

  

  年获管理学院优秀教学奖。)每年我们都会给20 ~ 50名雅典经济贸易大学管理科学与技术系软件与数据分析技术专业的学生讲授这门课程。本课程也是大学信息系的推荐选修课。   

  

  这门课程在一定程度上颠覆了传统的课堂教学方式,最终的成绩完全由课程作业决定。对开源软件的贡献占总分的50%。学生可以   

单独或结对完成作业。结对的目的是帮助没有安全感的学生,但要求结对完成的工作量必须多于个人,而且贡献必须来自个人的GitHub账号。

  

我们根据学生提供的在线开源项目工作(代码提交和交互)、他们的最终书面报告以及课堂演示来评估学生的表现。一共需要三场演讲,分别在第 4 周(描述所选项目)、第

  

8 周(概述提议的贡献)和第 14

  

周(总结贡献的实现)。贡献的代码是否被接受并不会作为作业的评判标准,但会得到积极的评估。其他评估要素包括,学生对自己选择的项目的理解和文档、贡献的广度、实现的质量、代码与项目的集成、测试实施、与项目开发团队的合作、口头陈述、书面报告的质量,以及他们在版本控制、代码审查、议题管理和文档等活动中使用的工具。

  

理论上,他们可以作弊(通过复制项目分支的贡献等),这可能会成为一个问题,但我们要求学生在课堂上展示他们的成果,而且我们会让学生们明白,他们贡献的代码会成为个人的一项战绩,而且将来还会被潜在雇主的询问,这些措施可以杜绝作弊。

  

  

# 成功地向开源项目做贡献

  

刚开始接触这门课程的时候,学生们都怀着惶恐的心情,但在完成后都会非常高兴。为了确保学生能够为开源项目做出有意义的贡献,我们需要考虑到他们的经验不足与现代开源软件开发的快节奏与复杂性。

  

这些年来,通过我分配的作业可以看出,为开源项目做贡献的难度越来越低。各个项目变得更具包容性。许多项目简化了新手入门指导,团队更加多样化(包括女性领导),公开联系方式很常见,回复通常都很有礼貌,而且支持Windows

  

构建(尽管一些学生采用 Linux

  

以避免出现故障)。由于拉取请求工作流程中的手动控制、持续集成的广泛采用、多样化的代码检查机器人、友好的代码审查流程以及拉取请求草案的使用,做贡献的难度已降低。

  

尽管如此,学生们接触的开源项目环境与传统学术作业环境的体验仍然相去甚远。因此,小规模的贡献才是比较现实的目标。为了让这门课程的作业发挥作用,关键在于降低对学生所做贡献度的期望。对于一个本科生来说,为开源做贡献的门槛非常高,即便是向一个大型项目贡献20行代码也是值得庆贺的成就。我们给学生选择项目的建议可以总结如下:

  

* 选择一个有多位活跃贡献者的项目,这样就有一个社区来指导并回答你的问题。

  

* 选择一个相对流行的项目(获得了一些GitHub给星),证明这个项目提供了有用的功能,并且以相对合理的方式开发。你应该避免上传到GitHub已久的废弃论文项目。

  

* 避免过于受欢迎的项目,因为你的贡献会被其他竞争者、噪音和官僚主义淹没。(尽管如此,我们的一些学生还是参与了轰动一时的项目,例如 Tensorflow 和 Visual Studio Code。)

  

* 确认可以在自己的计算机上构建和运行项目。

  

* 确保项目定期接受来自外部的拉取请求,保证自己也有机会。

  

* 尝试提供一个简单的bug修复,作为热身练习,测试一下自己是否有能力严格遵守项目的工作流程。

  

* 查找带有“Good first issue”标记的议题,这表明该项目对新贡献者很友好。

  

至于选择贡献怎样的代码,则完全由学生自己决定。他们可以从项目的议题列表中选择一个开放的任务,或者提出自己的增强或修复意见。学生在与项目的核心团队互动后也会经常改变策略。尽管让他们自由选择自己的贡献似乎让这个作业变得很容易,但我发现大约一半学生贡献的代码都被采纳了。

  

学生在作业中面临的最常见问题包括无法构建项目(通常是由于缺乏经验和平台不兼容),以及项目团队缺乏沟通(学生会过分焦虑,认为他们贡献的代码必须被采纳)。另一方面,学生们最大的快乐在于,发现自己的代码被某个全世界都在使用的生产软件所采纳。在课程评估中,学生都很开心,他们表示自己在向开源软件做贡献的过程中获得了许多实践技能,同时也更自信了。

  

相关内容

热门资讯

大学生在哪能贷10w(农村信用... 原文:青春龙阳青春龙阳4月9日点击蓝字关注这个神奇的微信官方账号航海梦,开拓青春!政策详情 贷免扶补...
政府20万无息贷款,襄阳20万... 根据省农业厅农村办《关于印发2020年财政支持家庭农场贷款贴息项目申报指南的通知》(鄂政发〔2020...
个体工商户贷款的网贷(个体营业... 近日,惠东县仁山镇一家农机合作社的负责人陈担心农机采购资金不足。但通过中国惠州工商银行在普惠金融的“...
2元店加盟骗局分析(2元加盟连... 早在20世纪80年代,日本就出现了大量的100元店(相当于5块人民币)。欧美虽然经济发达,但这种模式...
谁需要钱我借他10万(贷款5万... 婚姻是你余生的一场巨大赌博。有人输,就有人赢。赌赢的人家庭美满,事业有成更不用说,但至少生活幸福和谐...
附近洗洁精厂,洗洁精厂需要投资... 洗涤产品的原料中最大的比例是水。生产工艺简单,日产量可达几吨。销售渠道和数量决定投资者的利润和收入。...
投资赚钱app哪个好,零投资赚... 因为时间关系,睡前有一段时间,刷视频,回答问题,听小说。一天挣不了几块钱。你推荐几个能可靠赚钱的应用...
我想学手艺但不知道学什么,低学... “你好,我家条件不好,父母年纪大。我成绩不好。我不想考本科。读出来没什么意思。我不希望父母继续这么累...
2021创业项目排行榜,202... 大家都知道创业难,选项目更难。随着互联网的普及,信息几乎没有死胡同。所以在信息不对称赚钱的时代,几乎...
创业低成本高收入(适合新手的生... 快过年了。赚够钱回家了吗?最近有粉丝问有没有什么好的可以赚钱的项目推荐,明年不想做兼职了!然后,今天...
蔚来汽车公司市值,蔚来市值排名... 2021年,国内汽车市场竞争尤为激烈,行业淘汰制已经出现明显迹象。业内人士表示:“R&D投资作为衡量...
政府扶持办厂项目,家庭办厂10... 农村有很多商机。如果你有心收藏的话,你会发现农村致富并不是很难。10万元的农村创业项目有哪些?以下是...
县城里开一个儿童乐园的利润,县... 投资儿童公园是一项巨大的工程。如果你想在短时间内收回成本和利润,你需要制定一个长期的计划。从投资前期...
邮政储蓄10万无息贷款(营业执... 小额贷款是指小额贷款,一般在1000元至20万元之间,是以个人或企业为核心的综合性消费贷款。主要服务...
未来5年农村冷门暴利种植,未来... 自国家提出“农村振兴战略”以来,农村发展取得了质的飞跃。农村的机会越来越多。相比城市工作创业成本高,...
致富小机器加工项目,产品加工项... 大家好,我们又见面了。我是你的老朋友,农民张。谢谢大家的支持和鼓励。有你的支持和鼓励,我的写作之路会...
不愁销路的小型加工厂,佛香的销... 在目前的情况下,对于一部分在城市工作的农村人来说,完全不用担心失业,因为农村创业资源丰富,失业后回农...
女生初次适合开什么店,适合男生... 一般来说,小本创业项目应具备三个要素:1 .市场竞争力小、可塑性强的行业;2.不做市场潜力大、可开发...
目前投资什么行业前景好,未来十... 声明:原创不易。禁止搬运。违者必究!010年到1010年的十年,看似很长,其实很短。短短十年就会发生...
2一10元店货源批发(义乌小商... 之前帮忙的朋友陈总,一直在卖2块钱的商品。这个行业和其他行业一样,竞争非常激烈。陈先生投资几百万2元...