Computer Science · Intermediate

Programming Languages

Compare paradigms, typing and execution, then explore introductory lessons on programming languages, mobile development, document formats, templates and specialist languages.

Computer Science program

Lessons
142
Study time
23h 40m
Level
Intermediate
Program
Computer Science

Sign in to open the lessons

142 lessons

Lessons, files and narration open after you sign in and buy the program. One payment opens every course in it.

Sign in to open a lesson. Buying the program opens every course and lesson in it, permanently.

About this course

Most developers are fluent in one language and trapped by it. This course is about the landscape: how languages differ in paradigm, typing and execution model; what actually happens between a source file and a running program; and how to read unfamiliar code and pick up the next language in weeks rather than years.

You will compare imperative, object-oriented and functional approaches to the same small problem, follow compilation and interpretation from tokens to instructions, and read a language you have never used with a method instead of panic. Typing — static and dynamic, strong and weak — is covered as a design trade-off you can reason about, not a war to pick a side in.

The project is deliberately uncomfortable: a small working service in a language you did not know at the start, reviewed by somebody who uses that language professionally.

Who this is for

  • You are comfortable in one language and want to work in others without starting from zero.
  • You are preparing for interviews that ask why a language behaves the way it does.
  • You teach or mentor and want to explain the fundamental differences accurately.

Before you start

  • Real experience in at least one language: variables, functions, loops, collections and error handling.
  • Comfortable reading documentation and working on the command line.
  • About five to six hours a week for two weeks, including the unfamiliar-language project.

Where it leads

  • Data Structures & Algorithms makes you effective in whichever language you choose.
  • System Design & Architecture is about the systems those languages build.
  • Breadth across languages is what makes you portable — for remote work, for platform teams, and for the moment a project's language changes.

Tools you will use

A code editor with support for several languagesAt least two runtimes installed — for example Python and Node.js, plus a compiled language such as Go or JavaA playground or REPL for quick experimentsA reviewer who knows your target language

What you will build

  1. 1A written comparison of three paradigms solving the same problem
  2. 2A traced example from source code to execution
  3. 3A reading log of an unfamiliar codebase, with the questions you had and the answers you found
  4. 4A study plan for your next language, listing the six things you always learn first
  5. 5A small working service in the new language, reviewed

Curriculum

8 modules · 142 lessons · 23h 40m

Sign in to open each lesson

Language introductions · General programming

First steps in widely used programming and query languages.

1. Python

An introduction to Python: what it is, how to think through an example, and a focused exercise.

10 min

2. JavaScript

An introduction to JavaScript: what it is, how to think through an example, and a focused exercise.

10 min

3. TypeScript

An introduction to TypeScript: what it is, how to think through an example, and a focused exercise.

10 min

4. Java

An introduction to Java: what it is, how to think through an example, and a focused exercise.

10 min

5. C

An introduction to C: what it is, how to think through an example, and a focused exercise.

10 min

6. C++

An introduction to C++: what it is, how to think through an example, and a focused exercise.

10 min

7. C#

An introduction to C#: what it is, how to think through an example, and a focused exercise.

10 min

8. Go

An introduction to Go: what it is, how to think through an example, and a focused exercise.

10 min

9. Rust

An introduction to Rust: what it is, how to think through an example, and a focused exercise.

10 min

10. Kotlin

An introduction to Kotlin: what it is, how to think through an example, and a focused exercise.

10 min

11. Swift

An introduction to Swift: what it is, how to think through an example, and a focused exercise.

10 min

12. PHP

An introduction to PHP: what it is, how to think through an example, and a focused exercise.

10 min

13. Ruby

An introduction to Ruby: what it is, how to think through an example, and a focused exercise.

10 min

14. Dart

An introduction to Dart: what it is, how to think through an example, and a focused exercise.

10 min

15. R

An introduction to R: what it is, how to think through an example, and a focused exercise.

10 min

16. Scala

An introduction to Scala: what it is, how to think through an example, and a focused exercise.

10 min

17. SQL

An introduction to SQL: what it is, how to think through an example, and a focused exercise.

10 min

18. Shell (Bash)

An introduction to Shell (Bash): what it is, how to think through an example, and a focused exercise.

10 min

19. Objective-C

An introduction to Objective-C: what it is, how to think through an example, and a focused exercise.

10 min

20. Perl

An introduction to Perl: what it is, how to think through an example, and a focused exercise.

10 min

21. Lua

An introduction to Lua: what it is, how to think through an example, and a focused exercise.

10 min

22. MATLAB

An introduction to MATLAB: what it is, how to think through an example, and a focused exercise.

10 min

23. Julia

An introduction to Julia: what it is, how to think through an example, and a focused exercise.

10 min

24. Elixir

An introduction to Elixir: what it is, how to think through an example, and a focused exercise.

10 min

25. Haskell

An introduction to Haskell: what it is, how to think through an example, and a focused exercise.

10 min

26. Clojure

An introduction to Clojure: what it is, how to think through an example, and a focused exercise.

10 min

27. F#

An introduction to F#: what it is, how to think through an example, and a focused exercise.

10 min

28. Groovy

An introduction to Groovy: what it is, how to think through an example, and a focused exercise.

10 min

29. Visual Basic .NET

An introduction to Visual Basic .NET: what it is, how to think through an example, and a focused exercise.

10 min

30. Assembly

An introduction to Assembly: what it is, how to think through an example, and a focused exercise.

10 min

Language introductions · Documents and data

Markup, document production and structured configuration formats.

1. HTML

An introduction to HTML: what it is, how to think through an example, and a focused exercise.

10 min

2. XML

An introduction to XML: what it is, how to think through an example, and a focused exercise.

10 min

3. XHTML

An introduction to XHTML: what it is, how to think through an example, and a focused exercise.

10 min

4. SGML

An introduction to SGML: what it is, how to think through an example, and a focused exercise.

10 min

5. Markdown

An introduction to Markdown: what it is, how to think through an example, and a focused exercise.

10 min

6. LaTeX

An introduction to LaTeX: what it is, how to think through an example, and a focused exercise.

10 min

7. TeX

An introduction to TeX: what it is, how to think through an example, and a focused exercise.

10 min

8. PostScript

An introduction to PostScript: what it is, how to think through an example, and a focused exercise.

10 min

9. Troff

An introduction to Troff: what it is, how to think through an example, and a focused exercise.

10 min

10. RTF

An introduction to RTF: what it is, how to think through an example, and a focused exercise.

10 min

11. YAML

An introduction to YAML: what it is, how to think through an example, and a focused exercise.

10 min

12. JSON

An introduction to JSON: what it is, how to think through an example, and a focused exercise.

10 min

13. TOML

An introduction to TOML: what it is, how to think through an example, and a focused exercise.

10 min

14. HCL

An introduction to HCL: what it is, how to think through an example, and a focused exercise.

10 min

Language introductions · Templates

Generate documents and interfaces by combining templates with data.

1. Jinja

An introduction to Jinja: what it is, how to think through an example, and a focused exercise.

10 min

2. Handlebars

An introduction to Handlebars: what it is, how to think through an example, and a focused exercise.

10 min

3. Mustache

An introduction to Mustache: what it is, how to think through an example, and a focused exercise.

10 min

4. Liquid

An introduction to Liquid: what it is, how to think through an example, and a focused exercise.

10 min

5. ERB

An introduction to ERB: what it is, how to think through an example, and a focused exercise.

10 min

6. Haml

An introduction to Haml: what it is, how to think through an example, and a focused exercise.

10 min

7. Pug

An introduction to Pug: what it is, how to think through an example, and a focused exercise.

10 min

8. Twig

An introduction to Twig: what it is, how to think through an example, and a focused exercise.

10 min

9. Blade

An introduction to Blade: what it is, how to think through an example, and a focused exercise.

10 min

10. Razor

An introduction to Razor: what it is, how to think through an example, and a focused exercise.

10 min

11. Thymeleaf

An introduction to Thymeleaf: what it is, how to think through an example, and a focused exercise.

10 min

12. Velocity

An introduction to Velocity: what it is, how to think through an example, and a focused exercise.

10 min

13. Smarty

An introduction to Smarty: what it is, how to think through an example, and a focused exercise.

10 min

14. EJS

An introduction to EJS: what it is, how to think through an example, and a focused exercise.

10 min

15. Nunjucks

An introduction to Nunjucks: what it is, how to think through an example, and a focused exercise.

10 min

Language introductions · Specialist languages A–L

A guided tour of specialist, historical and less common languages.

1. Ada

An introduction to Ada: what it is, how to think through an example, and a focused exercise.

10 min

2. APL

An introduction to APL: what it is, how to think through an example, and a focused exercise.

10 min

3. AWK

An introduction to AWK: what it is, how to think through an example, and a focused exercise.

10 min

4. Ballerina

An introduction to Ballerina: what it is, how to think through an example, and a focused exercise.

10 min

5. Bosque

An introduction to Bosque: what it is, how to think through an example, and a focused exercise.

10 min

6. Ceylon

An introduction to Ceylon: what it is, how to think through an example, and a focused exercise.

10 min

7. Cobra

An introduction to Cobra: what it is, how to think through an example, and a focused exercise.

10 min

8. Crystal

An introduction to Crystal: what it is, how to think through an example, and a focused exercise.

10 min

9. Dylan

An introduction to Dylan: what it is, how to think through an example, and a focused exercise.

10 min

10. Factor

An introduction to Factor: what it is, how to think through an example, and a focused exercise.

10 min

11. Fancy

An introduction to Fancy: what it is, how to think through an example, and a focused exercise.

10 min

12. Felix

An introduction to Felix: what it is, how to think through an example, and a focused exercise.

10 min

13. Flix

An introduction to Flix: what it is, how to think through an example, and a focused exercise.

10 min

14. Gleam

An introduction to Gleam: what it is, how to think through an example, and a focused exercise.

10 min

15. Grain

An introduction to Grain: what it is, how to think through an example, and a focused exercise.

10 min

16. Hack (HHVM)

An introduction to Hack (HHVM): what it is, how to think through an example, and a focused exercise.

10 min

17. Harbour

An introduction to Harbour: what it is, how to think through an example, and a focused exercise.

10 min

18. xBase / dBase / Clipper / FoxPro

An introduction to xBase / dBase / Clipper / FoxPro: what it is, how to think through an example, and a focused exercise.

10 min

19. Icon

An introduction to Icon: what it is, how to think through an example, and a focused exercise.

10 min

20. Inform

An introduction to Inform: what it is, how to think through an example, and a focused exercise.

10 min

21. Ioke

An introduction to Ioke: what it is, how to think through an example, and a focused exercise.

10 min

22. J

An introduction to J: what it is, how to think through an example, and a focused exercise.

10 min

23. Jolie

An introduction to Jolie: what it is, how to think through an example, and a focused exercise.

10 min

24. K

An introduction to K: what it is, how to think through an example, and a focused exercise.

10 min

25. Kit

An introduction to Kit: what it is, how to think through an example, and a focused exercise.

10 min

26. Lasso

An introduction to Lasso: what it is, how to think through an example, and a focused exercise.

10 min

27. Lily

An introduction to Lily: what it is, how to think through an example, and a focused exercise.

10 min

28. LiveCode (HyperTalk)

An introduction to LiveCode (HyperTalk): what it is, how to think through an example, and a focused exercise.

10 min

29. Lobster

An introduction to Lobster: what it is, how to think through an example, and a focused exercise.

10 min

30. Logtalk

An introduction to Logtalk: what it is, how to think through an example, and a focused exercise.

10 min

Language introductions · Specialist languages M–Z

More languages for systems, business, research, scripting and games.

1. M4

An introduction to M4: what it is, how to think through an example, and a focused exercise.

10 min

2. Mercury

An introduction to Mercury: what it is, how to think through an example, and a focused exercise.

10 min

3. Monkey

An introduction to Monkey: what it is, how to think through an example, and a focused exercise.

10 min

4. Mun

An introduction to Mun: what it is, how to think through an example, and a focused exercise.

10 min

5. Neko

An introduction to Neko: what it is, how to think through an example, and a focused exercise.

10 min

6. Nit

An introduction to Nit: what it is, how to think through an example, and a focused exercise.

10 min

7. Nu

An introduction to Nu: what it is, how to think through an example, and a focused exercise.

10 min

8. Oberon

An introduction to Oberon: what it is, how to think through an example, and a focused exercise.

10 min

9. OCaml

An introduction to OCaml: what it is, how to think through an example, and a focused exercise.

10 min

10. Opa

An introduction to Opa: what it is, how to think through an example, and a focused exercise.

10 min

11. OpenEdge ABL (Progress)

An introduction to OpenEdge ABL (Progress): what it is, how to think through an example, and a focused exercise.

10 min

12. Oxygene

An introduction to Oxygene: what it is, how to think through an example, and a focused exercise.

10 min

13. Pike

An introduction to Pike: what it is, how to think through an example, and a focused exercise.

10 min

14. PL/B

An introduction to PL/B: what it is, how to think through an example, and a focused exercise.

10 min

15. PowerBuilder (PowerScript)

An introduction to PowerBuilder (PowerScript): what it is, how to think through an example, and a focused exercise.

10 min

16. Pure

An introduction to Pure: what it is, how to think through an example, and a focused exercise.

10 min

17. Racket

An introduction to Racket: what it is, how to think through an example, and a focused exercise.

10 min

18. Red

An introduction to Red: what it is, how to think through an example, and a focused exercise.

10 min

19. Rebol

An introduction to Rebol: what it is, how to think through an example, and a focused exercise.

10 min

20. Ring

An introduction to Ring: what it is, how to think through an example, and a focused exercise.

10 min

21. S-Lang

An introduction to S-Lang: what it is, how to think through an example, and a focused exercise.

10 min

22. Seed7

An introduction to Seed7: what it is, how to think through an example, and a focused exercise.

10 min

23. Self

An introduction to Self: what it is, how to think through an example, and a focused exercise.

10 min

24. Simula

An introduction to Simula: what it is, how to think through an example, and a focused exercise.

10 min

25. Slate

An introduction to Slate: what it is, how to think through an example, and a focused exercise.

10 min

26. Snobol

An introduction to Snobol: what it is, how to think through an example, and a focused exercise.

10 min

27. Squeak

An introduction to Squeak: what it is, how to think through an example, and a focused exercise.

10 min

28. Stata

An introduction to Stata: what it is, how to think through an example, and a focused exercise.

10 min

29. Streem

An introduction to Streem: what it is, how to think through an example, and a focused exercise.

10 min

30. Terra

An introduction to Terra: what it is, how to think through an example, and a focused exercise.

10 min

31. Turing

An introduction to Turing: what it is, how to think through an example, and a focused exercise.

10 min

32. Umple

An introduction to Umple: what it is, how to think through an example, and a focused exercise.

10 min

33. Unicon

An introduction to Unicon: what it is, how to think through an example, and a focused exercise.

10 min

34. Vala

An introduction to Vala: what it is, how to think through an example, and a focused exercise.

10 min

35. Verse (Epic/Fortnite)

An introduction to Verse (Epic/Fortnite): what it is, how to think through an example, and a focused exercise.

10 min

36. Wolfram

An introduction to Wolfram: what it is, how to think through an example, and a focused exercise.

10 min

37. Wren

An introduction to Wren: what it is, how to think through an example, and a focused exercise.

10 min

38. X++ (Dynamics)

An introduction to X++ (Dynamics): what it is, how to think through an example, and a focused exercise.

10 min

39. Xojo

An introduction to Xojo: what it is, how to think through an example, and a focused exercise.

10 min

40. Yorick

An introduction to Yorick: what it is, how to think through an example, and a focused exercise.

10 min

41. Zig

An introduction to Zig: what it is, how to think through an example, and a focused exercise.

10 min

42. ZPL

An introduction to ZPL: what it is, how to think through an example, and a focused exercise.

10 min

142 lessons, including the a small service written in a language you did not know, reviewed by somebody who uses it professionally project. Sign in and buy the program to open them. Create an account to track progress and earn the certificate.

Taught by a working engineer

Elena Park — Full-stack Developer. Every lesson is written to be used, not just watched.

A verifiable certificate

Complete every lesson and you get a certificate with a code and QR that an employer can check in seconds.

Practice in the Code Lab

Write and run code in the browser while you learn, with your work saved to your own account.

Still have a question?

Email hello@codemasterghana.com or send a message from the contact page — we answer within two working days, in English or Twi.