通过考试通过计算机科学课程

如HMC目录所示, a student may satisfy a course by ‘excellence’ on an exam (where ‘exam’ could mean an actual test or project or a combination of both). 这样的行动有两个可能的积极结果.

  • The student may both fulfill the requirement for that course and receive corresponding unit credit. 例如, doing all the homeworks and doing well on the exam in CS X may both fulfill the CS X requirement and provide 3 unit credits. 成绩单上的成绩栏显示为" EX. 学生在毕业前得到单位, but there is no grade filed and the units are therefore not factored into the student’s GPA.
  • 学生只能完成课程要求. In this case, no unit credit is received but the requirement for this course is waived (e.g. 如果该课程是专业必修课). 这在注册商的内部记录中被列为“WV”, 但根本不会出现在学生的成绩单上.

在一般情况下, the 计算机科学系 feels that “placing out” of courses is appropriate only when a student has such extensive previous academic or practical experience with the material that a review would not be a productive use of their time. 这种情况很少见.

Petitions to place out of upper-level CS courses based on prior experience should be submitted to the chair of the computer science department. 在入门顺序中安排课程的具体规则(cs5), CS 60, and CS 70) appear below; for CS 60 and 70, 重要的工作和重要的事先通知是必需的.

 Advisors will jointly help the student plan a program tailored to the student’s interests and goals.

排在CS5之外

学生 cannot place out of CS 5, and the department does not waive the CS 5 requirement for CS 60.

“我已经学过计算机科学入门了,为什么不能直接跳到下一门课呢?” The answer is that a substantial subset of topics and experiences in HMC’s CS 5 courses are not part of introductory CS paths elsewhere. 例如, cs5包括(a)用领域特定语言(Picobot)解决问题, JSFLAP), (b)真值表, 小项扩张, 与逻辑门的组合数字设计, (c) problem-solving at the processor-instruction level (the Hmmm subset of all assembly languages), (d)有限状态机和图灵机(以及, 取决于不同的部分, 优化这些机器以提高效率), (e)不可计算. 这些主题在介绍性经验中并不典型,而是形成一个中心, 在HMC的学生和教师CS社区分享经验.

排在CS60之外

Placing out of CS 60 requires nontrivial work and the process spans more than a semester. 具体地说, placing out not only requires a student to take the final exam at its regularly scheduled time, but also to create and submit both a pre-final-exam portfolio and a post-final-exam portfolio. 只有学生的家乡大学是HMC可以排除在cs60之外.

  1. Before the start of the semester in which a student would like to proceed with the place-out process, the student submits a short petition to the department that declares their intention of placing out and explains the prior experience(s) that justify placing out. If the department agrees that the student’s prior experience(s) justify beginning the place-out process, 将为该过程指派一名教员联络人.
  2. By the midpoint of the semester in which the student begins the place-out process (i.e. 上半学期课程结束前), the student should submit to the faculty liaison a portfolio of Java and Racket projects they have authored. 这些可以是学术性的, 个人, 或者是专业性质, 但不应包括cs60的作业(过去或现在的课程). The goal of this portfolio is to show such substantial prior knowledge and confidence with object-oriented programming, 函数式编程, and basic data structures such that even taking CS 60 as a review would not be worthwhile.
  3. After the portfolio is submitted and at least one week before course preregistration, a faculty member (typically the liaison) will meet with the student to ask questions about the portfolio and about CS 60 course topics. 这次会议的目的, 不要超过20-30分钟, 是为了确保参加期末考试对学生来说是值得的吗. 如果得到批准, 学生将能够预先注册,或者如果适用的话, pre-place—for future CS courses under the presumption that they will have finished CS 60 before the start of the next semester.
  4. 在获得作品集和口试的批准后, the student will take the regularly-scheduled final exam with the students in that semester’s CS 60 course.
  5. 如果考试的结果表明你的能力很高, 联络人会要求你提交期末考试后的作品集, cs60作业的一个子集, 至少在下一学期开始前一周完成. The post final-exam portfolio ensures that some of the important shared experiences from CS 60 are also part of the passing-out student’s background.
  6. 如果期末考试后的作品集按时提交,并被认为是足够的, the student will have passed out of CS 60 with a passed-by-exam grade and 3 HMC credit-hours.

排在CS70之外

The process for placing out of CS 70 is very similar to the process of placing out of CS 60 above (in terms of timeline and milestones), 随着课程内容的不同,细节也有所变化:

  1. Before the start of the semester in which a student would like to proceed with the place-out process, the student submits a short petition to the department that declares their intention of placing out and explains the experiences they have had through which they have become effective C++ programmers and effective pair programmers. 这次请愿的目的有两个:第一, 让系里知道有学生要昏倒了, 和第二, 该太阳2注册平台将评估CS 70的中心优先事项之一, 有效的结对编程实践, 已经是学生背景的一部分了吗. If the department agrees that the student’s prior experience(s) justify beginning the place-out process, 将为该过程指派一名教员联络人.
  2. By the midpoint of the semester in which the student begins the place-out process (i.e. 上半学期课程结束前), the student should submit to the faculty liaison a portfolio of C++ projects they have authored. 这些可以是学术性的, 个人, 或者是专业性质, 但不应包括CS 70的作业(过去或现在的课程). The goal of this portfolio is to show such extensive prior experience with C++ and data structures such that even taking CS 70 as a review would not be worthwhile. 请注意,CS 70的一个重要方面是专业编程测试, style, and documentation; these facets of the portfolio, 太, 会被考虑.
  3. After the portfolio is submitted and at least one week before course preregistration, a faculty member (typically the liaison) will meet with the student to ask questions about the portfolio and about C++, 太阳2注册平台CS 70涵盖的数据结构和渐近复杂性, 以及CS 70所强调的专业编程实践的其他方面. 这次会议的目的, 不要超过20-30分钟, 是为了确保参加期末考试对学生来说是值得的吗. 如果得到批准, 学生将能够预先注册,或者如果适用的话, pre-place—for future CS courses under the presumption that they will have finished CS 70 before the start of the next semester.
  4. 在获得作品集和口试的批准后, the student will take the regularly-scheduled final exam with the students in that semester’s CS 70 course.
  5. 如果考试的结果表明你的能力很高, 联络人会要求你提交期末考试后的作品集, CS 70作业的一个子集, 至少在下一学期开始前一周完成. The reason for this post final-exam portfolio is to ensure that some of the important shared experiences from CS 70 are also part of the passing-out student’s background.
  6. 如果期末考试后的作品集按时提交,并被认为是足够的, the student will have passed out of CS 70 with a passed-by-exam grade and 3 HMC credit-hours