Programming Languages
link Source: www.coursera.org
list 10 sequences
assignment Level : Introductory
chat_bubble_outline Language : English
card_giftcard 640 points
Users' reviews
-
starstarstarstarstar
0 reviews

Key Information

credit_card Free access
verified_user Free certificate
timer 80 hours in total

About the content

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 Read more
more_horiz Read less
dns

Syllabus

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

Instructors

  • - Computer Science & Engineering
store

Content Designer

University of Washington

The University of Washington is a public research university in Seattle, Washington. Founded on November 4, 1861 as Territorial University, Washington is one of the oldest universities on the West Coast and was established in Seattle about a decade after the city's founding.

The university has a 703-acre main campus located in the city's University District, as well as campuses in Tacoma and Bothell. Overall, UW comprises more than 500 buildings and more than 20 million gross square feet of space, including one of the world's largest library systems with more than 26 academic libraries, art centres, museums, laboratories, lecture halls and stadiums.

Washington is the flagship institution of Washington State's six public universities. It is renowned for its medical, technical and scientific research.

assistant

Platform

Coursera

Coursera is a digital company offering massive open online course founded by computer teachers Andrew Ng and Daphne Koller Stanford University, located in Mountain View, California. 

Coursera works with top universities and organizations to make some of their courses available online, and offers courses in many subjects, including: physics, engineering, humanities, medicine, biology, social sciences, mathematics, business, computer science, digital marketing, data science, and other subjects.

You are the designer of this MOOC?
What is your opinion on this resource ?
Content
5/5
Platform
5/5
Animation
5/5