2024-2025-1 20241310 《计算机基础与程序设计》课程总结

每周作业汇总

1.第一周作业
1.基于VirtualBox虚拟机安装Ubuntu图文教程安装Linux系统 2.快速浏览一遍教材《计算机科学概论》(第七版) 3.学习并掌握进制转换操作 4.学习别出心裁的Linux命令学习法,掌握Linux命令的学习方法,并初步学习一些Linux指令
作业链接

2.第二周作业
计算系统
作业链接

3.第三周作业
数字、进制
作业链接

4.第四周作业
门与电路、基本算术运算
作业链接

5.第五周作业
语言、输入输出
作业链接

6.第六周作业
算法、选择结构
作业链接

7.第七周作业
栈、队列、树、循环控制结构与循环语句
作业链接

8.第八周作业
函数
作业链接

9.第九周作业
内存管理、分配、数组
作业链接

10.第十周作业
信息管理、电子制表、数据库管理系统、大数据、指针
作业链接

11.第十一周作业
网络、字符串
作业链接

12.第十二周作业
指针与数组关系
作业链接

13.第十三周作业
结构体
作业链接

14.第十四周作业
文件
作业链接

实验

1.【实验一】Linux 基础命令实践
2.【实验二】基本控制结构编程练习
3.【实验四】函数与数组编程练习
4.【实验六】文件与结构体编程练习
5.【实验七】缓冲区溢出实验
6.【实验八】基于 LAMP 部署 WordPress

整体评价一下第1周作业中自己提出的问题是不是抓住了学习重点

只抓住了一部分,当时大致浏览一遍书还是太表面了。
回答一下第1周作业中自己提出的问题

1. 如何区分计算工具和计算学科

  • 计算工具:是用于执行计算任务的软件或硬件工具,如计算器、编程语言、软件应用(如 Excel、MATLAB)。
  • 计算学科:是研究计算理论、方法和技术的学科,包括计算机科学、算法、数据结构、计算复杂性等。

2. 如何描述位置计数法

  • 位置计数法:是一种数字表示法,用于表示数字在某个基数下的位置。例如,在十进制中,每个数字的位置代表其权重(如个位、十位、百位),而在二进制中,数字的权重是2的幂。

3. 如何解释时间和空间视频压缩

  • 时间压缩:通过去除视频帧之间的冗余信息(如相邻帧的相似部分)来减少数据量。
  • 空间压缩:通过减少同一帧内的冗余信息(如相似颜色区域)来降低数据量。常见的视频压缩标准有 H.264 和 H.265。

4. 如何操作 S-R 锁存器

  • S-R 锁存器(Set-Reset Latch):有两个输入(S 和 R)和两个输出(Q 和 Q')。操作方式:
    • S=1, R=0: 设置 Q=1
    • S=0, R=1: 重置 Q=0
    • S=0, R=0: 保持状态
    • S=1, R=1: 不确定状态(通常不推荐使用)。

5. 如何解释嵌入式系统

  • 嵌入式系统:是专门设计用于执行特定任务的计算机系统,通常嵌入在其他设备中,如家电、汽车、医疗设备等。它们通常具有实时操作能力,资源有限。

6. 如何使用伪代码来描述算法

  • 伪代码:是一种用自然语言和结构化语法描述算法的方法,便于理解和实现。示例:
    FUNCTION FindMax(arr)
        max = arr[0]
        FOR each element in arr
            IF element > max THEN
                max = element
        RETURN max
    

7. 如何使用二分检索算法

  • 二分检索:用于在已排序数组中查找特定值。步骤:
    1. 设定两个指针,分别指向数组的开始和结束。
    2. 计算中间索引并比较中间值与目标值。
    3. 如果相等,返回索引;如果目标值小于中间值,则在左半部分继续查找;否则在右半部分查找。
    4. 重复直到找到目标值或范围为空。

8. 如何区分数组和列表

  • 数组:是一种固定大小的数据结构,存储相同类型的元素,支持快速随机访问。
  • 列表:通常是动态大小的数据结构(如链表),可以存储不同类型的元素,插入和删除操作更灵活,但随机访问速度较慢。

9. 如何运用面向对象设计过程

  • 面向对象设计:包括识别对象、定义类、设置属性和方法、设计类之间的关系(如继承、组合)。步骤:
    1. 确定需求和功能。
    2. 识别相关对象和类。
    3. 设计类的属性和方法。
    4. 实现类之间的关系。

10. 如何区分固定分区与动态分区

  • 固定分区:内存分区大小在系统启动时确定,无法调整,可能导致内存浪费。
  • 动态分区:根据进程需求动态分配内存,大小可变,更有效利用内存,但可能导致碎片化。

11. 如何描述目录树

  • 目录树:是文件系统中用于组织文件和目录的层次结构。每个节点代表一个文件或目录,根节点是最上层的目录,子目录和文件可以嵌套形成树状结构。

12. 如何描述数据库管理系统的元素

  • 数据库管理系统(DBMS)的基本元素包括:
    • 数据模型:定义数据的结构和关系。
    • 查询语言:用于操作数据(如 SQL)。
    • 数据存储:实际存储数据的方式。
    • 用户接口:与用户交互的界面。
    • 事务管理:确保数据一致性和完整性。

13. 如何解释图灵测试

  • 图灵测试:由阿兰·图灵提出,用于评估机器是否具有人类智能。测试要求机器能够在对话中让人类无法区分其与真实人类的区别。

14. 如何描述图形图像生成中的重要主题

  • 重要主题包括:
    • 渲染技术:将3D模型转换为2D图像的过程。
    • 光照模型:模拟光与物体的相互作用。
    • 纹理映射:将图像应用于3D模型表面。
    • 抗锯齿:减少图像边缘的锯齿状效果。

15. 如何解释域名系统

  • 域名系统(DNS):将域名转换为IP地址的系统,使用户能够通过易记的域名访问互联网资源,而无需记住数字IP地址。

16. 如何编写基本的 HTML 文档

<!DOCTYPE html>
<html>
<head>
    <title>我的网页</title>
</head>
<body>
    <h1>欢迎来到我的网页</h1>
    <p>这是一个基本的HTML文档示例。</p>
</body>
</html>

17. 如何定义密码系统

  • 密码系统:用于保护信息安全的技术,通常包括加密算法、密钥管理和身份验证机制,以确保数据在存储和传输过程中的机密性和完整性。

18. 如何探测出数据传输中的错误的方法

  • 错误检测方法
    • 奇偶校验:通过添加奇偶位来检测单个比特错误。
    • 循环冗余校验(CRC):通过数学算法生成校验码,检测数据块中的错误。
    • 哈希函数:生成数据的唯一哈希值,比较接收的数据与发送的数据哈希值。

课程收获与不足

收获
1.学到了计算机基本知识,从一个完完全全的计算机小白逐渐成长为对计算机有一定了解的学生,为计算机各种语言的学习打下了基础;
2.掌握了AI工具的正确使用方法,极大地便利了学习和生活;
3.非常全面地体验了计算机这门课程给我们带来的点点滴滴,不论是刚开学时ubuntu安装过程中不断的错误和焦头烂额地搜索改进方法进行补救,还是C语言学习时一行行重复敲下的代码,肌肉形成的基本命令的记忆,一次次编译错误和debug,又或是在oj平台不断刷题,看着wrong anwser的无奈,看着partly accepted的无奈和焦虑,看着accepted的欣喜,这一点一滴都是我在计算机这门课程投入的精力和心绪,都是痛并快乐的回忆。
不足
1.对AI的依赖度有点高;
2.有时候确实太懒,oj平台经常是一次刷完或是刷抄一周的量,而不是天天刷一点。

给开学初的你和学弟学妹们的学习建议

1.get笔记
2.bot.360.com
3.多敲代码,惟手熟尔;
4.有难以解决的问题不妨上csdn看看,这个东西肯定都要用很多很多次。

问卷调查

你平均每周投入到本课程多长时间?
15小时

每周的学习效率有提高吗?
有但不多

学习效果自己满意吗?
还挺满意,每次学到的新东西都是给自己的赞歌

课程结束后会继续一周至少一篇博客吗?(如果能做到,毕业时我把你的博客给你集结成一本书送给你作纪念)
有点难,如果有时候突然想分享点东西肯定是会写的,但没法保证一周至少一篇

你觉得这门课老师应该继续做哪一件事情?
每周博客园

你觉得这门课老师应该停止做哪一件事情?
希望每周博客园的提醒不要再给我的邮箱发十几条作业通知了,一条够了

你觉得这门课老师应该开始做什么新的事情?
感觉可以试着让AI将每节课堂讲的内容整理出来,但不要太充分,留给同学自己查询学习的空间

总结

路是自己摸索出来了,热爱追求知识的自己,热爱学会借助外界工具辅助学习生活的自己,永远不要孤军奋战。
听风晓月,执梦而行,成为自己的勇者,不惧一切挑战,踏浪而行,直达彼岸!

最后本文链接和二维码附上

感谢热爱生活的每一个你!

posted @ 2025-01-05 20:22  诺奇布卡  阅读(89)  评论(0)    收藏  举报