Programming Languages, Part B

starstarstarstarstar 0 rates
The course focuses on functional ideas and language constructs using ML, Racket, and Ruby. It encourages thinking beyond the syntax of a single language.
Programming Languages, Part B — functional thinking and constructs
Platform:
COURSERA
Partner courses:
Language of course:
English
Subtitles:
Difficulty:
Medium
Format of the event:
Video lectures
Certificate:
Yes
Price
Free
Add to collection
you haven't created a collection yet
Add Collection
+

Course overview

Description generated based on course syllabus and open data.

Overview: programming languages, Part B

This material centers on core concepts of software languages and the functional style. Examples in ML, Racket, and Ruby highlight semantics, abstractions, and composition, showing how language constructs shape the design of correct and concise programs. Completing Part A beforehand is recommended.

Who it suits / who it does not — programming languages, Part B

Suitable for

  • Learners with basic coding experience seeking structured understanding of programming languages;
  • Those interested in functional paradigms (pure functions, recursion, immutability);
  • Anyone valuing correctness, composability, and stylistic consistency;
  • Students exploring ML, Racket, Ruby or cross-language comparisons.

Not suitable if

  • A zero-experience beginner path is required;
  • A narrowly practical, framework-centric focus is expected instead of language concepts;
  • Only language-specific instructions are needed without cross-language perspective.

Problem → outcome for software languages (Part B)

Problem

  • Fragmented syntax knowledge without semantic or abstraction awareness;
  • Difficulty designing correct and maintainable programs;
  • Carrying habits from one language without adapting to others.

Outcome

  • Systemic view of language constructs (higher-order functions, types, modules, closures, pattern matching);
  • Ability to compare ML, Racket, and Ruby and select appropriate abstractions;
  • Thinking via specifications, invariants, and composition rather than syntax details.

Comparison with alternatives in programming languages

  • Single-language tutorials: quick start but limited transfer → here the focus is on general ideas that work across coding languages.
  • Language-specific docs: comprehensive references but little cross-language insight → here emphasis is on comparing ML, Racket, Ruby.
  • Pattern lists without theory: provide recipes but not reasons → here concepts are tied to semantics and correctness.

Learning outcomes after covering the material — programming languages, Part B

  • Understanding functional style: immutability, recursion, composition;
  • Practice with abstractions: closures, higher-order functions, modules and interfaces;
  • Comparing semantics and idioms of ML, Racket, Ruby;
  • Analyzing correctness, invariants, and contracts in code;
  • Generalizing approaches to more quickly approach new programming languages.

Course Description

This course will give you a foundation for understanding how to use language constructs effectively and how to develop correct and elegant programs. By using different languages, you will learn to think more deeply than in terms of the specific syntax of one language.

Evaluation

Only authorized users can leave reviews and rate
Log in »

Recommended Courses


Python Developer

GoIT

7 months

Free

No-code Developer

GoIT

3 months

Free

Python + Ai

improveme


19814 hrn.
0 Reviews
Improveme.Tech
Terms of use
Privacy Policy
© 2022-2026 Improveme.Tech
With the support of the web studio "Site Made in Odessa"
×
×