2023-2024 20231329 《计算机基础与程序设计》第1周学习总结

作业信息

 
 
这个作业属于哪个课程<https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP>
这个作业要求在哪里<https://www.cnblogs.com/rocedu/p/9577842.html#WEEK01>
这个作业的目标<快速浏览一遍教材计算机科学概论,课本每章提出至少一个自己不懂的或最想解决的问题并在期末回答这些问题>
作业正文

## 教材学习内容总结

## 教材学习中的问题和解决过程

计算机科学与概率

第一章:计算机系统的分层,计算机的历史(每个时代都以用于构建硬件的元素和为了让用户更好的利用这些硬件而开发的的软件工具为特征)

问题:抽象以何种形式存在在平常,如何体现?

第二章:区分各个数字的分类,计算(任何用位置计数法表示的数都可以进行算术运算)

问题:各个进制的运算如何灵活运用?

第三章:区分数据是连续的和离散的,图形的矢量表示法,数字化图像与图形(GIF文件最适合用于颜色较少的图形和图像)

问题:如何区分矢量图形和光栅图形数据压缩和技术发生的变化?

第四章:门与电路,电路由门组成,电信号都有电平(根据信号的电平区分信号的值)各个门的种类及构造

问题:如何绘制与门和或门晶体框图并解释处理原理?

第五章:学习计算机各个部件,学习冯·诺伊曼体系结构(内存,算数逻辑单元,输入设备,输出设备,控制单元)

问题:如何把程序的概念和冯·诺伊曼的读取执行效应周期联系在一起?

第六章:计算机的基本操作,机器语言(一系列用二进制编写的指令) Pep/8指令编写程序 伪代码(允许用户命名变量,把数值输入变量以及属性胡存储在变量中的值,使用伪代码还可以描述重复执行或选择的动作的算法)

问题:如何区分伪代码与伪操作?伪代码必要格式是什么?

第七章:问题求解和算法计算(提出问题,寻找熟悉的情况,用分治法解决产生的方案叫做算法),循环(计数控制循环,事件控制循环),数据(不可分割的和复合的)探索,递归算法

问题:如何运用算法和语句执行命令?

第八章:列表,栈,队列,树,图都是抽象复合结构 数学算法运用到图的信息中(广度优先搜索,深度优先搜索,单源最短路搜索)子程序声明使得子算法可以独立实现

问题:抽象的类型有哪些?             列表可以是树吗?列表可以是图吗?

第九章:面对对象方法(集体讨论,过滤,场景,责任算法)汇编器可以把汇编语言程序翻译成机器码,多种高级程序设计语言的模型(命令式,声明式)面向对象的程序刻画(封装,继承,多态)

问题:如何区分汇编器,编译器和解释器?             如何区分各个模型的种类?

第十章:操作系统的角色 CPU调度,多道程序设计,内存管理 进程,进程管理(这俩都需要CPU调度)批处理把使用相同或相似资源的作业组织成批

问题:三种内存管理技术是什么?从中总结出一种通用办法?

第十一章:文章系统(定义了组织二级存储设备的方式,二进制文件具有特定的格式,只有专用的应用程序才能处理)对文件执行操作(创建文件,删除文件,打开文件和关闭文件)

问题:三种磁盘调度的算法是什么?

第十二章:信息系统(帮助我们组织和分析数据的软件),包括电子制表软件(软件应用程序)和数据库管理制度。电子数据表具有多功能性和可扩展性。数据库管理系统包括存储的物理文件,支持数据访问,修改的软件以及指定数据库的逻辑布局的数据库模式 

问题:什么是数据库模式?描述关于数据库的一般组织形式?

第十三章:人工智能处理人类思想的建模和应用  人工神经元网络 自然语言处理操作 机器人学(固定机器人和移动机器人)

问题:两种机器人的具体操作是什么?人工神经网络的通用性?

第十四章:模型是计算的一个主要领域(连续模拟和离散模拟) 计算机图形学 计算机游戏  

问题:游戏编程是否能在未来优化和修补?地震模型有什么用途?

第十五章:计算机网络及其各种类型 网络协议的分层

问题:什么是计算机网络?计算机网络是如何联系在一起的?

第十六章:Web网页依靠底层网络交换信息 cookie是Web存储在硬盘上的小文本文件

问题:internet与web区别是什么

第十七章:安全问题与密码 安全攻击 恶意代码(病毒,特洛伊木马,逻辑炸弹)杀毒软件 保护移动设备中的数据成为当前的问题

问题:灵活的移动计算设备在日后的安全问题是否能得到保障?网络安全问题能否彻底得到解决?

第十八章:如何解决计算机中存在的错误?多项式时间算法

问题:如何更好的规避软件错误?如何在软件中发现潜伏在我们还没有发现的其他的bug?

 

## 基于AI的学习

计算机网络是如何联系在一起的?

AI:计算机网络是通过各种通信设备和协议将多台计算机连接在一起,实现彼此之间的数据传输和通信。

 

如何更好的规避软件错误?

AI:要更好地规避软件错误,可以采取以下几种策略和措施:

1.设计和规划阶段

2.清晰定义软件需求和目标,确保开发人员对软件功能和预期结果有清晰的理解。
3.使用可靠的设计原则和最佳实践,例如模块化、高内聚低耦合、单一责任等,以降低代码复杂性和错误的产生。
4.进行系统性的架构设计,避免软件设计中的局限性和风险,如零件失效、系统瓶颈等。

5.好的编码实践

6.使用编码规范和标准,确保代码易于理解、可维护和可扩展。
7.进行代码审查和静态代码分析,及时发现和修复潜在的错误。
8.使用适当的命名约定和注释,使代码易于理解和阅读。
9.尽量避免使用过时的技术和方法,选择可靠、经过验证的代码库和框架。

10.测试策略和实践

11.执行全面的单元测试和集成测试,确保各个模块和组件的正确性和互操作性。
12.采用自动化测试工具和技术,提高测试效率和准确性。
13.进行负载和性能测试,以确保软件在正常和高负载条件下的可靠性和性能表现。
14.引入用户反馈和用户体验测试,及时发现并解决用户可能面临的问题。
15.定期进行安全性测试,确保软件对潜在的安全漏洞和攻击有所防范。

16.持续集成和交付

17.使用持续集成和交付工具,确保代码的频繁集成和部署,及时发现和解决错误。
18.进行版本控制和追踪,及时回滚错误版本。
19.监控软件运行时的性能和行为,检测潜在的错误和异常情况。
20.收集和分析运行时数据,发现和解决潜在的性能问题和瓶颈。

21.学习和改进

22.建立学习型团队和组织文化,鼓励团队成员相互学习和分享经验。
23.定期进行项目回顾和总结,识别错误的原因和导致因素,采取改进措施。
24.寻求专业咨询和培训,保持对软件开发领域的最新知识和技术趋势的了解。

最重要的是,规避软件错误需要持之以恒的努力和不断的改进。保持高度的专业素养、持续的学习和协作精神,能够显著减少和规避软件错误的产生。

 

## 其他感悟

计算机课程是一门有意思的学科,增加了阅历,在今后学习中希望能够更加严谨谨慎的学习这门课程

 

 

## 学习进度条 | | 代码行数(新增/累积)| 博客量(新增/累积)|学习时间(新增/累积)|重要成长| | -------- | :----------------:|:----------------:|:---------------: |:-----:| | 目标 18个问题 用时2h

 

## 参考资料 - [《计算机科学概论》](https://book.douban.com/subject/26877745/) 

 
posted @ 2023-09-29 17:59  20231329向鲸凝  阅读(48)  评论(0编辑  收藏  举报