PHP is probably the best web app development language out there today for a bunch of reason technical, and market oriented. But it’s not the only language out there and it doesn’t have a monopoly of good programming.
Comparing Programming Languages
An important lessons that my 20+ years of programming experience has taught me, is that one of the best ways to learn one programming language, is to learn another! By learning different programming languages, you will start to gain deeper insights about your first programming language.
Here is the key point, most modern programming languages share about 98% of the same principles and language constructs. That said, each language has their own subtle take on how they do things. So for example, PHP creates functions with this code:
echo "I love peas!";
Python (like so many languages,) has functions too. Python creates function with this code:
print("I love peas!")
… Different code/syntax, same concept.
A funny thing happens when to express concepts in different languages: you get a better understanding of the concept. So learning how Python treats functions, will allow you to understand PHP functions better. This really becomes interesting when you get into more advanced concepts like anonymous functions, collection types and OOP.
There are soooooooo many choices out there these days when it comes to writing PHP code. Here are just a few popular apps:
Sublime Text – uber-nerds love this one!
Dreamweaver – yes, it has a code editor too.
And there are many others, and I am not including the PHP IDE’s out there!
A PHP IDE (by the way,) is short for ‘Integrated Development Environment’. It is a code editor on steroids. They are much more powerful than standard code editors but they are also harder to learn. These days (2015) PHPStorm seems to one of the best, if not the best.
… The guys who created PHPStorm, created my favorite IDE for Java – IntelliJ IDEA. My nerd-servants are telling me PHPStorm is amazing. But, when teaching beginners how to program in PHP (or any other language,) it is best to not expose them to the added complexity of learning a full blown IDE. They can be very complex.
Back to code editors – so which is best?
In a nutshell: If I were teaching PHP, I would use either Sublime Text or Notepad++ if I was on Windows. Sublime Text works on both Mac and Windows but the license is ambiguous: it is free to demo but at some point you are supposed to pay the $70 for it. Not sure when though? I heard of some users still demoing it after 2 years!
This is a consideration for schools in terms of licensing. On the other hand, Notepad++ is free but it is Windows only.
Textwrangler is a Mac only HTML, CSS code editor but I don’t see you could use it for PHP.
What makes Webmentor.org different than what we’ve had in the past? Again, check it out:
All the new videos will be in HD.
All videos are responsive and resizable.
Videos can easily be played back at different speeds.
Ask questions and make request – we will do our best to answer!
All courses are date stamped.
The system shows you which videos you’ve started to watch and which you’ve completed.
This is just the early launch (late stage beta but only a day away from version 1), so we’ve populated the system with our courses that are still good .. though they were created a little while ago. That said, we have brand new courses that cover HTML5 and CSS3 effects. A lot more coming over the next several months. Here is a sample:
Let’s start with the conclusion: PHP is a great language to start teaching middle and high school students programming. My 10yrs + of teaching web design and programming has taught me that.
PHP is a much more approachable language compared to other popular languages out there.
For example, Ruby is a great and powerful language but you have to grasp some pretty advanced concepts to just get going with it. If you look at PHP, it has an easy to understand layer that can be used as a gentle introduction to programming.
Ok, now to the main article:
Many K12 teachers are now being asked to teach web programming/development for the first time. This presents a challenge since few teachers have professional programming experience.
I was approached about two years ago by a couple of schools who needed a way to more easily teach web programming and web design. Luckily, I had been working on an application that would more than just help: Studioweb is an interactive web design and programming training system that automates the teaching process:
All based around a proven turnkey curriculum that I’ve been training people with for years.
The Key to Modern Web Design and Development
Web design/development has evolved a lot over the last 20 years, the way webapps are built today is nothing like the way we did it back in the early 1990’s. It is so different in fact, that web programmers/developers from that time, would almost have to completely retrain themselves!
Today, creating web apps is about:
HTML 5 … NOT XHTML
CSS and CSS3
Responsive web design – Bootstrap
PHP & MySQL
There are other server-side programming languages that are used a lot today – for example:
… But far and away, PHP is the most widely used programming language out there. Something like 85% of sites run PHP!
The Recognition of the Importance of Code
One of the biggest changes in the last few years, is the world’s realising that code is now as important as reading, writing and math. When kids learn to code, you give them a practical skill set along with problem solving experience … all the while, you reinforce logical thinking.
Studioweb focuses on teaching real-world web design and programming techniques as well as the key fundamental concepts. Students come away with demonstrable skills that can be applied in the real world on real projects. The aforementioned cognitive benefits come as a bonus.
If you want to learn more or if you are interested in trying out Studioweb, feel free to contact me.
For web designers coming to PHP for the first time, programming can seem pretty complex. The main reason it feels that way, is because many PHP tutorials are not created by teachers … they are created by young programmers who have never taught before.
… Believe it or not, there is a skill and a method to teaching.
Learning PHP made easy
My beginners course on PHP has a proven track record of being ultra-simple – anyone can learn PHP with Beginners PHP. Not the most exciting name for a course but nonetheless, I can guarantee you will learn PHP after doing it.
This blog post is for teachers teaching web programming and design … but if you are learning PHP (or any other language) many of these tips will be helpful to you too.
Let’s start with a teaser:
1. Start with an Easy Language:
2. Don’t teach A to Z:
Teaching people to code has a lot more to do about leaving out the non essentially elements of a language. Don’t cover every nuanced aspect of the HTML link tag, don’t cover all the ways a method can be created in PHP … leave out the less often used aspects of a language and save it for later. Just expose your students to the key aspects of the language, just enough so they can move forward.
There is a lot to learn when it comes to PHP programming … actually, there is a lot to learn when it comes to programming, regardless of the language. Here are my top for programming tips.
Stefan’s #1 Rule of Programming:
You will not remember everything you learn.
All the methods, functions, design patterns and other constructs found in PHP are far too many to for any human to remember. That’s why god invented Google and php.net.
… A good book can help too!
The most important thing to remember when learning PHP, are the basic concepts and practices. So I am talking about things like, function, arrays, classes, recursion, MVC et cetera. Again, it is not important that you remember the specific syntax – that you will forget in time. No, it is only important you understand what these things are and WHY you would use them.