COMP2100

38 views 5:02 am 0 Comments March 14, 2023

大利亚国立学校COMP2100课程内容 一 概述 本课程继续建立在前两门课程中教授的主题之上。它侧重于使用软件开发过程中使用的设计模式和工具构建中型程序。学生将获得行业标准版本控制和集成开发环境(IDE)工具的进一步经验。 学生将学习他们在以前的课程中学到的编程抽象的适当应用,以构建中等规模的软件:继承,泛型类型,多态性,过程抽象和抽象递归数据结构(包括抽象语法树作为程序表示,以及操作它们的工具)。 本课程还涵盖了更高级的数据结构,如优先级队列、B 树、红黑树和 AVL 树,并加深了对适当算法策略的理解。 本课程还涉及软件开发和部署中的知识产权考虑因素。 二 学习成果 将基本编程概念应用于中型程序 了解静态类型的基本类型和优点,了解泛型、子类型化和重载,以及它们在构建程序中的作用 将编程语言抽象映射到执行环境;使用程序的非源(文本)内部表示(例如,抽象语法树);绘制核心语言构造(对象和闭包)的低级运行时表示形式 描述合同规范,根据他人的代码分析文档和规范,使用现代IDE和相关配置工具开发,理解,测试和发展实质性程序;解释正确性对高质量软件的重要性;了解常见的编码错误以及如何避免它们;练习基本的防御性编程;了解安全设计的原则 使用、实施和评估更高级的数据结构和相关算法;讨论评估软件的计算效率以外的因素;创建、实现、调试和评估用于解决问题的算法,包括递归、使用分而治之和通过分解;实现抽象数据类型;分析设计和实施备选方案 将基本算法分析应用于简单算法;正式使用 big-O 表示法、上限和预期大小写范围;使用和解决重复关系;使用适当的算法方法来解决问题(蛮力、贪婪、分而治之、递归回溯、启发式、动态规划、分支和绑定) 解释系统组件如何有助于提高性能;了解阿姆达尔定律及其局限性;设计和进行性能实验;使用软件工具分析和衡量程序性能 理解、应用和分析表达计算时的状态机和状态机 了解GUI和用户界面的基本概念;了解建模和仿真的基础知识 在版权、专利和商标作为保护知识产权的机制的概念,在这些机制的法律背景下进行对比;理解,分析和评估技术决策中的道德/社会权衡,评估利益相关者的立场