# CS2500:计算机科学基础1 ### 课程简介 - **提供方:** 东北大学 - **先修课程:** 高中算术和代数 - **编程语言:** Racket - **难度:** 🌟🌟🌟 - **课时:** 约60小时 ### 课程评价:现代系统化编程设计方法 CS2500被称为“Fundies 1”,无需编程经验,适合专业与非专业学习者。课程采用系统化的设计方法,强调正确性、效率和优雅性,理论与实践结合,涵盖递归、数据结构、算法及测试驱动开发。设计模式帮助学生构建复杂且可维护的程序。 该课程基于*[How to Design Programs](https://htdp.org/2022-8-7/Book/part_prologue.html)*,鼓励将程序设计作为核心技能。讲师**Arjun Guha**和**Nate Derbinsky**为初学者提供清晰易懂的课程。该课程倡导*人人都能设计程序*,设计的过程充满创造性和满足感。类似于学习数学或语言,CS2500教授通用的跨学科问题解决能力。 ### CS2500的历史 CS2500源于**MIT的《结构与解释计算机程序》(SICP)**,并以*[How to Design Programs](https://htdp.org/2022-8-7/Book/part_prologue.html)*为蓝本,逐步教授程序设计。从设计到现代软件工程,课程历经多年改进,强调程序的正确性、可维护性和可扩展性。 ### 课程资源 - **课程网站:** [CS2500 - Fall 2023](https://pages.github.khoury.northeastern.edu/2500/2023F/) - **课程视频:** [视频链接](https://www.ccs.neu.edu/home/nderbinsky/fundies1/) - **教材:** *[How to Design Programs](https://htdp.org/2022-8-7/Book/part_prologue.html)*,作者 **Matthias Felleisen** - **作业:** 每周作业基于教材,难度逐渐递增,帮助掌握设计模式。