Programming Languages
link 来源:www.coursera.org
list 10个序列
assignment 等级:入门
chat_bubble_outline 语言:英语
card_giftcard 640分
评论
-
starstarstarstarstar
0条评论

关键信息

credit_card 免费进入
verified_user 免费证书
timer 80小时总数

关于内容

Investigate the basic concepts behind programming languages, with an emphasis on the techniques and benefits of functional programming. Use the programming languages ML, Racket, and Ruby to learn how the pieces of a language fit together to create more than the sum of the parts. Gain new software skills and the concepts needed to learn new languages on your own.

more_horiz 查看更多
more_horiz 收起
dns

课程大纲

Note: About half the students completing prior offerings report an estimated workload of 8-12 hours / week is accurate while most of the other half spent more time -- 15 hours / week or more. Workload naturally differs for different people depending on one's background. Do see the recommended-background section below.

Topics (most of which may not mean anything to you until you take the course):

  • Syntax vs. semantics vs. idioms vs. libraries vs. tools
  • ML basics (bindings, conditionals, records, functions)
  • Recursive functions and recursive types
  • Benefits of no mutation
  • Algebraic datatypes, pattern matching
  • Tail recursion
  • First-class functions and function closures
  • Lexical scope
  • Currying
  • Syntactic sugar
  • Equivalence and effects
  • Parametric polymorphism and container types
  • Type inference
  • Abstract types and modules
  • Racket basics
  • Dynamic vs. static typing
  • Laziness, streams, and memoization
  • Implementing languages, especially higher-order functions
  • Macros
  • Eval
  • Ruby basics
  • Object-oriented programming is dynamic dispatch
  • Pure object-orientation
  • Implementing dynamic dispatch
  • Multiple inheritance, interfaces, and mixins
  • OOP vs. functional decomposition and extensibility
  • Subtyping for records, functions, and objects
  • Subtyping
  • Class-based subtyping
  • Subtyping vs. parametric polymorphism; bounded polymorphism
record_voice_over

教师

  • - Computer Science & Engineering
store

内容设计师

University of Washington

Founded in 1861, the University of Washington is one of the oldest state-supported institutions of higher education on the West Coast and is one of the preeminent research universities in the world.

assistant

平台

Coursera

Coursera是一家数字公司,提供由位于加利福尼亚州山景城的计算机教师Andrew Ng和达芙妮科勒斯坦福大学创建的大型开放式在线课程。

Coursera与顶尖大学和组织合作,在线提供一些课程,并提供许多科目的课程,包括:物理,工程,人文,医学,生物学,社会科学,数学,商业,计算机科学,数字营销,数据科学 和其他科目。

您是 MOOC 的设计者?
您对这门课的评价是?
内容
5/5
平台
5/5
动画
5/5