Need help with ProgrammingLearning?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

127 Stars 48 Forks 245 Commits 3 Opened issues


Learning new programming languages, the easy way.

Services available


Need anything else?

Contributors list


What is it ?

"I like it. Simple. Easy to remember." - Jack Sparrow

When I want to learn a new language, I tend to rewrite the same usual basic stuff everytime, to get used to the syntax. ProgrammingLearning is an attempt to be a standalone exercise sheet that would provide the required knowledge in any programming language to get a good start.

You want to learn a new language ?

Then take the exercise sheet, and code. Look for answers on StackOverflow, ask questions, and if you really are stuck, check if the correction is available in your language.

You know a programming language that has not been corrected yet ?

Then feel free to do a merge request and share your knowledge with everyone. Share it with your fellows too, more reviewers and corrections equals more programmers !

How does it work ?

The exercises are taken from practical session from my first year. Document will be updated with new exercises, and corrections are available for some languages. Since I am far from knowing every programming language, some exercise may not be as easy as they could be. Feel free to send me corrections for languages that are not available yet, new exercises ideas or any mistakes that I could have made !

Nothing will be clearly explained, you will just have exercises and corrections. You need to look for answers on the internet ( is a good start for example) and search by yourself. Tutorials are available all around the internet, but searching by yourself helps you learn about things you were not looking for !

Good luck !

Exercises sheets

Level 1 Level 2
Plaintext 1_Pl 2_Pl
Double dash 1_Dd 2_Dd
Percent 1_Pc 2_Pc
Hashtag 1_Ht 2_Ht
Comma 1_Co 2_Co
Double slash 1_Ds 2_Ds
Parenthesis 1_Pa 2_Pa

Languages currently available


C C#
C++ Java
Bash Swift
Fantom Golang
Python Python3
Lolcode Ocaml (WIP)
PHP Scala
Rust JavaScript
ObjC Tiger


  • Lockf0rc who took care of the PHP Correction.
  • Nementon who reviewed and corrected the C# Correction.
  • ShaidK who provided the advanced exercises sheets.
  • remus32 who provided the Scala correction.
  • klauspost who reviewed the Go corrections.
  • rbobillo who reviewed and corrected the Scala correction.
  • Tandrial who provided the Rust correction.
  • Thommath who corrected the Java correction.
  • Imbavirus who provided some corrections to Swift.
  • faizaanceg who did the Javascript correction.
  • ZaneH who did the Objective-C correction.

Thanks to you !


  • When editing an existing correction, please take care not to break it. Verify that it still works the same way it did before.
  • The Swift correction was created at the time where Xcode was in version 6b5. The language has evolved since and thus the correction may not be 100% accurate.


  • OCaml correction is half finished only.
  • Update Swift correction so that it matches the latest version of the Language (see Notes).
  • C# and C++ are missing some exercises from part 2 (exercices added after the correction's latest update).

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.