Programming Languages
link Origem: www.coursera.org
list 10 sequencias
assignment Nível: Introdutório
chat_bubble_outline Idioma : Inglês
card_giftcard 640 pontos
Avaliações
-
starstarstarstarstar
Ver avaliação

Informações principais

credit_card Free accesso
verified_user Certificado gratuito
timer 80 total de horas

Sobre o conteúdo

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 Ler mais
more_horiz Ler menos
dns

Programa de estudos

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

Instrutores

  • - Computer Science & Engineering
store

Criador do conteúdo

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

Plataforma

Coursera

A Coursera é uma empresa digital que oferece um curso on-line massivo e aberto, fundado pelos professores de computação Andrew Ng e Daphne Koller Stanford University, localizado em Mountain View, Califórnia.

O Coursera trabalha com as melhores universidades e organizações para disponibilizar alguns dos seus cursos on-line e oferece cursos em várias disciplinas, incluindo: física, engenharia, humanidades, medicina, biologia, ciências sociais, matemática, negócios, ciência da computação, marketing digital, ciência de dados. e outros assuntos.Cours

Você é o criador deste MOOC?
Qual a sua apinião sobre esse recurso?
Conteúdo
5/5
Platforma
5/5
Didática
5/5