CS学生的学习成果

Part I: Goals for all HMC students’ computer science education

  1. All HMC students will demonstrate the skill of designing, 实现, documenting and testing their own programs and algorithms in order to complete computational tasks. 

所有HMC学生应该能够: 

  • 将问题分解为子问题, create solutions from subproblems and compose solutions to solve composite problems.
  • Design, implement and execute algorithms in a programming language.
  • Write clear, appropriate and concise documentation for their programs.
  • 测试软件的正确性. 
  1. All HMC students will appreciate the breadth of computer science as a field of study, as well as the breadth of CS’s connections to other fields.

所有HMC学生应该能够: 

  • Describe relationships between computer science and at least three distinct non-CS fields. 
  • Articulate some of the big questions, answers and ideas of computer science, e.g., (un)computability, 模型 of computation and execution efficiency.
  • Explain the relationships among a number of major sub-disciplines within computer science.
  1. All HMC students will be able to apply and further develop their computational skills outside the classroom.

所有HMC学生应该能够: 

  • 应用 computational skills to explore problems of personal or professional interest.
  • Perform experiments using computational tools, 包括指定一个假设, 收集和分析数据, 清晰地展示结果.
  • Adapt and extend their computational skills to new contexts as needed in their post-HMC path (e.g., 使用不同的编辑器/IDE, finding and using appropriate code libraries, learning a new programming language or computational workflow).                                                                

Part II: Goals for the computer science major at HMC

  1. All CS majors will demonstrate competencies drawn from the core of the discipline of computer science. 除了, students will be comfortable and competent with a variety of computing paradigms, 平台, 和环境.

所有HMC CS专业学生应该能够: 

  • Design an algorithm to solve a problem and reason about properties such as correctness, 案例完备性和时间复杂性.
  • 从非正式的开始, 用英语描述问题, give a fully formal computational description of it and prove something about the behavior of the system.
  • Describe the high-level behaviors that occur in the execution of a computer program, recognizing the layers of abstraction involved, including those facets of the system not fully understood. 
  • 应用 computational foundations to a variety of advanced CS topics.
    • 演示硬件设备, software and computing paradigms commonplace in academic and professional workplaces.  This includes designing and writing substantial code corpora in many different general-purpose languages (e.g., C++, Python, Java, Haskell, C, assembly) as well as special-purpose/domain-specific languages.
    • Succeed at first-rate graduate schools in CS and related disciplines; and/or at companies, labs and other institutions with leadership roles in the field of computing.
  1. All CS majors will be able to apply computational and social skills to real-world problems. 

所有HMC CS专业的学生都可以: 

  • Purposefully and positively engage with project stakeholders outside the HMC community.
  • Identify strategies for solving an open-ended problem that are ethical, 可行的, 增加价值, and which are based on pertinent background research and appropriate design.
  • 交付专业的工作产品, 包括设计, 模型, software prototypes/products and documentation.
  • Attend to relevant project trade-offs along dimensions such as performance, 可用性, 鲁棒性, 安全性和耐久性. 
  • 理解, 影响, and adapt to non-computational constraints and opportunities that accompany a computational project, including ethical considerations and possible impacts on society. 学生 will defend their decisions to peers and colleagues.
  1. All CS majors will have professional skills in writing, 视觉和口头陈述, both in academic coursework and in open-ended clinical practice.

所有HMC CS专业的学生都可以: 

  • Verbally present to  professional and lay audiences about a computational challenge, their approach to addressing it and their results.
  • Demonstrate team-interaction skills on an open-ended computational project satisfying both internal and external stakeholders.
  • Write about computational systems and principles, using language suitable for technical and nontechnical audiences as appropriate.
  • Explain the appropriateness of alternative computational-system designs with respect to the social context in which the system would be used.

The CS department revised these goals and outcomes in May of 2021. To create these revisions, we read and researched many other schools’ SLOs.  Many of these SLOs have been inspired by and borrow from those. Particular borrowing – and outright homage – comes from Harvard’s “plain-language” SLOs.