MOOC Review: Programming Languages

 

Course   information

Institution University of Washington
Course Programming Languages
Date Autumn 2013
Platform coursera
 

Course content

Topics 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

Higher-order functions; 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

Class-based subtyping

Subtyping

Subtyping vs. parametric polymorphism; bounded polymorphism

Format Lecture videos

Readings

Programming Assignments

Peer Assessments

Midterm Exam

Final Exam

Target group Beginner

Advanced

Expert

 

Workload

Length 11 weeks
Weekly workload 12 hours/week
 

Rating

Overall impression 9/10
Summary This course was really exciting. Dan Grossman has explained the background and ideas of programming languages by using three different programming languages: ML, Racket and Ruby. I manly use C# and therefore a static typed object oriented   language. By learning the concepts of these other languages I could increase my knowledge about programming languages and I have already used a lot of the learned topics in my daily business. I will recommend this course to each advanced software developer.
Advertisements
Dieser Beitrag wurde unter MOOC, Racket abgelegt und mit , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s