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

发布时间 2024-01-07 19:51:09作者: 苦瓜。20231323

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

作业信息

所属课程 2023-2024-1-计算机基础与程序设计
作业要求 2023-2024-1计算机基础与程序设计第十五周作业
作业目标 课程总结
作业正文 本博客链接

每周作业链接汇总

  • 第一周:
    简要内容:快速浏览教材《计算机科学概论》,提出自己的疑惑并在后续的学习中试图解决。了解计算机科学的各个方面,对计算机科学有了一个整体的初步的认识。

  • 第二周:
    简要内容:数字化、信息安全与自学教材《计算机科学概论》《C语言程序设计》。

  • 第三周:
    简要内容:学习进制转换与数据表示法。

  • 第四周:
    简要内容:自学教材《计算机科学概论》第4章,第5章,《C语言程序设计》第3章并完成云班课作业,学习了冯诺依曼结构,CPU,内存。

  • 第五周:
    简要内容:自学教材《计算机科学概论》第6章,《C语言程序设计》第4章并完成云班课测试,学习使用Pep/9虚拟机,机器语言与汇编语言。

  • 第六周:
    简要内容:学习了查找与排序算法,学习教材《计算机科学概论》第7章《C语言程序设计》第5章并完成云班课测试。

  • 第七周:
    简要内容:学习了数组与链表,基于数组和基于链表实现数据结构,无序表与有序表。

  • 第八周:
    简要内容:学习了语言的汇编、编译、解释、执行。自学教材《计算机科学概论》第9章,《C语言程序设计》第7章并完成云班课测试。

  • 第九周:
    简要内容:学习了CPU调度的计算方法,学习《计算机科学概论》第10,11章,《C语言程序设计》第8章并完成云班课测试。

  • 第十周:
    简要内容:自学教材《计算机科学概论》第12,13,14章《C语言程序设计》第9章并完成云班课测试。

  • 第十一周:
    简要内容:自学教材《计算机科学概论》第15,16章,《C语言程序设计》第10章并完成云班课测试,学习了有关网络和万维网的知识。

  • 第十二周:
    简要内容:自学教材《C语言程序设计》第11章并完成云班课测试。

  • 第十三周:
    简要内容:自学教材《C语言程序设计》第12章并完成云班课测试,学习了结构体和数据结构基础。

  • 第十四周:
    简要内容:自学教材《C语言程序设计》第13章,学习了与文件操作有关的相关内容。

实验

  • 实验一:通过熟悉操作系统基本命令,学会操作系统的使用
  • 实验二:基本控制结构编程练习
  • 实验四:基本控制结构考试
  • 实验六:文件及结构体编程练习
  • 实验七:缓冲区溢出
  • 实验八:Web部署

问题回答

问题1:计算机软件的开发从第一代到第五代的进化仅仅花了半个多世纪,那么第六代软件会向什么方向进化?
A: 人工智能和机器学习:第六代软件很可能在人工智能和机器学习方面取得更大的突破。软件将变得更加智能,能够自动学习和适应不断变化的环境。
量子计算:随着量子计算技术的发展,第六代软件可能会利用量子计算的能力,加速处理复杂问题,如模拟分子结构、优化算法等。
生物计算:生物计算是一个新兴领域,未来的软件可能会模仿生物系统的工作原理,将生物学的概念融入计算中,从而创造更加智能和自适应的软件。

问题2:二进制、八进制、十六进制之间是如何转换的,为什么会是这样转换?
A: 十进制到二进制:通过反复除以2,将余数从下往上排列即可得到二进制表示。
十进制到八进制:通过反复除以8,将余数从下往上排列即可得到八进制表示。
十进制到十六进制:通过反复除以16,将余数从下往上排列即可得到十六进制表示。其余的以此类推。
这些转换的原理基于各数制的基数关系。

问题3:在对文本、图像、视频等进行压缩时会不会有数据遗失或出错的情况,怎样高效又准确地压缩?
A: 在对文本、图像、视频等进行压缩时,通常会使用压缩算法来减小数据的存储空间或传输带宽。压缩算法的目标是在减小数据体积的同时,尽可能保留原始数据的信息。不同类型的数据压缩可能会涉及到数据的丢失或误差,具体取决于所使用的压缩方法。

问题4:门与电路是如何联系起来的?计算机如何控制电流?
A: 在计算机中,门用于执行基本的逻辑运算,而电路则将这些逻辑门组合在一起,构建出更复杂的电子逻辑功能,并通过电子元件中的电压和电流来进行控制和传输信息。

问题5:被储存在计算机部件里的信息怎样保证其安全性?
A: 访问控制,加密,物理安全。

问题6:伪代码在程序编写中扮演了什么角色?汇编语言程序设计十分烦琐,怎样才能更高效地学习该语言?
A: 伪代码在程序编写中扮演着指导性和描述性的角色。它不是一种具体的编程语言,而是一种类似自然语言的抽象描述方式,目的是帮助程序员理清思路、设计算法、或者进行程序逻辑的初步规划。理解计算机体系结构,选择合适的汇编语言,阅读文档和教材,实践编程,使用模拟器和调试工具,参与开源项目和社区,逐步深入。

问题7:计算机问题求解的过程是如何进行的?
A: 问题定义,分析问题,算法设计,编写代码,调试和测试,优化,部署和维护。

问题8:子程序与程序的关系是什么?抽象复合结构各自的优势是什么?
A: 子程序是程序中的独立单元,它执行特定的任务或完成特定的功能。程序可以被分解为若干个子程序,每个子程序负责完成一个独立的子任务。这种模块化的设计使得程序更易于理解、维护和扩展。 子程序可以在程序的不同部分被重复使用。这种重用性降低了代码的冗余性,同时也提高了代码的可维护性。一旦一个子程序被测试并证明可靠,它可以在其他地方被调用,而无需重新实现相同的功能。有助于提高代码的可维护性、可读性和重用性,从而更有效地组织和开发复杂的程序。

问题9:怎样分析对象的属性和行为?面向对象分解的四个阶段中哪一个最重要?
A: 属性:确定对象需要存储的数据。数据类型:定义每个属性的数据类型
行为:确定对象可以执行的操作或方法定义方法的输入参数和输出结果。
每个阶段都是设计过程中的关键步骤,但在一般情况下,识别类阶段通常被认为是最重要的。

问题10:CPU调度的作用是什么?不同的操作系统怎样选择合理的内存管理策略?
A: 提高CPU利用率,提高系统响应速度,公平分配资源,优化系统吞吐量。
Windows:虚拟内存系统和页面文件。
Linux:分页系统和交换分区。
macOS:XNU内核和内存压缩。

课程收获与不足

经过一学期的学习,学到了很多有趣的知识,但许多不了解的知识点,感觉到了计算机科学的魅力,还是要多实践、多思考。如果重新学习这门课程,我会在每周看书的时候,结合网上查阅的资料,视频一起学习,同时充分发挥AI的作用。

问卷调查

1、你平均每周投入到本课程多长时间?
5个小时左右
2、每周的学习效率有提高吗?
有在刻意提高
3、学习效果自己满意吗?
一般满意
4、课程结束后会继续一周至少一篇博客吗?(如果能做到,毕业时我把你的博客给你集结成一本书送给你作纪念)
可以试试,尽力做到。
5、你觉得这门课老师应该继续做哪一件事情?
考试前提供大纲,完善云班课作业上提供的参考链接的内容。
6、你觉得这门课老师应该停止做哪一件事情?
把云班课的测试题改为中文的,英文的题做的有点费劲。
7、你觉得这门课老师应该开始做什么新的事情?
通过一些新的方式让同学们对命令行有一定认识。