Skip to main content

Course: Programming Languages

Descriptions

  • Offered By: University of Washington
  • Prerequisites: How to Code (Check OSSU for details)
  • Programming Languages: N/A
  • Language: English
  • Class Hour: N/A
  • Projects: N/A
  • Exercises: N/A
  • Difficulty: N/A
  • Depth: N/A
  • Breadth: N/A

Course Reviews

  • Makes one able to skim through programming languages documentation easily as most concepts are taught. Course leans more to CS than to SW as it teaches Functional Programming. Have medium-sized projects.

Course Resources

  • Programming Languages, Part A: Link
  • Programming Languages, Part B: Link
  • Programming Languages, Part C: Link

Topics Covered

  • programming concepts:
  • Mutation
  • References/Pointers: (Pairs, Tuples, Records)
  • Polymorphism (Functional, OOP, Bounded), Datatype Binding,
  • Type Inference (Implicit Typing, Explicit Typing),
  • Weak Typing, Strong Typing
  • Duck Typing, Method Overriding
  • Dynamic Dispatch
  • Double Dispatch
  • Interpreter
  • programming paradigms: (functional programming, OOP)
  • functional programming:
  • Recursion
  • Mutual Recursion
  • Tail Recursion
  • Shadowing
  • Case Expression (AKA Pattern Matching)
  • High Order Function, map, filter, fold, lexical scope, dynamic scope, Stream, Lazy Evaluation, Eager Evaluation, Memoization, Tokenization
  • Subtyping (Functional Sutyping, OOP Sutyping), Generics
  • ML-family languages (via Standard ML)
  • Lisp-family languages (via Racket)
  • OOP
  • Ruby`:
  • Classes
  • Object State
  • Arrays
  • Blocks
  • Hashes & Ranges
  • Subclassing: (Inheritance in java)
  • Mixins
  • universal libraries`: (File Stream, I/O Stream, Math)
  • tools`: (Read Evaluate Print Loop (REPL), Debugger)





Is something broken? Please open an issue!