Coder Girls: Internship program details

JavaScript is undoubtedly the most essential web programming language. The web is full of great examples of JavaScript being used to bring a website to life and provide great user experiences.[http://www.creativebloq.com/web-design/e…] However, the importance of JavaScript is usually undermined as it is understood merely as a "UI enhancer". JavaScript is notorious for being the world's most misunderstood programming language. While often derided as a toy, beneath its deceptive simplicity lie some powerful language features, one that is now used by an incredible number of high-profile applications, showing that deeper knowledge of this technology is an important skill for any web or mobile developer.[https://developer.mozilla.org/en-US/docs…] "Unlike most programming languages, the JavaScript language has no concept of input or output. It is designed to run as a scripting language in a host environment, and it is up to the host environment to provide mechanisms for communicating with the outside world. The most common host environment is the browser, but JavaScript interpreters can also be found in Adobe Acrobat, Photoshop, SVG images, Yahoo!'s Widget engine, as well as server side environments such as Node.js. However the list of the areas where JavaScript is used just begins here. It also includes NoSQL databases, like the open source Apache CouchDB, embedded computers, or complete desktop environments, like GNOME (one of the most popular GUIs for GNU/Linux operating systems)."[https://developer.mozilla.org/en-US/docs…]

Through this internship/training program, Naya wants to venture into the wonderful world of JavaScript by learning and working on few of the modern and innovative aspects of JavaScript.

This program will start off with 4-7 weeks of in-depth lessons in JavaScript (+ jQuery and Angular.js). This will be followed by lessons on Node.js (specifically Sails.js). And finally we will use our newly acquired knowledge to work on some micro-controllers[http://en.wikipedia.org/wiki/Raspberry_P…]/processors[http://en.wikipedia.org/wiki/Arduino…] to explore some interesting real-time technological infrastructure assisted real world projects.

Training Curriculum

Client-side JavaScript

Section 1 - Introduction to JavaScript - JavaScript Data Types

Section 2 - JavaScript Object Notation - Operators

Section 3 - Functions and Scopes

Section 4 - JavaScript Events in browser - Error Handling in JavaScript

Section 5 - Higher Order Functions

Section 6 - jQuery - Introduction to jQuery - How to make jQuery plugin - How to use jQuery API - Building simple webpage using Jquery or Jquery UI or Jquery easy plugin

Section 7 - Angular JS - Introduction - Introduction to the MVC platform (Model, View, Controller) - Building simple Angular App

Server-side JavaScript

Section 1 - Node.js - Introduction to Node.js - Setting up the server Section 2 - Sails.js - Introduction to Sails.js - How to create a simple Sails.js web app - How to create a real-time chat application with Sails.js

Collaboration on a group project

- Introduction to TortoiseSVN

Real-world project

- Introduction to microcontrollers - Node.js and microcontrollers