学期2021-2022-1学号20211412 《信息安全专业导论》第7周学习总结

作业信息

这个作业属于哪个课程 <班级的链接>(如2020-2021-1信息安全专业导论
这个作业要求在哪里 <作业要求的链接>
这个作业的目标 <写上具体方面>
学习目标
数组与链表
基于数组和基于链表实现数据结构
无序表与有序表
子程序与参数
学习资源
教材
阅读 「反作弊」:任何时候发现同学们有抄袭作业,抄袭代码的情况,即时课程总成绩清零
学习任务
加入云班课,参考本周学习资源

自学教材

计算机科学概论第8章 并完成云班课测试
《看漫画学Python》第8,11章并完成云班课测试
|作业正文|... 本博客链接 |

教材学习内容总结

抽象数据类型和子程序
抽象数据类型:属性(数据和操作)明确地与特定实现分离的容器
数据结构:一种抽象数据类型中的符合数据域的实现
栈和队列:两者经常被同时提及,但并不一样,栈只能从一端访问元素
队列的项目从一段入,从另一端出
链式结构:一个讲数据项和找到下一项位置的信息保存到同一容器的实现方法。
树:分层体系结构
二叉树 二叉检索树
图:由一组节点和一组把节点相互连接起来的边构成的数据结构
《看漫画学Python》第8
定义函数 语法格式 调用函数 关键字 参数默认值 可变参数
第11章
常用的内置模块
数学计算模块 各种运算函数
日期时间模块
正则表达式模块

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

堆、栈,队列,栈,树的理解和区别
(上网查找)
首先,堆和栈是内存分配上的区别,拿java来说jvm启动后会对所能调用的内存进行分配,分为程序计数器,栈,堆,方法区,方法栈五部分。在这里简单说下这五部分的作用。

   程序计数器:也称PC寄存器,类似与汇编语言中的寄存器,作用是保存当前执行指令的地址,java中多线程是分配cpu执行时间片给线程,当时间片很短时,就达到了多线程的执行效果。就是说一个cpu内核在某个最小时间片单位内只执行一个线程,为了能够使得每个线程都在线程切换后能够恢复在切换之前的程序执行位置,每个线程都需要有自己独立的程序计数器,并且不能互相被干扰,否则就会影响到程序的正常执行次序。所以pc寄存器是线程私有的。

栈:这个跟C语言中的栈是一样的,它可以看作是一个容器,先进后出,当执行一个方法时,会创建一个栈的单元,当方法执行完毕时,会将这个单元弹出,所以栈的顶部是程序正在执行的方法构建的单元。这也是我们用递归时容易导致内存溢出的原因。我们可以粗略的理解为它用来开辟变量,存储地址。而栈是不对程序员透明的。

堆:这块内存是所有线程所共享的,他存储的是一个个的对象,在栈中的变量存储的地址指向这些对象,而在java中如果这些对象没有被指向,那么会被jvm回收,这个时间是不确定的,这就是java和C的区别,C中你需要手动释放。
方法栈:可以看作是栈的一部分,因为在hotSopt虚拟机中将java栈和方法栈合二为一了。它的作用和栈是一样的,区别在于栈是执行java方法的,而方法栈是执行本地方法的。

方法区:用来存储每个类的类名、常量、方法信息、静态变量、编译后的代码等。

以上是jvm的内存分配。而栈和队列以及树是指数据结构。
栈::数据结构中的栈和内存中的栈形式是一样的,都是先进后出。
队列:先进先出 和栈一样都是线性结构
树 :树状结构,特点比较多,以后在进行分析记录
https://blog.csdn.net/xufenglai123/article/details/82117806

代码调试中的问题和解决过程


代码托管



上周考试错题总结

  • 错题1及原因,理解情况
    简单
    Which of the following is part of a Pep/9 program instruction?
    A.
    Accumulator
    B.
    Simulator
    C.
    Program counter
    D.
    Specifier
    E.
    正确答案: D
    下面哪个选项是Pep / 9程序指令的一部分 选择D程序计数器

Register2及原因,理解情况
Each machine language instruction performs a single complex task, such as sorting a list of numbers.
正确答案: 错误
每台机器语言指令执行一个复杂的任务,如排序的列表数据。

其他(感悟、思考等,可选)

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 2/2 10/10
第二周 200/400 2/4 12/22
第三周 400/800 3/5 12/34
第四周 400/1200 2/6 14/48
第五周 400/1600 4/10 12/60
第六周 400/2000 3/13 12/72
第七周 400/2400 4/17 12/84

(有空多看看现代软件工程 课件
软件工程师能力自我评价表
)

参考资料