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
What you will build
- 1A written comparison of three paradigms solving the same problem
- 2A traced example from source code to execution
- 3A reading log of an unfamiliar codebase, with the questions you had and the answers you found
- 4A study plan for your next language, listing the six things you always learn first
- 5A small working service in the new language, reviewed
Curriculum
8 modules · 142 lessons · 23h 40m
Sign in to open each lesson
01 · The language landscape
What languages are made of, and how they differ.
1. Paradigms and properties: how languages differ
Languages are not interchangeable syntaxes; each makes a different set of easy things and hard things. This lesson maps the landscape: imperative versus declarative, procedural, object-oriented and functional styles, static versus dynamic typing, compiled versus interpreted execution, and the other properties that decide whether a language suits a job — memory management, concurrency model, error handling convention and ecosystem.
2. How languages actually run
Source code is not what runs. Between your file and the machine there is a chain of transformations — tokenising, parsing, analysis, compilation, linking, loading, or interpretation and just-in-time compilation — and knowing where in that chain an error came from changes how fast you fix it. This lesson covers that pipeline, stack and heap, scope and closures, garbage collection and memory leaks in managed languages, and why two programs with the same logic perform differently.
02 · Reading and learning languages
How to read unfamiliar code, compare languages honestly, and add a new one.
1. Reading code and comparing languages
Most professional reading is other people's code, often in a language you do not use daily. This lesson is a method for reading unfamiliar codebases quickly — entry points, data flow, the standard library, tests as documentation — and for comparing two languages on the same problem without resorting to benchmarks that measure the wrong thing. It covers code review across language conventions, and how to form an opinion you can defend.
2. Learning a new language
The fifth language is much cheaper than the first. This lesson gives a plan for acquiring a new language in weeks rather than years: the six things to learn first, the deliberate practice that builds fluency, how to transfer what you already know without writing the old language in new syntax, the resources worth your time, and how to prove competence to an employer — on a schedule that assumes you have a job and a family.
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.
2. JavaScript
An introduction to JavaScript: what it is, how to think through an example, and a focused exercise.
3. TypeScript
An introduction to TypeScript: what it is, how to think through an example, and a focused exercise.
4. Java
An introduction to Java: what it is, how to think through an example, and a focused exercise.
5. C
An introduction to C: what it is, how to think through an example, and a focused exercise.
6. C++
An introduction to C++: what it is, how to think through an example, and a focused exercise.
7. C#
An introduction to C#: what it is, how to think through an example, and a focused exercise.
8. Go
An introduction to Go: what it is, how to think through an example, and a focused exercise.
9. Rust
An introduction to Rust: what it is, how to think through an example, and a focused exercise.
10. Kotlin
An introduction to Kotlin: what it is, how to think through an example, and a focused exercise.
11. Swift
An introduction to Swift: what it is, how to think through an example, and a focused exercise.
12. PHP
An introduction to PHP: what it is, how to think through an example, and a focused exercise.
13. Ruby
An introduction to Ruby: what it is, how to think through an example, and a focused exercise.
14. Dart
An introduction to Dart: what it is, how to think through an example, and a focused exercise.
15. R
An introduction to R: what it is, how to think through an example, and a focused exercise.
16. Scala
An introduction to Scala: what it is, how to think through an example, and a focused exercise.
17. SQL
An introduction to SQL: what it is, how to think through an example, and a focused exercise.
18. Shell (Bash)
An introduction to Shell (Bash): what it is, how to think through an example, and a focused exercise.
19. Objective-C
An introduction to Objective-C: what it is, how to think through an example, and a focused exercise.
20. Perl
An introduction to Perl: what it is, how to think through an example, and a focused exercise.
21. Lua
An introduction to Lua: what it is, how to think through an example, and a focused exercise.
22. MATLAB
An introduction to MATLAB: what it is, how to think through an example, and a focused exercise.
23. Julia
An introduction to Julia: what it is, how to think through an example, and a focused exercise.
24. Elixir
An introduction to Elixir: what it is, how to think through an example, and a focused exercise.
25. Haskell
An introduction to Haskell: what it is, how to think through an example, and a focused exercise.
26. Clojure
An introduction to Clojure: what it is, how to think through an example, and a focused exercise.
27. F#
An introduction to F#: what it is, how to think through an example, and a focused exercise.
28. Groovy
An introduction to Groovy: what it is, how to think through an example, and a focused exercise.
29. Visual Basic .NET
An introduction to Visual Basic .NET: what it is, how to think through an example, and a focused exercise.
30. Assembly
An introduction to Assembly: what it is, how to think through an example, and a focused exercise.
Language introductions · Mobile development
How languages and frameworks build apps for phones and tablets.
1. Swift for mobile
An introduction to Swift for mobile: what it is, how to think through an example, and a focused exercise.
2. Objective-C for mobile
An introduction to Objective-C for mobile: what it is, how to think through an example, and a focused exercise.
3. Kotlin for mobile
An introduction to Kotlin for mobile: what it is, how to think through an example, and a focused exercise.
4. Java for mobile
An introduction to Java for mobile: what it is, how to think through an example, and a focused exercise.
5. Dart with Flutter
An introduction to Dart with Flutter: what it is, how to think through an example, and a focused exercise.
6. C# with Xamarin and .NET MAUI
An introduction to C# with Xamarin and .NET MAUI: what it is, how to think through an example, and a focused exercise.
7. JavaScript with React Native
An introduction to JavaScript with React Native: what it is, how to think through an example, and a focused exercise.
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.
2. XML
An introduction to XML: what it is, how to think through an example, and a focused exercise.
3. XHTML
An introduction to XHTML: what it is, how to think through an example, and a focused exercise.
4. SGML
An introduction to SGML: what it is, how to think through an example, and a focused exercise.
5. Markdown
An introduction to Markdown: what it is, how to think through an example, and a focused exercise.
6. LaTeX
An introduction to LaTeX: what it is, how to think through an example, and a focused exercise.
7. TeX
An introduction to TeX: what it is, how to think through an example, and a focused exercise.
8. PostScript
An introduction to PostScript: what it is, how to think through an example, and a focused exercise.
9. Troff
An introduction to Troff: what it is, how to think through an example, and a focused exercise.
10. RTF
An introduction to RTF: what it is, how to think through an example, and a focused exercise.
11. YAML
An introduction to YAML: what it is, how to think through an example, and a focused exercise.
12. JSON
An introduction to JSON: what it is, how to think through an example, and a focused exercise.
13. TOML
An introduction to TOML: what it is, how to think through an example, and a focused exercise.
14. HCL
An introduction to HCL: what it is, how to think through an example, and a focused exercise.
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.
2. Handlebars
An introduction to Handlebars: what it is, how to think through an example, and a focused exercise.
3. Mustache
An introduction to Mustache: what it is, how to think through an example, and a focused exercise.
4. Liquid
An introduction to Liquid: what it is, how to think through an example, and a focused exercise.
5. ERB
An introduction to ERB: what it is, how to think through an example, and a focused exercise.
6. Haml
An introduction to Haml: what it is, how to think through an example, and a focused exercise.
7. Pug
An introduction to Pug: what it is, how to think through an example, and a focused exercise.
8. Twig
An introduction to Twig: what it is, how to think through an example, and a focused exercise.
9. Blade
An introduction to Blade: what it is, how to think through an example, and a focused exercise.
10. Razor
An introduction to Razor: what it is, how to think through an example, and a focused exercise.
11. Thymeleaf
An introduction to Thymeleaf: what it is, how to think through an example, and a focused exercise.
12. Velocity
An introduction to Velocity: what it is, how to think through an example, and a focused exercise.
13. Smarty
An introduction to Smarty: what it is, how to think through an example, and a focused exercise.
14. EJS
An introduction to EJS: what it is, how to think through an example, and a focused exercise.
15. Nunjucks
An introduction to Nunjucks: what it is, how to think through an example, and a focused exercise.
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.
2. APL
An introduction to APL: what it is, how to think through an example, and a focused exercise.
3. AWK
An introduction to AWK: what it is, how to think through an example, and a focused exercise.
4. Ballerina
An introduction to Ballerina: what it is, how to think through an example, and a focused exercise.
5. Bosque
An introduction to Bosque: what it is, how to think through an example, and a focused exercise.
6. Ceylon
An introduction to Ceylon: what it is, how to think through an example, and a focused exercise.
7. Cobra
An introduction to Cobra: what it is, how to think through an example, and a focused exercise.
8. Crystal
An introduction to Crystal: what it is, how to think through an example, and a focused exercise.
9. Dylan
An introduction to Dylan: what it is, how to think through an example, and a focused exercise.
10. Factor
An introduction to Factor: what it is, how to think through an example, and a focused exercise.
11. Fancy
An introduction to Fancy: what it is, how to think through an example, and a focused exercise.
12. Felix
An introduction to Felix: what it is, how to think through an example, and a focused exercise.
13. Flix
An introduction to Flix: what it is, how to think through an example, and a focused exercise.
14. Gleam
An introduction to Gleam: what it is, how to think through an example, and a focused exercise.
15. Grain
An introduction to Grain: what it is, how to think through an example, and a focused exercise.
16. Hack (HHVM)
An introduction to Hack (HHVM): what it is, how to think through an example, and a focused exercise.
17. Harbour
An introduction to Harbour: what it is, how to think through an example, and a focused exercise.
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.
19. Icon
An introduction to Icon: what it is, how to think through an example, and a focused exercise.
20. Inform
An introduction to Inform: what it is, how to think through an example, and a focused exercise.
21. Ioke
An introduction to Ioke: what it is, how to think through an example, and a focused exercise.
22. J
An introduction to J: what it is, how to think through an example, and a focused exercise.
23. Jolie
An introduction to Jolie: what it is, how to think through an example, and a focused exercise.
24. K
An introduction to K: what it is, how to think through an example, and a focused exercise.
25. Kit
An introduction to Kit: what it is, how to think through an example, and a focused exercise.
26. Lasso
An introduction to Lasso: what it is, how to think through an example, and a focused exercise.
27. Lily
An introduction to Lily: what it is, how to think through an example, and a focused exercise.
28. LiveCode (HyperTalk)
An introduction to LiveCode (HyperTalk): what it is, how to think through an example, and a focused exercise.
29. Lobster
An introduction to Lobster: what it is, how to think through an example, and a focused exercise.
30. Logtalk
An introduction to Logtalk: what it is, how to think through an example, and a focused exercise.
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.
2. Mercury
An introduction to Mercury: what it is, how to think through an example, and a focused exercise.
3. Monkey
An introduction to Monkey: what it is, how to think through an example, and a focused exercise.
4. Mun
An introduction to Mun: what it is, how to think through an example, and a focused exercise.
5. Neko
An introduction to Neko: what it is, how to think through an example, and a focused exercise.
6. Nit
An introduction to Nit: what it is, how to think through an example, and a focused exercise.
7. Nu
An introduction to Nu: what it is, how to think through an example, and a focused exercise.
8. Oberon
An introduction to Oberon: what it is, how to think through an example, and a focused exercise.
9. OCaml
An introduction to OCaml: what it is, how to think through an example, and a focused exercise.
10. Opa
An introduction to Opa: what it is, how to think through an example, and a focused exercise.
11. OpenEdge ABL (Progress)
An introduction to OpenEdge ABL (Progress): what it is, how to think through an example, and a focused exercise.
12. Oxygene
An introduction to Oxygene: what it is, how to think through an example, and a focused exercise.
13. Pike
An introduction to Pike: what it is, how to think through an example, and a focused exercise.
14. PL/B
An introduction to PL/B: what it is, how to think through an example, and a focused exercise.
15. PowerBuilder (PowerScript)
An introduction to PowerBuilder (PowerScript): what it is, how to think through an example, and a focused exercise.
16. Pure
An introduction to Pure: what it is, how to think through an example, and a focused exercise.
17. Racket
An introduction to Racket: what it is, how to think through an example, and a focused exercise.
18. Red
An introduction to Red: what it is, how to think through an example, and a focused exercise.
19. Rebol
An introduction to Rebol: what it is, how to think through an example, and a focused exercise.
20. Ring
An introduction to Ring: what it is, how to think through an example, and a focused exercise.
21. S-Lang
An introduction to S-Lang: what it is, how to think through an example, and a focused exercise.
22. Seed7
An introduction to Seed7: what it is, how to think through an example, and a focused exercise.
23. Self
An introduction to Self: what it is, how to think through an example, and a focused exercise.
24. Simula
An introduction to Simula: what it is, how to think through an example, and a focused exercise.
25. Slate
An introduction to Slate: what it is, how to think through an example, and a focused exercise.
26. Snobol
An introduction to Snobol: what it is, how to think through an example, and a focused exercise.
27. Squeak
An introduction to Squeak: what it is, how to think through an example, and a focused exercise.
28. Stata
An introduction to Stata: what it is, how to think through an example, and a focused exercise.
29. Streem
An introduction to Streem: what it is, how to think through an example, and a focused exercise.
30. Terra
An introduction to Terra: what it is, how to think through an example, and a focused exercise.
31. Turing
An introduction to Turing: what it is, how to think through an example, and a focused exercise.
32. Umple
An introduction to Umple: what it is, how to think through an example, and a focused exercise.
33. Unicon
An introduction to Unicon: what it is, how to think through an example, and a focused exercise.
34. Vala
An introduction to Vala: what it is, how to think through an example, and a focused exercise.
35. Verse (Epic/Fortnite)
An introduction to Verse (Epic/Fortnite): what it is, how to think through an example, and a focused exercise.
36. Wolfram
An introduction to Wolfram: what it is, how to think through an example, and a focused exercise.
37. Wren
An introduction to Wren: what it is, how to think through an example, and a focused exercise.
38. X++ (Dynamics)
An introduction to X++ (Dynamics): what it is, how to think through an example, and a focused exercise.
39. Xojo
An introduction to Xojo: what it is, how to think through an example, and a focused exercise.
40. Yorick
An introduction to Yorick: what it is, how to think through an example, and a focused exercise.
41. Zig
An introduction to Zig: what it is, how to think through an example, and a focused exercise.
42. ZPL
An introduction to ZPL: what it is, how to think through an example, and a focused exercise.
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.