# data[].attributes.headline
Learn Which Programming Language to Choose With This Infographic

# data[].attributes.subject
Learn Which Programming Language to Choose With This Infographic

# data[].attributes.attachment_link.title
Learn Which Programming Language to Choose With This Infographic

# data[].attributes.attachment_link.description
Choosing a programming language takes a lot of consideration: what do you want to do with the language, what platforms you're working with, and what salary range can you expect in the field, and more. This infographic gives you a ton of information about some of the more popular languages.

# data[].attributes.attachment_link.readable_text
One of the ways we can enforce data encapsulation is through the use of accessors and mutators. The role of accessors and mutators are to return and set the values of an object's state. This article is a practical guide on how to program them in Java.

As an example, I'm going to use a Person class with the following state and constructor already defined:

 public class Person {   //Private fields   private String firstName;   private String middleNames;   private String lastName;   private String address;   private String username;   //Constructor method   public Person(String firstName, String middleNames, String lastName, String address)   {     this.firstName = firstName;     this.middleNames = middleNames;     this.lastName = lastName;     this.address = address;     this.username = "";   } }

Accessor Methods

An accessor method is used to return the value of a private field. It follows a naming scheme prefixing the word "get" to the start of the method name. For example let's add accessor methods for firstname, middleNames and lastname:

   //Accessor for firstName   public String getFirstName()   {     return firstName;   }   //Accessor for middleNames   public String getMiddlesNames()   {     return middleNames;   }   //Accessor for lastName   public String getLastName()   {     return lastName;   }

These methods always return the same data type as their corresponding private field (e.g., String) and then simply return the value of that private field.

We can now access their values through the methods of a Person object:

 public class PersonExample {   public static void main(String[] args) {     Person dave = new Person("Dave", "Bob Bill", "Davidson", "12 Pall Mall");     System.out.println(dave.getFirstName() + " " + dave.getMiddlesNames() + " " + dave.getLastName());   } }

Mutator Methods

A mutator method is used to set a value of a private field. It follows a naming scheme prefixing the word "set" to the start of the method name. For example, let's add mutator fields for address and username:

   //Mutator for address   public void setAddress(String address)   {     this.address = address;   }   //Mutator for username   public void setUsername(String username)   {     this.username = username;   }

These methods do not have a return type and accept a parameter that is the same data type as their corresponding private field. The parameter is then used to set the value of that private field.

It's now possible to modify the values for the address and username inside the Person object:

 public class PersonExample {   public static void main(String[] args) {     Person dave = new Person("Dave", "Bob Bill", "Davidson", "12 Pall Mall");     dave.setAddress("256 Bow Street");     dave.setUsername("DDavidson");   } }

Why Use Accessors and Mutators?

It's easy to come to the conclusion that we could just change the private fields of the class definition to be public and achieve the same results. It's important to remember that we want to hide the data of the object as much as possible. The extra buffer provided by these methods allows us to:

change how the data is handled behind the scenes

impose validation on the values that the fields are being set to.

Let's say we decide to modify how we store middle names. Instead of just one String we now use an array of Strings:

   private String firstName;   //Now using an array of Strings   private String[] middleNames;   private String lastName;   private String address;   private String username;   public Person(String firstName, String middleNames, String lastName, String address)   {     this.firstName = firstName;     //create an array of Strings     this.middleNames = middleNames.split(" ");     this.lastName = lastName;     this.address = address;     this.username = "";   }   //Accessor for middleNames   public String getMiddlesNames()   {     //return a String by appending all the Strings of middleNames together     StringBuilder names = new StringBuilder();     for(int j=0;j < (middleNames.length-1);j++)     {       names.append(middleNames[j] + " ");     }     names.append(middleNames[middleNames.length-1]);     return names.toString(); }

The implementation inside the object has changed but the outside world is not affected. The way the methods are called remains exactly the same:

 public class PersonExample {   public static void main(String[] args) {     Person dave = new Person("Dave", "Bob Bill", "Davidson", "12 Pall Mall");     System.out.println(dave.getFirstName() + " " + dave.getMiddlesNames() + " " + dave.getLastName());   } }

Or, let's say the application that is using the Person object can only accept usernames that have a maximum of ten characters. We can add validation in the setUsername mutator to make sure the username conforms to this requirement:

 public void setUsername(String username) {   if (username.length() > 10)   {     this.username = username.substring(0,10);   }   else   {     this.username = username;   } }

Now if the username passed to the setUsername mutator is longer than ten characters it is automatically truncated.

# data[].attributes.attachment_link.title
Quick Guide to Using Accessors and Mutators in Java

# data[].attributes.attachment_link.description
One of the ways we can enforce data encapsulation is through the use of accessors and mutators. The role of accessors and mutators are to return and set the values of an object's state. This article is a practical guide on how to program them in Java.

# data[].attributes.attachment_link.readable_text
If you would like to see my video tutorials using Scratch, click here to access my YouTube channel.
Primary: Junior: Intermediate+:
Make Your Own Flappy Bird - Code.org
http://learn.code.org/s/6/level/148

All in a Flap - How to create your very own Flappy Bird clone
https://www.touchdevelop.com/mnhna

Word Hunt - How to create your own HeadsUp! clone
https://www.touchdevelop.com/app/#hub:follow-tile:wordhunttutorial

ChatBot - How to create a chatting robot
https://www.touchdevelop.com/cpui

Rolling Dice - How to create a rolling dice simulator
https://www.touchdevelop.com/ntec

TouchDeveleop
http://www.touchdevelop.com

The Hour of Code at Tynker (8+ Tutorials)
http://www.tynker.com/hour-of-code/

Create a Holiday Greeting Card
http://scratch.mit.edu/projects/editor/?tip_bar=hoc

Learning The Basics - Coding Angry Birds
http://learn.code.org/hoc/1

Codeacademy
http://www.codecademy.com/

LearnStreet
https://www.learnstreet.com/cg/simple/projects/javascript

Hackety Hack! (Download)
http://www.hackety.com/

CodeHS
http://www.codehs.com/

W3schools Online
http://www.w3schools.com/

Grok Learning
https://groklearning.com/

Kodu (Download)
http://www.kodugamelab.com/

KidsRuby (Download)
http://www.kidsruby.com/

Lightbot - Hour of Code (Perfect for k+)
http://light-bot.com/hocflash.html

Cargo-Bot (Perfect for k+)
https://itunes.apple.com/ca/app/cargo-bot/id519690804?mt=8

Kodable (Perfect for k+)
https://itunes.apple.com/ca/app/kodable/id577673067?mt=8

Codea (Perfect for Intermediate+)
https://itunes.apple.com/ca/app/codea/id439571171?mt=8

Hopscotch HD (Perfect for Junior / Intermediate)
https://itunes.apple.com/ca/app/hopscotch-coding-for-kids/id617098629?mt=8

Treehouse (Perfect for k+)
https://itunes.apple.com/us/app/treehouse-learn-programming/id664753504?mt=8

Cato's Hike (Perfect for k+)
https://itunes.apple.com/us/app/catos-hike-programming-logic/id574335479?mt=8

Personally I love the online tutorials. Always up-to-date and no installation required. Most work on iPads as they are HTML5 nowadays. If you have any to add, please shoot me an email, tweet or comment below!

(Visited 11,824 times, 21 visits today)

# data[].attributes.attachment_link.description
If you would like to see my video tutorials using Scratch, click here to access my YouTube channel. Primary: Junior: Intermediate+: Make Your Own Flappy Bird - Code.org http://learn.code.org/s/6/level/148 All in a Flap - How to create your very own Flappy Bird clone https://www.touchdevelop.com/mnhna Word Hunt - How to create your own HeadsUp!

# data[].attributes.attachment_link.title
nkwiry.com -&nbspThis website is for sale! -&nbspnkwiry Resources and Information.

# data[].attributes.attachment_link.description
This website is for sale! nkwiry.com is your first and best source for all of the information you're looking for. From general topics to more of what you would expect to find here, nkwiry.com has it all. We hope you find what you are searching for!

# data[].attributes.headline
Programming Concepts Help: List of freely available Programming Books

# data[].attributes.subject
Programming Concepts Help: List of freely available Programming Books

# data[].attributes.attachment_link.title
List of freely available Programming Books

# data[].attributes.attachment_link.description
You may also like to see: Design Patterns : Singleton Pattern Design Patterns : Decorator Design Pattern - Decorating Objects Here I lis...

# data[].attributes.attachment_link.description
Thanks to Alfred Thompson for the lead on this incredibly addictive game. In his regular Monday morning post "Interesting Links", he made reference to a Binary Numbers Game from Cisco.It's fun; it's a challenge; and it really makes you understand your binary numbers.I'll confess to playing with it for far too long.

# data[].attributes.body
I'm not endorsing this book, but I thought you might like to see the kinds of resources that are out there for learning and for reference. This one is about using our IDE effectively, which sounds pretty cool. There are lots of free resources on the web, but a good "premium" resource can be a very efficient way to learn stuff.

# data[].attributes.headline
7 Browser-based IDEs for Coding on Chromebook | Data Science 101

# data[].attributes.subject
7 Browser-based IDEs for Coding on Chromebook | Data Science 101

# data[].attributes.attachment_link.readable_text
Although an Integrated Development Environment (IDE) is not always essential for data science, building data products often requires a complete development environment and not just statistical analysis. In my quest to be able to perform all my web development and data science work on a chromebook, it is essential to have a development environment in the browser. Luckily for me and for all of you, there are a number of companies working on just that. Full disclosure: Some of the links below contain my referral codes.
Disclaimer, I have not had a chance to try out each of the options, but I thought I should share anyhow.

# data[].attributes.attachment_link.title
7 Browser-based IDEs for Coding on Chromebook

# data[].attributes.attachment_link.description
Although an Integrated Development Environment (IDE) is not always essential for data science, building data products often requires a complete development environment and not just statistical analysis. In my quest to be able to perform all my web development and data science work on a chromebook, it is essential to have a development environment in the browser.

# data[].attributes.body
Whenever I post a video to the course site, I also post it to YouTube. Then anyone can learn from it, and it may be faster to load for you.

# data[].attributes.attachment_link.title
Archived - ICS3 Computer Science 2014-15 - YouTube

# data[].attributes.attachment_link.description
These are videos for ICS3C and ICS3U, high school computer programming and computer science courses in Ontario. I recorded them for my e-Learning students, a...

# data[].attributes.body
Source: https://twitter.com/PicardTips/status/509063099190489089

# data[].attributes.headline
How much do coders make? (US information)

# data[].attributes.subject
How much do coders make? (US information)

# data[].attributes.body
Some of you are interested in a career in programming, software design, engineering, etc. This shows a breakdown of the different types of work, the different parts of the USA, and their corresponding salary ranges.

# data[].attributes.attachment_link.readable_text
iOS rules the roost and beats Android, Bay Area coders get paid the most, and Node.js developers are up and coming: This sums up three findings from an analysis I performed on salary survey data collected from thousands of techies around the country by Payscale.com.

We pulled in data for a number of major cities on coding salaries, as well as national salaries based on the top seven job descriptions associated with a software language. The languages we covered included iOS, Android, Node.js, Java, Python, .Net and JavaScript. We picked those languages to cover a broad cross-section of IT that focused on ascendant and very popular languages.

Apple vs. Google

Despite the release of Apple's new Swift coding language, which reduced the difficulty in coding iOS applications, job listings naming iOS requirements were the highest paid positions among the tech jobs covered. The highest mean salary among all the job titles and skills analyzed was iOS Principal Software Engineer at $128,000. Following that were senior level coding gigs in Java, the reigning enterprise champ, at $125,500.

Next up was Node.js (the scrappy contender capitalizing on the growth of cloud apps and one-page apps), clocking in at $116,600, a distant third. In fact, a less senior role in iOS paid roughly on par with the more senior Node.js role. That said, Node.js roles beat out .Net, Python, Android and JavaScript (which arguably is a flavor of Node.js, although Node requires more back-end chops).
Mean salaries by title and skill
Bay Area = big bucks

We knew that coders are in high demand in the Bay Area, but the difference between that region and the rest of the country is quite extraordinary. The nearest competitor, Seattle, still trails the two top dogs by $11,000 and $13,000, comparatively. And after the top four cities, the distance grows even larger.

The moral? Oddly, even though the cost of living is roughly comparable between Gotham and the Bay Area, New York techies pocket nearly 25 percent less than San Jose or San Fran techies. Los Angeles techies actually fared far worse than those in the two great tech centers, bagging only $78,000 on average. The sample sizes for the different cities differed widely, but the survey did cover thousands of people.
Average salary by city
By the numbers

Although Node.js salaries were lightly reported in the Payscale numbers, the new back-end take on JavaScript showed remarkably well. This probably indicates strong demand for Node development. The average salary for a Node developer was actually higher than for any other skill, at $88,500. This shows strength in the middle and lower tiers of Node positions and bodes well for the future of Node. That said, in terms of the number of salaries reported, older coding languages dominated, with Java and JavaScript having many more salaries reported. We'll follow this up with an analysis of the different database and big data jobs and implications for coders and companies that hire them.
Top and average salaries in aggregate across software skills Alex Salkever is head of marketing at Silk, a company that enables digital storytelling and data visualization. Follow him on Twitter @AlexSalkever.

# data[].attributes.attachment_link.title
How much do coders make? Check out this data from around the country

# data[].attributes.attachment_link.description
iOS rules the roost and beats Android, Bay Area coders get paid the most, and Node.js developers are up and coming: This sums up three findings from an analysis I performed on salary survey data collected from thousands of techies around the country by Payscale.com.

# data[].attributes.body
These are really useful. Really.

# data[].attributes.attachment_link.description
Tutorials and reference guides for the Java Programming Language