Anchor Quote " Life without science is useless, science oriented subjects has equipped us to maximise our rare golden gem" Osunsakin Adewale

STEM is newest umbrella for both scientifical and economical advancement. A nation without these cogent domains is lagging behind instead of her being a global village renders her local village. STEM is more than just a grouping of subject areas.  Every nations nowadays is trying equipping her youth with STEM knowledge. It is a movement to develop the deep mathematical and scientific underpinnings students need to be competitive in the 21st-century workforce. But this movement goes far beyond preparing students for specific jobs. STEM develops a set of thinking, reasoning, teamwork, investigative, and creative skills that students can use in all areas of their lives. STEM isn’t a standalone class—it’s a way to intentionally incorporate different subjects across an existing curriculum. 

Here’s a quick rundown of the STEM acronym: 
Science: The study of the natural world.
Technology: One surprise—the STEM definition for technology includes any product made by humans to meet a want or need. (So much for all technology being digital.) A chair is technology; so is a pencil. Any product kids create to solve a problem can be regarded as technology. 
Engineering: The design process kids use to solve problems. 
Math: The language of numbers, shapes, and quantities that seems so irrelevant to many students.

STEMs often seem similar to science and experiments, and in some ways, they are. After all, genuine science experiences are hands-on and inquiry-based. But if you look at the basics of an “ideal” STEM , you’ll see some substantial differences. Here comes five features of a STEM .I hope you’ll use these guidelines to collaborate with other teachers and create lessons that apply technology to what students are learning in science and math (and other subjects as well): 

1. STEM focuses on real-world issues and problems. In STEM, students address real social, economic, and environmental problems and seek solutions.  I had the class identify a real-world problem right there on campus, and suddenly we found ourselves head over heels in a STEM project—before the familiar acronym had even burst onto the scene. See Real World STEM Problems for some suggestions for projects students might focus on. 

2. STEMs are guided by the engineering design process. The EDP provides a flexible process that takes students from identifying a problem—or a design challenge—to creating and developing a solution. If you search for “engineering design process images” online, you’ll find many charts to guide you, but most have the same basic steps. In this process, students define problems, conduct background research, develop multiple ideas for solutions, develop and create a prototype, and then test, evaluate, and redesign them. This sounds a little like the scientific method—but during the EDP, teams of students try their own research-based ideas, take different approaches, make mistakes, accept and learn from them, and try again. Their focus is on developing solutions.

3. STEMs immerse students in hands-on inquiry and open-ended exploration. In STEM,the path to learning is open ended, within constraints.  The students’ work is hands-on and collaborative, and decisions about solutions are student-generated. Students communicate to share ideas and redesign their prototypes as needed. They control their own ideas and design their own investigations. 

4. STEMs involve students in productive teamwork. Helping students work together as a productive team is never an easy job. It becomes exponentially easier if all STEM teachers at a school work together to implement teamwork, using the same language, procedures, and expectations for students. If you want a jumpstart on building specific student-teamwork skills.

5. STEMs apply rigorous math and science content your students are learning. In STEM you should purposely connect and integrate content from math and science courses. Plan to collaborate with other math and/or science teachers to gain insight into how course objectives can be interwoven in a given lesson. Students can then begin to see that science and math are not isolated subjects, but work together to solve problems. This adds relevance to their math and science learning. 

In STEM, students also use technology in appropriate ways and design their own products. Best case scenario: Involve an art teacher as well. Art plays a critical role in product design. Teams will want their products to be attractive, appealing, and marketable. When the arts are added, the STEM acronym becomes STEAM. It’s not news that STEM talents are in great demand and are paid well. Online postings for software jobs across the U.S. grew 31% from 2007 to 2012 - nearly 3x faster than overall job postings. 

The US Bureau of Labor Statistics estimates software developer jobs to continue to grow at 22% from 2012~2022, with a median pay of $100,080 for software app developers as of May 2016. If you’re looking to learn how to code, the sheer number of programming languages may be overwhelming – what language should you indeed learn? This article hopes to give you some pointers by comparing the salary, popularity, and prospective future associated with different programming languages. Get started with STEM orientation today.

" Programming languages are set of logical codes used by computer scientists, computer engineers  and application developers used in their field of studies to invent new technology or design" Osunsakin Adewale (2017). After we have gotten certain ideas of what programming languages are , now let proceed to types of programing language :


(i) Dynamic Languages
Dynamic languages are generally easier for total beginners to laearn because they’re flexible and fun. You can quickly build an app from scratch with less lines of code, and there is no hard rule on how to write things to behave in the way you want them to. As dynamic languages are usually very high level languages, you'd spend less time trying to get the details right and more time learning programming concepts, which is another reason dynamically typed languages are popular with beginners who are motivated by being able to build things and see results quickly.

Not to be confused with Java, JavaScript is primarily a client-side scripting language used for front-end development. JavaScript is compatible across all browsers and is used to create interactive web apps, often through libraries such as jQuery and front-end frameworks such as AngularJS, Ember.js, React, and more. JavaScript can also be used as a server-side language through the Node.js platform. Two years ago, Node.js was still quite young, but its community has grown a lot since then, and you can now find many resources here. You can also build hybrid mobile apps with JavaScript through using frameworks such as phonegap, while Facebook’s React Native allows you to build native mobile apps with JavaScript. However, JavaScript is also known as a difficult language because it is untyped and, thus, difficult to debug. There are statically typed versions, such as Microsoft's TypeScript or the JSX, that React uses.

As a general-purpose language, Java is used to build Android apps, desktop apps, and games. Java is also commonly used as a server-side language for enterprise-level back-end development - 90 percent of Fortune 500 companies use Java. Furthermore, Hadoop is a popular Java-based framework used for storing and processing big data, and is implemented by enterprises such as Yahoo, Facebook, and Amazon Web Services.

(iv) Ruby
Ruby was developed so developers can have fun and be productive at the same time. Ruby was made popular by the Ruby on Rails framework, a full-stack web framework optimized for programming happiness. As Ruby reads like English and Rails has tools that make common development tasks easier “out-of-the-box”, many would recommend learning Ruby as your first programming language. Ruby is mostly used for back-end development, and popular sites such as Airbnb, Shopify, Bloomberg, Hulu, Slideshare, and more, were all built with Ruby on Rails.

Python is another highly recommended language for beginners, and is the most popular introductory language at Top U.S. Universities. Developers have used Python to build desktop apps and web apps alike, and it has great tools for data mining. In addition, Python is particularly popular in academic communities for scientific computing, data analysis, and bioinformatics. Google, Dropbox, Pinterest, Instagram, Reddit, BitTorrent, Civilization IV, and more, were built with Python.

PHP is a server-side scripting language and is usually considered beginner-friendly. It’s easy to conceptualize what the PHP code will do, which makes it easy to pick up. Most websites have been built with PHP because the language is heavily specialized for the web. Facebook, Wikipedia, Yahoo!, Tumblr, Wordpress, and more, were built with PHP.

(vii)Statically Typed Languages
 Apps built with statically typed languages are known to be more scalable, stable, and maintainable. Static languages are usually more strict in catching errors through type checking, and it takes more code to build a prototype. Game engines, mobile apps, and enterprise-level back-ends are usually built with statically typed languages.

(viii) C
C is often used to program system software and is the lingua franca of Operating Systems. C has influenced almost every programming language we’ll be examining in this article, especially Objective-C and C++. So, if you know C well, it'd probably be easier for you to pick up other popular languages. Since C takes more complex code to perform simple tasks, beginners may find it tough to stay motivated if this is their first language. However, knowledge of C will definitely help you as a programmer in the long run.

(ix)Objective-C / Swift (for iOS development)
Objective-C is a layer built on top of the C language, which makes it static. With that said, it can also be used for dynamic typing. Apple’s Swift is a static language designed to be compatible with Objective-C, but its static-typing makes it more resilient to errors. Inspired by Python, Swift is designed for coding newbies to pick it up easily and is aimed at fixing some of the issues of Objective-C.

 C++ is a powerful language based on C. It is designed for programming systems software, but has also been used to build games/game engines, desktop apps, mobile apps, and web apps. C++ is powerful and fast — even Facebook has developed several high performance and high reliability components with it. Many softwares have been built with C++, including Adobe Systems, Amazon, Paypal, Chrome, and more. Much like C, C++ is generally considered harder for beginners to learn on their own. So, if you decide to learn C++ as your first programming language

(xi)C : C#
("C Sharp") is developed to be used for Microsoft’s .NET framework, which runs primarily on Microsoft Windows. C# is used for web development, game development, and general Microsoft development. Although Microsoft has not been known for being cross-platform compatible in the past, Xamarin has been working on an open-source project called Mono, which aims to port C# to other platforms and bring better
development tools to Linux developers. Recently, you can also use C# to build native mobile apps for iOS and Android through Xamarin.
SQL ("Sequel"), or Structured Query Language, is a query language used to communicate with databases. Although SQL cannot be used to build apps, it is used to manage the data in apps that use relational database manage systems (RDMS).

So, now you know a bit about different programming languages and their perceived difficulty. With that said, not all languages have the same demand or salary. If your goal in learning how to program is to increase your job opportunities and you aren’t going to be dissuaded by how hard people say a language is going to be, here are some pointers to help you figure out what language you should learn.Based on the salaries estimations from’s analysis of job ads, we can pretty much divide programming languages into 9 tiers: Based on this result, it appears that Ruby/Ruby on Rails will rake you in the most money, while Python, C++, iOS and JavaScript are also decent choices. In addition, if salary is your main concern, then maybe C, PHP, and SQL aren’t the most ideal choices... or are they? Average salary can be affected by many things such as demand (how many job postings there are), supply (how many developers know the language) and experience (a junior developer would naturally earn less than a senior developer), so it’s a good idea to take a deeper look at these elements before jumping to any conclusions.

We can see that C, SQL, Java, and JavaScript are often mentioned in job postings, while C#, C++, and Python are also handy languages to know.However, if your goal is to work at a startup, then perhaps the job trends from is not the best indicator. AngelList is pretty much the go-to place for startup job postings, so we’ll take a look at the demand for programming skills based on the software developer ads. Again, JavaScript turns out to be the most demanded skill, but startups seem to favor Python and Java (it was Ruby (on Rails) 2 years ago!) more than Ruby, PHP, C, or C#. Of course, this is by no means an accurate depiction of the actual market, but it should give you a good idea of developer supplies. As you can see, even though the mobile app business has been booming for some time now, Objective-C experts are still mighty scarce. With a scarce supply of good Objective-C developers, their compensations would naturally be higher. PHP, on the other hand, seems to have a healthy amount of supply in the workforce, which means employers would have more options, and thus, more bargaining power in terms of salary. With that said, PHP developers are not as highly demanded as Java, SQL, or JavaScript developers. Therefore, PHP developers generally earn less. JavaScript is a pretty special case. Despite having the highest supply, JavaScript developers are not at the bottom of the salary tier .Now that you have an idea of what the demand and supply for each language is, let’s take a look at the potential salary you could earn based on salary information from job ads. The data comes from, where salary is usually derived as the average value of the salary range offered by individual job ad. Here, you can see that developers who know Ruby, C++, or Java appear to have higher starting salaries. Python and Ruby developers seem to have the highest potential salaries, which means good Ruby/Python developers are scarce and highly demanded. JavaScript seems to have experienced a large drop in potential salary, reaching its high at 188,168 USD in April 2015 — now it's at roughly $107k. Nonetheless, JavaScript remains a special case, and let's see why.
JavaScript Frameworks : Merely comparing the JavaScript language against other programming languages is an inaccurate outlook on how much you can earn if you know JavaScript. JavaScript is a huge category. Many frameworks have been developed to facilitate front-end website development, so if you only know JavaScript and jQuery, you’d probably earn less than other JavaScript developers who know some sort of JavaScript framework Now the average salaries don't look that bad. In particular, has a very nice future outlook. Since you’d have to know JavaScript to learn these technologies, JavaScript is a rather profitable skill. If we're just looking at front-end frameworks, you can see that AngularJS appears to be a clear winner with rocketing demand. Thus, if you want to get into front-end JavaScript development, you might want to learn AngularJS. React, on the other hand, is a fairly new technology, and has been gaining momentum at a speed that rivals AngularJS's early stages. It’s possibly still in the stage of gaining momentum and may potentially become more widely demanded, as it is in general more performant than AngularJS and thus will provide a better user experience

1. Ruby : Many famous websites, such as Airbnb, Twitch, Hulu, etc., are built with Rails, which means they’re always looking for Ruby developers. Also, since developers usually have a lot fun with Rails and it's fairly easy to pick up, Rails will most likely continue to be popular among coding newbies.That said, the rise of Node.js will definitely have an impact on the popularity of Ruby on Rails — Node.js has already overtaken Rails on Github. While this isn’t an absolute sign that Node.js will overtake Rails, we should note that a few years back, Rails overtook Python’s biggest web framework, Django, for back-end development, and Rails had more stars than Django.Moreover, a new trend for "isomorphic" apps will likely affect Rails adoption, a practice that is said to improve web app performance. Since isomorphic apps pretty much need to run on the Node.js platform, which is in JavaScript (the same language used in front-end), Node.js will most likely only become more popular with time. The appeal of only having to be well-versed in one language (JavaScript) may also shift some potential new blood away from learning Ruby. Google's Go is another back-end alternative that has received some attention in the last two years. However, since Rails continues to get frequent updates, it will still remain relevant for a while. Not to mention, it has a tremendously loyal community with tons of useful tools to help make development easier. Thus, despite a decline in popularity, Ruby will still be sticking around.

2.Python : Python is popular among academic researchers and data scientists, and as mentioned before, many schools choose to introduce beginners to coding through Python. This means Python will continue to grow steadily and remain relevant. While Python won’t be evolving as fast or seeing the same explosive growth in popularity and demand as JavaScript, it will continue strong, especially when there is such a high demand for data scientists.

3.PHP : The trends for backend development has been shifting away from PHP for some years now, but 80% of websites on the web are still built with PHP — it was a language designed for the web, after all.Nonetheless, if you Google what programming language beginners should learn, you’d find that developers generally don’t recommend learning PHP. In fact, many developers apparently hate it. The PHP community is trying to shake off its bad reputation with new guidelines on how to code PHP the Right Way and new tools, but in general, the future of PHP seems rather stagnant as of 2015 (at least in the U.S.). Though some had hoped that PHP7 would revitalize the community, it is still known to be quite fragmented.

3.Java:Android has been a big boost in keeping Java the most popular programming language, and most enterprises also love Java for its relative stability and scalability.With the rise of Spark (which uses the Scala language) and Cassandra (which supports other languages), it’s hard to say how long Hadoop will continue to reign as the most popular big data framework. With that said, given how large enterprises behave when it comes to change, Hadoop won’t be going away. The same can be said about the Java programming language in general, as Java has excellent tools for back-end development and is much more established for enterprise development. Thus, Java will continue strong as one of the most relevant programming languages in the next few years.

4.Objective-C/Swift : Since Apple released Swift, and Objective-C only works for Apple products, one cannot expect Objective-C to stick around too much longer in the future. Swift, on the other hand, will of course be relevant for the years to come, as long as people continue to use Apple products. With that said, this doesn’t mean you shouldn’t learn Objective-C in 2017, since most open-source projects for iOS development are still written in Objective-C. Generally speaking, using something you don’t understand is not a good idea. Not to mention, it's not that difficult for you to learn Objective-C if you know Swift or vice versa. C: C is quite low-level compared to other programming languages, but since it's the OS lingua franca and many development tools are written in C, including Linux, it will be sticking around.

5.SQL : SQL is almost universally understood by database administrators. For a while, SQL seemed to have lost its relevance with the rise of NoSQL services, such as MongoDB and Redis, and non-SQL-using Big Data computing platforms, such as Hadoop, Spark, and Cassandra. Many people were howling about how SQL was dying.bApparently not any more. As a result, even NoSQL had to reposition itself as “Not Only SQL. With the rise of big data and the difficulty of managing it, SQL is hotter than ever (as you already know from the job trends). Google has also recently updated its BigQuery service so it can now ingest up to 100,000 rows per second per table, and BigQuery uses SQL. Spark's also had the Spark SQL Module since version 1.3. For products like ClustrixDB, DeepSQL, MemSQL, and VoltDB, all you need to do is add commodity nodes instead of bulking up a database server. All in all, SQL is relevant again because it’s needed to manage and analyze (not store) big data. The developer's community is even predicting some sort of unification of SQL and NoSQL. Either way, not only is SQL everywhere, but it’s also safe to say SQL will continue to be relevant.

6: C++: C++ is still considered the most powerful language in terms of performance and capabilities (even against Rust), C++ will most likely continue to be relevant in certain areas such as things that need high performance (e.g. game engines). Since ISOCPP (International Organization for Standardization) has completed its work on C++17, which is in its final ISO balloting process, it'll most likely start working on C++20 in July 2017. All that to say, it's still an evolving language.In the future, Rust may potentially replace C++ in some areas of systems programming, as Rust aims to be able to produce less-vulnerable software than C++ does. Read more about how Rust compares to other languages here. Regardless of whether Rust will actually take over C++, now is a good time to learn Rust if you're an advanced developer.

7: C# :Being limited to Microsoft platforms and being closed-sourced did not work in C#’s favor in the past, but thankfully Mono came to the rescue (though Mono had some performance issues in the past, its recent updates have improved them).Developers who’ve worked with C# seem to love the C# programming language, and the passion continues to fuel the strong community. 

Not to mention, C# is the primary language for Unity 3D, a rather popular game engine that could also works on iOS, Linux, etc. The rise of Unity3D as the de facto indie game engine and VR apps has solidified C#'s future. Since VR is a big thing, and will continue to be a big thing, C# is sure to have a pretty bright future. Besides, C# is also pretty popular for enterprise development in countries other than the U.S., such as the UK. Obviously, Microsoft will keep C# alive for a while and keep it relevant for the .NET platform. In fact, it has been aggressively open-sourcing its products and making it more accessible so developers can adopt it.