unTymen's blog

溺 | 于深海呼吸


  • 首页
  • 归档
  • 关于本人
  • 分类
  • 标签
  •   

© 2025 Cannoy

Theme Typography by Makito

Proudly published with Hexo

计算机基础课程

发布于 2025-05-04 计科  语言基础 

对于计算机科学(CS)专业的学生来说,软件工程师是最主要的职业发展方向之一。

一个优质的大学课程体系,必须为学生提供能够让其在职业生涯中取得成功所必需的关键能力。

众所周知,软件开发领域瞬息万变。如果课程过分追随当前的行业趋势,所学内容很可能在学生毕业之前就已经过时。

一个优秀的课程体系应当着重强调那些具有广泛适用性的核心理念,使学生能够灵活地适应在未来工作中出现的全新技术。与此同时,还需要教会学生如何思考软件本质,以及如何系统地解决问题。

这正是东北大学现行课程体系一直在努力实现的目标。

目前的计算机科学基础课程(简称Fundies)通过教授系统化的程序设计,为解决陌生问题提供了一套行之有效的方法论。

这种方法的核心在于,将复杂问题分解成小而可行的步骤,特别是在动手编写代码之前,先要求学生深入思考问题的本质。

诸如Fundies 1、Fundies 2、「面向对象设计」和「软件开发」这样的核心课程,着重培养的便是学生对代码的思考能力,而不是简单地堆砌代码。

Fundamentals of Computer Science 1 | CS2500 Fall 2024 - Fundamentals of Computer Science (Fundies) 1

不可否认,没有课程体系是完美的。

常有计算机科学专业的学生会抱怨,「为什么Fundies 1教的是Racket,而不是Python这种更『实用的语言』」。

需要强调的是,Fundies课程的重点并不是教Racket,而是培养可以应用于任何编程语言的程序设计能力。而Racket只是实现这一目标的教学工具而已。

实际上,一个在Fundies课程中掌握了核心概念的学生,完全可以轻松地将这些能力迁移到Python,或者其他任何语言当中。

况且,在科技行业瞬息万变的今天,仅仅开设教授Python的课程真的明智吗?毕竟,说不好哪天就会有另一种语言占据主导地位了。

课程体系的设定,应该更关注那些经得住时间考验的原则,而非追逐短暂的技术潮流。

https://huntnewsnu.com/82511/editorial/op-eds/op-ed-northeasterns-redesign-of-the-khoury-curriculum-abandons-the-fundamentals-of-computer-science/

分享到 

 上一篇: 梁文锋的60条思考 下一篇: 2050@2025 

© 2025 Cannoy

Theme Typography by Makito

Proudly published with Hexo