创新工程实践课程前期准备 - bettermorn/ACMWDevHubPPT GitHub Wiki

基本要求:根据CC2020定义

知识准备

基础知识

  • 用户与组织
  • 系统模型
  • 系统架构与基础设施
  • 软件开发
  • 软件基础知识
  • 硬件

专业知识

  • 分析与批判性思维
  • 协作与团队合作
  • 伦理与跨文化视野
  • 数理统计
  • 多任务优化管理
  • 口头交流与表达
  • 问题解决和排除故障
  • 项目、任务的组织规划
  • 质量保障、控制
  • 关系维护
  • 研究与自学
  • 时间管理
  • 书面沟通

技能准备

  • 记忆
  • 理解
  • 应用
  • 分析
  • 评价(评估)
  • 创建

个性准备

  • 适应性
  • 协作性
  • 创造性
  • 严谨性
  • 富有激情
  • 主动性
  • 专业性
  • 目标驱动
  • 责任感
  • 响应性
  • 自我导向

熟悉软件开发工具、软件运行环境和软件开发平台,理解协作开发的意义、流程及具体方法;

学会使用基本工具

文本编辑

如md文件编辑方式

版本控制工具GIT

  • git的基本原理
  • 代码仓库的基本思想
  • git 分支使用的基本原理

IDE集成开发环境

  • 在语言学习课程时掌握,了解包括通过帮助文件学习功能,如何连接版本控制工具

原型设计工具

测试工具

  • postman

熟悉软件开发常用参考资料

  • Python社区
  • C/C++ 学习参考

了解代码规范

1 Java代码规范与良好实践

  • Google Java Style Guide
  • Code Conventions for the Java TM Programming Language
  • Google Java Programming Practices
  • 阿里巴巴Java开发手册(黄山版).pdf

2 C及C++ GCC Coding Conventions

https://gcc.gnu.org/codingconventions.html Recommended C Style and Coding Standards https://www.doc.ic.ac.uk/lab/cplus/cstyle.html

PEP 8 -- Style Guide for Python Code https://www.python.org/dev/peps/pep-0008/ C# Coding Conventions (C# Programming Guide) https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/inside-a-program/coding-conventions Errors in C/C++ https://www.geeksforgeeks.org/errors-in-cc/

获取、评估及传达信息能力的准备

  • 掌握获取信息和资料的快速简洁的方法,例如,寻找产品提倡商提供的完整文档,而不是用bd搜索寻找碎片化的文档
  • 遇到较难问题,用较好的搜索引擎、开发者网站平台获取解决方案,例如 bing.com stackoverflow.com
  • 良好的英文阅读能力

解决复杂问题的能力

遇到问题,研究工作的逻辑过程是否有误,寻找主要原因,逐步分解问题,确定解决方案。 目前表现:需要提高主动分析问题的能力。

设计先行 开发后动

掌握提出问题、发现问题和定义问题的能力,提出寻找解决方案,初步建立软件设计方法论,建立系统观。 培养此能力需要帮助同学树立“磨刀不误砍柴工”的观点。 目前表现:大部分大学生无法集中精力先分析问题,设计解决方案,而是急于写代码,急于看到表象。

大学初期开展以下实践活动

  • 培养包容性计算文化
  • 围绕计算进行合作
  • 识别和定义计算问题
  • 开发和使用抽象
  • 创建计算工件
  • 测试和优化计算工件
  • 围绕计算的沟通

课程准备工作

团队

每组5人,请分组

课前准备工作

学生最好能准备一个想要利用现在掌握的技术完成的项目,例如网站,小程序,移动应用都可以。 学生复习软件设计及开发相关知识和技能(java,JavaScript,CSS, HTML5,C ,C++均可)

设施准备

白板,白板纸和白板笔

开发环境及协作平台

笔记本装有熟悉的开发环境IDE,如IDEA、VS Code或者Android studio https://www.jetbrains.com/idea/

为便于操作,建议用github做为协作平台,便于小组协作,提交相应文档,保存文档,共享信息,建议提前申请github账号 www.github.com