Skip to content

Latest commit

 

History

History
115 lines (81 loc) · 5 KB

programming-languages.md

File metadata and controls

115 lines (81 loc) · 5 KB

Programming Languages

Hard

With this module, you'll learn a single programming language inside and out and polyglot techniques that enable you to learn other languages rapidly.

Star field with nebula

Topics

Types of Languages

With this topic, you'll learn about the landscape of programming languages, their common features, and how to recognize them regardless of syntax.

Learning Outcomes

  • List the types of programming languages
  • List the common features of programming languages
  • Describe the properties of a functional language
  • Describe the properties of an object-oriented language
  • Explain why you might choose to use a particular language on a project

Resources

Exercise


Deep Language Learning

With this topic, you'll learn how to gain fluency in a programming language and develop a deep understanding of its functionality and idiosyncrasies.

Learning Outcomes

  • Explain how you might use documentation to learn more about a language
  • List some features you find strange about a language
  • Theorize how you might learn a language fluently

Resources

Excercises


Polyglot Learning

With this topic, you'll learn how to adapt your understanding of one programming language to gain proficiency in another.

Learning Outcomes

  • List some methods to learn new programming languages quickly
  • Compare when to use koans or katas
  • Theorize how you might learn a new language quickly

Resources

Exercises


Dependencies

With this topic, you'll learn about package management and the ecosystem of third-party dependencies for a programming language.

Learning Outcomes

  • Describe a dependency and its purpose
  • Explain how you might evaluate whether or not to use a dependency
  • Theorize how to maintain a project with a third-party dependency

Resources

Exercises


Power of Pair Programming

With this topic, you'll learn how to solve problems with other software engineers (and have fun while doing it) using pair programming techniques.

Learning Outcomes

  • List some benefits when pair programming
  • Describe pair programming and mob programming techniques
  • Explain why you might collaborate with another software engineer
  • Compare solo programming with collaborative programming

Resources

Excercises