前言

CPT108,23-24开设的新课程数据结构与算法。
Programmes on which the module is shared:
BEng Computer Science and Technology

本课程设计之初对于学生能力的期望过高,在开课前几周进行了调整,将有难度的课题调整为大量的选学/不学内容。在教学上,能简就简,富有专业特色。导致在很多细节上不如国内的课本详实。本笔记的目标是不仅掌握课程内容,还尽量完成在课程中出现的所有选学内容。
简单回忆一下Final Exam,并没有难题,对概念考察也没有非常细致,1-15选择题30分,16-22问答题70分。
问答题全面考了从递归开始后面每一章的内容。
文字叙述最多的题目BFS和DFS的区别在上课也详细讲解了,在本笔记当然也提及到了。
Note by FancyTowa
2024/6/15
PS: 本笔记系列文件已上传至CPT108_23_24 的github项目,感兴趣请前往github查看。
下载请看github或者 onedrive
以下是第零章,后面不再在博客更新此内容。

Lecture 0 Course Introduction and Logistics

What is this course about?

▶更多关于组织、访问、管理的基本知识
数据和计算程序来操纵他们
▶触及了……的基本概念的基础
程序设计和算法分析
▶不同类型的数据
▶用于使用集合实现的数据结构
▶算法的复杂性和正确性
▶渐近分析
▶调整阵列大小
▶哈希
▶排序
▶搜索
▶etc
▶具有适当数据结构的算法的实现

What is this course NOT about?

▶编程语言
▶算法将使用简单的纯英语或伪代码
▶将伪代码转换成您最喜欢的编程程序集
▶语言应该是一项相当简单的任务
实际上,语言成为本课程最难的任务()

You preperation

你必须有编程基础,很酷不教你

Laboratories

每2周2h的lab

Tools Required

需要以下对应软件及版本(安装了不同版本很可能会出现不兼容)
1.JDK(学CPT111你肯定安装了)
2.Gradle lab采用Gradle (version 8.5) 下载
3.IDE:Eclipse lab采用2023-12 eclipse迭代很快,基本用最新版
提示:win+R
sysdm.cpl 系统属性(环境变量)
cmd 命令提示符
pkSfm7t.png
如果在网上搜索相关教程不了解的,建议参加W1的lab0,让老师和TA手把手教学,很容易就明白了。

Assessment

▶学期内评估:30%
▶实验室:18%(6×3%)
▶作业:12% (1-2个作业)
▶期末考试:70%

▶Resit考试:100%

目录

Lecture 1 Problem Analysis and Procedural Abstraction

Problem Solving and Program Development

– GOOD Programming practiceing&Bad Programming Practice

– Example课程里使用的示例 Java美元换人民币的程序制作

Program Debugging and Testing

– Review:Sources of errors

– Program Debugging and Testing(cont.)

– Alternate Program Design

– Procedural Abstraction Why?

Data Types an Scope of Variables

– Data Type

– Scope of variables