Made by 晚安浩宇
本学期有两门学科基础课(DI12009 和 DI12010),两门公共基础课(DI11022和DI12001):
DI11022 – English for Academic Skills II 学术英语II
DI12009 – Java Programming(with English) Java程序语言
DI12010 – Elementary Data Structures and Algorithms 数据结构与算法导论
DI12001 – Calculus II 微积分II
以下内容均为23届情况,往后届应该会有变动,内容仅供参考
以下内容均为23届情况,往后届应该会有变动,内容仅供参考
以下内容均为23届情况,往后届应该会有变动,内容仅供参考
以下内容均为23届情况,往后届应该会有变动,内容仅供参考
以下内容均为23届情况,往后届应该会有变动,内容仅供参考
Year 24-25的教师情况:
DI11022 – Benjamin Markey or Yangzi (UoD)
DI12009 – Pardis Biglarbeigi and Karen Petrie (UoD)
DI12010 – Daniel Rough and Karen Petrie (UoD)
DI12001 – 邓又军(CSU)
注:本学期是我个人认为进入大三学位年之前最难的一个学期,请务必打起十二分精神认真对待,合理利用GPT和规划自己的时间,不听无用的水课是你这个学期制胜的关键。
这个学期相较于大二任何一个学期难的原因是Java和数据结构两门课各占8周但却有4个个人Assignment,2个团队Assignment/Project和一个Final Project 和 Exam,平均每两周就要有一次Assignment并且Java的结课项目是整个大一大二最难的,对刚适应一个学期的计算机新生极其不友好。更别说你们还得浪费时间上一周四节的无用英语课,还要处理穿插的Calculus考试。
在开始介绍之前请看这段话:
Hi, I am afraid at DIICSU you cannot retake any modules you have passed. Any that you fail and resit are capped to at D3. This is the UK QA regulations. We are governed by both UK and China QA.
However, the 1st year does not count to your degree classification in the Dundee system. So, you can use that classification to apply for further study (especially if you plan to study internationally).
(Petrie,2024)
我们学院,邓迪大学和整个英国的大学都被英国的教育体制管控,意味着我们无法重修任何一门我们已经通过的课程。所有未通过课程经过补考通过最终成绩也会被锁定在D3,因此各位学弟学妹请对自己负责,尤其是在这个最难的学期,不要像我一样留下遗憾。
1. 学术英语II
本人在这门课取得了A1,A1,C2,C2的成绩,最终分数是B1,以下仅代表个人观点
课程要求:
请查阅Student Hand Book P33-34 (23届是这个号码,24届不知道是不是)的English for international student 的部分:
HandBook上对每一个学生的学术英语I和II课程要求就是你需要不迟到,积极投入每一门课,完成相应的课后作业(其实完全没必要)并且在最后的考试中通过听说读写的每一项。如果有任何一科得到了F,都会因此被送到暑期学校进修。暑期学校的最终考核就是你的Resit Exam(补考),如果补考中又有任何一科未通过,会导致你需要重修这一门课并无法进入大二。
但是我的感受就是听了一个学期的课不知所云,并且考试和课上教的完全没关系。课上教的一部分东西也并没有什么用,当然仁者见仁智者见智,如果觉得想提升学术英语水平可以翘课去做题然后看一看每周的Materials就行。
Assignments:
本学期这门课不设占分的Assignment,所有老师学期中布置的作业都是为了让你更好的掌握学习的内容。
但是我的感受是上学期因为会考Process Writing作业还有点用这学期布置的作业是真的鸡肋。
学期末会分为RLSW四项考试,每门考试单独计分,最终的Overall分数由四项各占25%生成。
注意:
虽然Hand Book上说这门课不会计入你的邓迪学年分数,你在Evision中看到的每项也只是P或者F,但是这门课最后四项考试合成的分数等级会转化为中南的分数并计入中南的加权平均分。而且四项中有任何一项未通过会判定整门DI11022课程未通过,导致中南教务系统里你的分数锁定为59,比如听读写都拿了A1,说这一项未通过,也会导致分数锁定为59(不知是真是假,但是听我朋友提起过,如果不对可以在下方评论区指出)再加上这门课6个学分,超过了四年任何一门专业课,请务必认真对待。
Reading and Listening Exam:
我们这一届的阅读和听力考试分开来考,每门都是1h。题型上大致和IELTS相似(题量上有删减),阅读是考两篇阅读,听力考三篇听力。23届的这两门比较简单(可能是因为上学期的教学事故)
难度上23届的大致规律是如果听力难阅读就会简单,反之亦然。
备考上的建议是请把备考这门课和备考6级区分开,并且在听说读写这四门中着重备考这两门。因为这两门考试的差距能拉很大,从A到D甚至F都有可能。想要两门都冲A1的可以试着以备考雅思的标准要求自己,如果雅思的R和L两门都能取得8.0以上的分数那么问题就不大了。不建议以托福的标准备考,但是如果托福这两门能取得28(阅读)和25(听力)的分数,那么也问题不大了。
上课对这两门课的备考基本没用,我两门都是A1的原因是我备考了一段时间的TOEFL
不课下去做点题这两门考试期末只能抱佛脚了。
Writing Exam:
我们这一届的选题是:你认为STEM中的哪一科能够更好的帮助中国在2050年之前达到碳中和。字数控制在900-1100字之内。
选一个你最拿手的即可,没必要另辟蹊径。M是最难写的,T是最好写的。由于我在这个学期还没有学会用ChatGPT,所以idea都需要自己想。有ChatGPT后你们可以让他给你们一些写的启发。
1000字虽然看起来很多,但是如果熟练一点都不难,正文可以借鉴我写GRE的Analytical Writing的结构:Idea + Explanation of the idea + Examples + Explanation of the examples,例子和解释可以占很多字。同时解释的时候正反结合确保思辨性。
有一整个学期的时间供你写,完全够你写得完。学期中会穿插两次提交草稿,你的教授会根据两次草稿给你宝贵的建议。建议Java课上完后就开始写,把握每次提交后获得宝贵反馈的机会!写完后可以给ChatGPT润色再提交,同时可以交给Grammaly检查语法/词汇拼写/结构/风格和Reference格式。可以提前提交几次到Turnitin中看查重率
请不要让GPT帮你写,避免学术不端!!!
Paraphrase 和direct citation上学期教过了,记得捡起来。
不要拖到最后几天再写,反正早晚都得写不是吗。
GPT很重要,如果像我一样这个时候不会用那只能和我一样和无头苍蝇一样到处找辅证的材料了。找辅证材料请不要到Dundee Library里面去找,里面的材料都太深了而你要论证的点又太浅了
Speaking Exam:
我们这一届的选题是“介绍你上学期上的任意一门项目课的基本信息,完成项目的过程并谈谈你在项目课中收获了什么”,做一个有时间限制的英文presentation
首先要明确的是,Speaking考试是所有考试里最先考的,并且PPT会先于考试几天前要求提前提交,所以请做好时间规划。提交后的PPT就不能再修改了,确保自己PPT上没有错误,In-text Citation 和Reference格式都正确。
其次,务必注意内容上有侧重,基本信息和完成项目的时间应该是简略的,而做项目的涉及理论以及项目完成后的心得,自己下次怎么做会更好才是应该重点讲的。Presentation的时间很短,记得一定要把握好时间分配,超时会被扣分,超时太多则会被直接叫停。
PPT不需要做的很精美,只需要把自己需要讲的东西完整的呈现出来即可。模板不宜选太黑太淡的颜色避免看不清
其他注意事项:
1.这门课作为基础必修课,对绩点和通往大二的重要性不言而喻。曾经张珊珊老师也和我们说过学期末的考试委员会会对每一个学生的成绩进行调整以符合正态分布曲线,对于一些相对不那么重要的考试如果F了可能会进行一些调整。但是英语II作为基础课F了就是F了,没有任何商量的余地。
2.虽然这门课很重要,但是上课水的很。平时也只需要每天按照备考IELTS的要求学两个小时英语就完全足够了
3.备考建议优先Reading 和Listening,Writing和Speaking压分很严重,据Yuan An教授说W和S这两项取得C2就已经很优秀了,C1极其稀少。但是我推测如果用GPT润色你写完的Writing部分的 Report可以冲到B3上下。
2 Java程序设计
大一大二最难的一门课,没有之一。难得我现在想起来都头疼。
在这里还是劝所有学弟学妹:
请务必务必在寒假和期末就开始提前预习,这里推荐黑马程序员的Java网课,一直学到后面100多集的类和对象才能保证第一天上课能跟上。
请不要指望依靠老师或者课件,上课认真听就能听懂项目就能做的会是不可能的。
请不要想着个人作业DDL前突击学一下再赶作业,会导致自己什么也没有学会从而在最后的Scrabble项目中垮台
请不要想着做完一个Assignment就休息几天,知识的殿堂没地方纪念你所取得的成就
当然如果你是超级大佬可以当我没说
课程时间表:
1-3周:Object-oriented Analysis and Design(OOAD)初步
4-7周:简单的Java语法和继承Inheritance,Java中文件读写和错误处理。第一个数据结构Array
学习内容
• 面向对象分析设计初步知识(OOAD)
• Java基础语法和部分
• 面向对象两大特性:封装Encapsulation和继承Inheritance
Assignments:
在 Year 24-25 中,本课程共有4个Assignment:Assignment1,Assignment2,Assignment3分别占20% 和最后的Scrabble Project 占40%
Group Assignment 1 – Scrabble OOAD
团队项目, 4人,无需 Pre
提交内容:对最终Scrabble大项目OOAD后写成 Report,教授规定了要提交几项以及对应的评分规则。制定的规则并不需要和你最后做的Scrabble项目保持一致。
Assignment 内容:
对本门课最后要做的项目Scrabble进行提前OOAD分析,方便后续项目的类建设。整个报告会要求提交Use Cases和Requirement Specification和User Interface等部分
注意:
• 第一个Assignment 之前建议先在B站上看黑马程序员看到类和对象这部分,不理解什么是类和对象就学习面向对象分析设计犹如空中楼阁。
这部分的知识应该是大二下学期的DI22010才会教。现在教只能教一个大概,所以做也只能做个大概。有需要可以向我索要DI22010的课件自学,也可以通过GPT修改自己写的东西。Use cases 和 Requirement Specification 这两块要写很多很多很多东西,不早点开始写不完。
• 不得不吐槽英国人组织课程内容的思路,Pardis Biglarbeigi告诉我们一般中国教授会先教一些Java基础语法的东西,他们觉得太low了
所以直接开教面向对象分析设计,再教Java语法
但是连类和对象都没有在代码中理解深刻怎么能学得会面向对象分析设计??
为数不多的Java基础学习时间就在教OOAD中失去了八分之三,还让我们啥也没学会
• 第二周就会要求提交这个Report,所以当你进入学校第一天就应该开始认真学Java语法和OOAD,有余力请务必提前完成这个作业然后开始往下自学Java,否则后面根本没有时间学习了。接下来的每一个Assignment如果也只是用ddl的标准要求自己那基本就是要歇菜了。
Individual Assignment 2 and Individual Assignment 3:
个人项目,无需 Pre
提交内容:代码打包(包括源代码+可执行文件)+ Report
Assignment 内容:
第二个Assignment考察对Object-Oriented Programming (OOP)的熟练程度,截止时间在第四周。
第三个Assignment则是考察对控制结构和静态变量,静态方法的熟练掌握。掌握Static关键字的本质很重要。截止时间在第八周
注意:
• 这两个个人Assignment的难度都不大,请务必确保自己上传的时候每一个Assignment的源代码和可执行文件都上传了,缺一不可!(我就在这里吃过亏)
• 每个Assignment算上学习+做项目只有两周时间,而且还要提前完成去规划后面的大项目Scrabble,请务必务必不要松懈。
• 请务必提前完成这两个Assignment,然后一直往后学,不要想着做完Assignment就休息一段时间,更不要想着截止时间几天前才开始学,这样突击学习只会让自己什么都学不到而疲于应付这两个Assignment。最好的情况是Assignment3发布两天后就做完提交然后开始和组员规划最后一个Scrabble怎么做
• PPT作用有限,上课作用更有限,请务必课下去B站上自学
• 你当然可以用GPT帮自己写代码,但是自己什么也学不到。所以最好还是让GPT给自己一段思路或者只让帮写一段代码(一个算法或者一个类的建设)
Group Final Project – Scrabble
团队项目,4人,无需 Pre
其实也有一个Pre,但是那个更像一个汇报,汇报自己在这个大项目中做了什么,开发了什么。
提交内容:项目源代码 + 可执行文件 + Report
整个大一大二最大的项目,没有之一。第二大的可能是大二你们会遇到的Manchester Baby,但是我认为Manchester Baby也没有这个Scrabble一半大。
首先要明确的点是可能以后你们面对的纸笔考试,上课内容和PPT全部掌握拿A问题就不大了。但是对于所有的项目,指望上课内容和PPT就足够解决是不可能的。
这个项目很难的一点是要做出一个GUI供人机交互,还要提供一个字典检索你的单词是否正确拼写。
很难很难很难,建议和自己组员提早三周甚至四周开始。你们会写很多类,很多方法,并把它们合在一起,同时不断修改BUG。过了那么久直到现在我都觉得这个项目我做不出来。
一点感想:
这门课是我所有专业课里学的最差的一门课,甚至直接导致我对Java丧失热情,觉得大二的C++比Java好学100倍。
这门课最大的难度就是时间很少,中间的事又多。一定要在前5周认真学Java的内容,不懂得可以去问GPT,GPT是你最好的老师。
这门课的迷惑内容组织顺序也是一个很大的槽点(没有教Java基础语法就开始教类和对象到OOAD+ 8周速成Java并完成3个Assignment和一个难度很大的小型游戏项目+还要应付第一次Calculus随堂测试)对大一还没完全适应的计算机学生是很难的,前八周请务必保持12分的精神对待这门课和另一门Calculus II
前面的OOAD内容可以不听,专心学Java编程知识,第一个作业可以让GPT和你一起做,拿个A就行了,这部分内容强行塞到这门课里本来就不合理。而且我实在不理解本来就不够的时间怎么能花上三周在这个地方。
完整的OOAD内容你们会在大二下半学期的DI22010学,到时候你们会有充分的16周时间探索所有类图,Use Cases,Requirement Specification和STRIDE威胁分析等内容。
3 数据结构与算法导论
这门课相比较Java轻松了很多,毕竟没有Scrabble这种玩意。认真对待拿A不难。
Daniel教授讲话很清晰没有口音,而且特别认真负责。(他的评语是所有教授里最长的,特别认真细致指出我做的作业里的不足和提升方向,用词也很温柔)
虽然这门课叫数据结构与算法,但是完全没有算法的内容,也不会涉及到算法。算法和复杂度的内容会正式的在大二的DI21011多范式编程和DI22010算法与人工智能教。
本学期涉及到了线程Thread的概念,但是讲的也很笼统很浅,会在大二的DI22004 计算机系统2B的OS部分完整的教
课程时间表:
9周:链表(Linked List)
10周:栈(Stack)
11周:队列(queue)
12周:集合(Set)和递归(Recursion)
13周:二叉树(Binary Tree)
14周:线程(Threads)和GUI
15-16周:做项目和复习期末考试
Assignment:
两个个人Assignment各占10%,一个团队项目占30%,和一个期末考试占50%
Individual Assignment 1 and Individual Assignment 2:
个人项目- 无需pre
提交内容:
作业源代码Source code + 可执行文件 + Report
Assignment 内容:
Assignment 1 会要求用栈做一个RPN Calculator,其中RPN(Reverse Polish Notation)用栈实现的原理上课会讲,只需要用Java实现即可,会涉及到Java实现链表和栈,并用栈建立Calculator的接口。
Assignment 2我印象比较浅,只想起来涉及到HashSets,具体描述是这样的:
This assignment addresses the following learning outcomes of this module:
• To be familiar with how to work with Sets and HashSets.
• To learn how to use Java collection classes
• To learn how to generate random numbers
• To improve general coding, like refactoring code, method calling, loops and exception handling.
注意:
1.虽然只占10%的比例,但是不能不认真对待,毕竟这是一次锻炼的机会,而且在大二多范式课程中你们会遇到甚至只占5%的个人代码作业。
2.链表,栈,队列,哈希表都是很重要的数据结构,建议去B站看看黑马的Java描述数据结构的网课。
3.Java里没有指针,指针在Java中已经明确的被删掉(封装起来),但是你们用Java实现数据结构的接口的时候会涉及到指针这个概念,而没有学过C的你们是没有接触过的。
CSU计算机专业是先教C再教Java,而我们学院和UoD搞特殊先教Java。
建议提前去了解。
Group Project – Real-World Problem Solving
团队项目,3人,无需 Pre
提交内容:项目源代码 + 可执行文件 + Report + Pre
Assignment 内容:
自己选定一个生活中的问题并用Java编程做一个软件解决。
先做一个团队Pre(9 min),几天后提交Report和项目代码包。
可发挥空间很大
注意:
1.Presentation的Slide要提前提交,记得注意Pre的时间限制。
2.英语占分和代码占分50%, Pre和Report又各占英语的分数50%
3.做好时间规划,尽量提前提交,这个项目提交后的不到五天时间就是期末考试了。
期末考试:
闭卷,纸笔,忘记多少时间了但是至少100分钟
考察所有学过的数据结构(链表,栈,队列,二叉树)和学过的递归,线程和GUI
只要把PPT上讲的全部搞懂,老师发的Lab全部做完问题就不大了。
我们这一届不会考察代码,因为Karen说我们的代码考察都在Java考察完了,这门课的考试是考察数据结构的基本概念和一些工作原理。
会考概念题,比如请你简要说明二叉树是一种什么数据结构。
我们这一届还考到了错误类型和错误处理方式
我们这一届不难,Karen说她不希望任何一个人Fail this exam. 拿A很容易。
临近考试前Karen还给我们发了模拟卷帮助我们查缺补漏,务必珍惜这些资料,这样好的资料上了大二就再也不会有了。
4. 微积分II
这门课也很让人无语。我们这一届第一学期Chris教的微积分I非常简单,拿A很容易,只需要把课内资料全部搞懂,Workshop题目搞懂就行了,结果这一学期直接就是开始改革,Workshop里的题完全不够,难度大跨越
课程内容就是高等数学的微积分里面的一小部分,完全可以去听宋浩老师的课,刷一些高数里的微积分题,课内资料是不够的,对自己的要求高一点。
Assignment:
两个Class Test 和一个Final Exam,其中Class Test每个占25%,Final Exam占50%。
写在最后:
I have a dream that one day every valley shall be exalted, and every hill and mountain shall be made low, the rough places will be made plain, and the crooked places will be made straight, and the glory of the Lord shall be revealed and all flesh shall see it together.
我希望有一天,幽谷弥合,高山夷平,歧路化坦途,曲径成通衢,圣光披露,满照人间。
祝学弟学妹们都能在这个最艰难的学期取得最优异的成绩。
格式借鉴于WatercoFire学长的:计算机专业 第二学年第一学期 课程学习指南