Programming Learning Resources

We have collected some online resources for learning how to code or how to write better code. We hope you will find them useful too (smile) We encourage you to explore them!

Please add to this page if you find a great tutorial that has helped you or resources that cover subjects that we did not list.

Java

TODO - (smile)

JavaScript

JavaScript (JS) is what we use when developing our user interfaces. For example, in https://github.com/openmrs/openmrs-core, we use JS to make the OpenMRS installation wizard dynamic.  You can find some more at https://github.com/openmrs/openmrs-module-legacyui, where the older OpenMRS user interface is built in JavaScript.

General

  • Tutorials/Language/API Documentations
  • Tutorials/Courses
    • https://javascript30.com/ - a super fun course that can improve your knowledge of browser APIs, Javascript and CSS
      • It is a good idea to have a look at https://wesbos.com/courses/ since Wes continuously adds courses that are always very thoroughly explained, fun, and often free
    • https://nodeschool.io/#workshopper-list - once installed you can work on these workshops offline :)
      • the first ones to look at when getting started are javascripting, scope-chains-closures, planetproto, how-to-npm, promise-it-wont-hurt, js-best-practices, functional-javascript-workshop but there are many more
  • Books
  • Newsletters

Build/Maintenance

Frameworks/Libraries

Angular

TODO - (smile)

React

ReactJS is a popular Javascript framework (out of many out there) and it is one of the frameworks used by some of our Open Web Apps in OpenMRS and http://bahmni.org/. Make sure that the module/project you will be working on is using ReactJS (and or Redux) before diving into these tutorials because it might also use another JS framework.

Books

CSS

Extensive Curriculum

We put https://www.freecodecamp.org/ in its own category since they offer very extensive courses that require more time to go through. freecodecamp is definitely worth the effort. They have different tracks such as

  • Front End Development Certification
  • Data Visualization Certificate