Merge 687f31c852 into 0e793039d8
This commit is contained in:
commit
1b2bfccce9
|
|
@ -0,0 +1,23 @@
|
|||
# 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**
|
||||
- **作业:** 每周作业基于教材,难度逐渐递增,帮助掌握设计模式。
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
# CS2500: Fundamentals of Computer Science 1
|
||||
|
||||
### Descriptions
|
||||
- **Offered by:** Northeastern University
|
||||
- **Prerequisites:** High school arithmetic and algebra
|
||||
- **Programming Languages:** Racket
|
||||
- **Difficulty:** 🌟🌟🌟
|
||||
- **Class Hour:** Approx. 60 hours
|
||||
|
||||
### Evaluation for course: A Modern Approach to Systematic Program Design
|
||||
If the best course for introducing structured program design is SICP, then CS2500 is its modern counterpart. The course, also known as "Fundies 1", is inherently different from most other Lisp or Racket programming materials found online. CS2500 does not require programming experience and is suitable for both professional and non-professional learners.
|
||||
|
||||
CS2500 introduces students to functional programming through a systematic, design-oriented approach, emphasizing correctness, efficiency, and elegance. Blending theory with practical applications, it covers recursion, data structures, algorithms, and test-driven development. The design recipes help students build progressively complex, maintainable programs.
|
||||
|
||||
Aligned with *[How to Design Programs](https://htdp.org/2022-8-7/Book/part_prologue.html)*, it promotes program design as a core skill akin to math or language. Instructors **Arjun Guha** and **Nate Derbinsky** deliver accessible lessons for beginners, building programming skills through structured, practical exercises. This course advocates that *everyone can design programs* and that the act of design offers satisfaction and creativity. Similar to learning mathematics or language, CS2500 teaches universal problem-solving skills that are applicable across various fields.
|
||||
|
||||
|
||||
### A Brief History of CS2500
|
||||
CS2500 is an integral part of Northeastern’s computer science curriculum and has evolved from the foundations laid by **MIT’s Structure and Interpretation of Computer Programs (SICP)**. The course draws heavily on *[How to Design Programs](https://htdp.org/2022-8-7/Book/part_prologue.html)* by **Matthias Felleisen**, systematically teaching program design from the ground up. Over the years, CS2500 has been continually refined to remain relevant with modern practices in software engineering, focusing on program correctness, maintainability, and scalability.
|
||||
|
||||
This philosophy resonates with **Realm of Racket**, a beginner-friendly book that captures the uniqueness of learning Racket. The book, written "by freshmen, for freshmen," follows Chad as he embarks on his journey to discover the meaning of life and programming through Racket, highlighting the creative and powerful nature of this unique programming language.
|
||||
|
||||
### Course Resources
|
||||
- **Course Website:** [Fundamentals of Computer Science 1 - Fall 2023](https://pages.github.khoury.northeastern.edu/2500/2023F/)
|
||||
- **Recordings:** [Course Videos](https://www.ccs.neu.edu/home/nderbinsky/fundies1/)
|
||||
- **Textbook:** *[How to Design Programs](https://htdp.org/2022-8-7/Book/part_prologue.html)* by **Matthias Felleisen**
|
||||
- **Assignments:** Weekly assignments are provided in the course and based on concepts from the textbook. They range in difficulty, and encourage mastery of design recipes.
|
||||
|
||||
Loading…
Reference in New Issue