备案号:辽ICP备19007957号-1
聆听您的声音:feedback@highmark.com.cn企业热线:400-778-8318
Copyright ©2015- 海马课堂网络科技(大连)有限公司办公地址:辽宁省大连市高新技术产业园区火炬路32A号创业大厦A座18层1801室
这篇文章就来好好扒一扒 CSCB07,帮你搞清楚这门课是干嘛的、学什么、怎么考、难在哪儿,以及怎么才能考高分,让学统计、机器学习和数据挖掘的同学们提前做好准备。

课程代码:CSCB07
课程名称:Software Design
开课院系:计算机科学系
适用专业:
统计学专业
统计机器学习与数据挖掘方向
计算机、数据科学交叉方向
注意!CSCB07 不是那种随便写写代码就能过的入门课,它更强调软件工程的思想、系统设计的能力和代码的质量。对统计专业的同学来说,这是个不小的跨学科挑战。
CSCB07 不会只教你用某种编程语言,而是教你一套系统的软件设计方法论,主要包括:
怎么合理地创建类和对象
继承、多态、接口怎么用
怎么划分抽象层级
SOLID 原则
常见的设计模式(比如 Factory、Observer、Strategy)
怎么分析可扩展性和可维护性
模块之间怎么解耦、怎么管理依赖关系
分层架构怎么设计
大型项目怎么规划结构
单元测试
Debug 和代码重构
代码规范和文档怎么写
学了这些,对以后同学们做机器学习系统、搭建数据管道、做科研项目都很有帮助。
每个学期可能会稍微有点不一样,但一般包括:
编程作业(占比重)
不是写几个小程序就完事,而是要做比较大的项目
更看重设计逻辑,而不是简单的功能实现
项目 / 小组项目
要模拟真实的软件系统
需要团队合作
期中 / 期末考试
考理论,也考设计思路分析
比如 UML 图、设计原则、代码阅读理解
对统计专业的同学来说,考试的时候“解释设计思想”可能比写代码还难。
很多学统计的同学以前主要用 R / Python 做数据分析,CSCB07 更强调工程级的代码和结构设计。
考试和作业经常会让你:
设计一个系统结构
分析为什么要这样设计
比较不同方案哪个更好
这对没学过计算机的同学来说不太容易。
CSCB07 的项目很大,需要不断迭代。要是前期设计没做好,后期改起来会非常麻烦。
建议大家在开课前先搞清楚:
OOP 的基本概念
UML 类图
常见设计模式怎么用
动手之前先想清楚:
类之间是什么关系
模块的边界在哪儿
哪些地方可以扩展
每次提交之前检查一下设计是不是太复杂,用单元测试来验证逻辑是否正确。
学好 CSCB07,以后才能更好地:
实现机器学习系统
把数据挖掘项目工程化
写出高质量的毕业论文代码
学完 CSCB07,你可以:
从只会“写脚本”变成能“做系统”
把算法变成可维护的软件
在科研、实习和找工作的时候展现你的工程能力
这也是多伦多大学把 CSCB07 列为必修课的原因。
能,但需要多花时间补习软件设计基础。这门课对算法要求不高,更看重设计逻辑和工程思维。
两者都重要。作业和项目偏实践,但考试会考很多设计原则、架构分析和抽象思维。
对跨专业的学生来说,CSCB07 更有挑战性。常见的问题不是代码写不出来,而是设计思路不符合评分标准。
有的。像海马课堂这样的平台,专门做留学生课程辅导,可以针对 CSCB07 的作业、设计模式和考试题型进行一对一讲解,特别适合学统计和机器学习的同学补习软件工程知识。
阅读原文:https://www.highmarktutor.com/news/30737_59.html
版权作品,未经海马课堂 highmarktutor.com 书面授权,严禁转载,违者将被追究法律责任。
备案号:辽ICP备19007957号-1
聆听您的声音:feedback@highmark.com.cn企业热线:400-778-8318
Copyright ©2015- 海马课堂网络科技(大连)有限公司办公地址:辽宁省大连市高新技术产业园区火炬路32A号创业大厦A座18层1801室
hmkt088