UNSW课程简评|COMP3121/9101

UNSW课程简评|COMP3121/9101
最新回答
绿梦与我

2022-04-24 01:30:36

UNSW课程简评:COMP3121/9101

课程名称

  • COMP3121: Algorithms and Programming Techniques (本科生)
  • COMP9101: Design and Analysis of Algorithms (研究生)

前置课程

  • 本科生:COMP1927 或 COMP2521
  • 研究生:COMP9024

每周上课时长

  • 2个2小时的lecture

作业布置与评估

  • 每两周布置一次书面作业(biweekly written assignment),共4次,每次占10%
  • 期末考试(final exam),占60%

讲师

  • A.Prof. Aleksandar Ignjatovic

课程难度:3.5/5

课程简评

课程内容与特色

  • 专注方法论与算法思想:这门课与其他计算机科学课程显著不同的是,它主要聚焦于算法的分析与设计方法,而非编程实践。整个课程下来,学生几乎不需要编写一行代码。
  • 全面的算法覆盖:课程大纲涵盖了算法分析的基础(如时间和空间复杂度分析)、经典算法(如分治法、贪心法、动态规划、网络流算法、字符串匹配算法等),以及线性规划和难解问题与近似算法等高级主题。尽管最后两个主题讲解较少且未在作业和考试中考察,但整体内容仍相当全面。

学习体验与难度

  • 理论与实践结合:老师通过丰富的例题来讲解每个算法的应用,帮助学生理解算法背后的思想和解决问题的策略。即使某些算法(如最大流算法)较为复杂,学生也能通过套用lecture中的模板来解决问题。
  • 作业与考试形式:作业和考试均要求学生用英文描述解法,并交代时间和空间复杂度,无需编写代码。这种形式既考察了学生的算法理解能力,又锻炼了他们的英文表达能力。然而,据后来者反映,作业难度有所增加,需要更多的思考和讨论。

学习建议

  • 加入课程交流群:强烈建议学生加入课程的messenger group chat,以便与同学讨论作业、分享资源和解题技巧。这些讨论往往能提供额外的解题思路,甚至找到与作业题目相似的tutorial questions及其解答,作为写作业时的参考。
  • 重视例题与模板:由于课程侧重于算法思想早竖而非编程实践,学生应重视lecture中的例陵睁激题和解题模板。通过反复练习和模仿,可以加深对算法的理解和应用能力。
  • 合理安排时间:虽然作业不需要编写代码,但思考和描述解法同样需要时间。因此,学生应合理安排时间,确保有足够的时间来思考和完成作业。

总结:COMP3121/9101是一门专注于算法分析与设计的课程,适合对算法尺袜理论感兴趣的计算机科学学生和软件工程学生选修。通过这门课程,学生可以深入了解各种经典和高级算法的思想和应用,提升算法分析和设计能力。虽然课程难度较高,但通过加入课程交流群、重视例题与模板以及合理安排时间等方法,学生可以成功掌握课程内容并取得好成绩。