Learn to develop Android and iOS applications and Web Development within six weeks from a teacher with real-world experience. Get a 75% discount if you buy it here!

I'm taking Rob's course with absolutely no prior experience. A good week later it feels like I know HTML and CSS like the back of my hand." — Jonathan M.
Who knew that learning how to start coding was this simple. The course is clear, concise, and loaded with extras!! Thanks a ton! — Raheim Smith
Even when the course gets a bit complicated, there's always the Discussion forum where Rob as well as other students are actively helping each other. This course is not to be missed. — Ingrid S.
Rob is an excellent teacher and uses simple terms of speech all throughout the course. — Ankit Rawat
I have been very impressed with the course material and the crystal clear explanation of concepts. Any beginner who opts for this course will feel enriched at the time of course completion. — Shiva Rajagopal
I'm a Copywriter in a Digital Agency, I was searching for courses that'll help me broaden my skill set. Before signing up for Rob's course I tried many web development courses, but no course comes close to this course. — Shivram
Easy to pick up & quick to get running with, the course has given me a great start into programming. — Peter Greaves

Tables and arrays

Continuing with the iOS8 and Swift tutorials I’m at a level where I can make practical use of some of the knowledge I’ve acquired from these iOS 8 and Swift video tutorials. Lecture 45 provides a task to create an app to display the times table of a number selected from a slider bar. The thing to remember about all programming is good practice to avoid any errors and to be able to interpret errors to create a solution. Sometimes, though it is just the logic that needs to be evaluated if something isn’t behaving as expected.

tableresultBuilding up to this we learn about tables in Swift and how to display items in a table from an array of items. Rob filled his array with members of his family and out put them to each row. I filled my array with the names of my siblings. Unfortunately, when the app ran the display wasn’t what I wanted. The intention was to have each name on each row.

Luckily, this was not too difficult to fix. With a lot of programming languages certain characters are reserved and needs to be escaped if it is intended to be included in a string but not with Swift.

cellcontentMy array declaration had the commas within double quotes. So Swift treated the contents as a single string item for one array element. A simple mistake but something to bear in mind.

array_errorAnother novice mistake involves the error message “Array index out of range” which occurs when you try to refer to an array element which doesn’t exist. So if your array has nine elements (not counting 0!) and you refer to the tenth e.g. array[10] then Swift won’t be happy with it.

Attention to detail is key. The less simple mistakes you make, the more time you save with debugging. – Tak



Five FTP connection issues, and how to fix them

For those of you new to web development, one of the more common challenges before even getting stuck into learning HTML, CSS, JavaScript and the plethora of other technologies awaiting your new-found skills, is just being able to log in to get your work uploaded.

FTP is a venerable old method to upload your work to web servers. It stands for File Transfer Protocol, and nearly every web host in the world supports it.

In the Complete Web Developer Course, Rob has an FTP tutorial chapter that shows you one way of using FTP with the Firefox browser and the FireFTP add-on to easily update your site files.

Things don’t always go according to plan however. Here are five of the most common issues students have when connecting to their free Eco Web Hosting packages with FTP, and how to resolve them.

Continue Reading

Prime numbers and playgrounds

As coding gets more involved it is very important to get into good practice which will save you a lot of time from finding out what went wrong. I myself spent many hours going through code line by line with some basic school boy errors. In my last blog I wrote about how Swift as a forgiving language. This week I found there were a few things it was not so forgiving about.

In the third app Is it Prime a lot of the back end code is done in Playgrounds and most of my frustrations were from there.

Statement cannot begin with a closure expression

Statement cannot begin with a closure expression

“Statement cannot begin with a closure expression”. What?! When I get a problem I do what most people do. I use Google! But putting this error message into Google wasn’t too helpful, there were many results but nothing very helpful.

The cause? It’s to do with the operand. In C, PHP and Javascript it is perfectly fine to do something like “if number !=2 …” but Swift doesn’t like this! There needs to be a space between a number and the operand for very good reasons I’m sure which I will find out later on. So just not putting in the space was stopping my app from comping and altering to “if number != 2 …” ensured I could continue.

The second most frustrating problem I had was “Prefix/postfix ‘=’ is reserved”, again I thought I could Google the answer, again Google came up short but this problem was quicker to fix.

prefix postfix error

In most programming languages such condition would be valid but in Swift having an exclamation mark at the end of a variable name means you want to unwrap it (telling Xcode the variable definitely has a valid value). So while I had “if number!=2 &&…” it should have been “if number !=2 &&…” all from missing a space! Such simple mistakes which causes such long delays.

In Rob’s iOS and Swift video tutorials he encourages you to pause the video, have a go and come back to see how his solution. So although he may take 7 or 8 minutes in a video lecture and you maybe spending an hour or 2. I can assure you that this is not out of the ordinary. And it is part if the learning process. And remember, if you get stuck the forums are available!

Keep coding! – Tak.

Learning iOS8 and Swift

My name is Tak and I’m involved with the sales and marketing aspects of Rob’s courses. And since it is my job to promote his video learning courses I thought it’s a good idea to get to know the products. Like you probably know Rob offers video tutorial courses on subjects like HTML, Javascript, PHP, Bootstrap as well as online learning for developing on iOS and the new Apple Watch using Swift.

I thought it would be a good idea to start with his online course developing apps for iOS and Swift. And for those who don’t know, iOS is what the iPhone runs on.

It’s been over a decade since I can say I’ve been involved in any type of programming of any type. This was using the C programming language and since then, a host new programming languages have become mainstream including PHP, Ruby and C# to name a few.

So yes I know programming concepts like variable types, conditions and loops but I still had to start from the very beginning to understand the features of Xcode, the toolset to do the Swift development.

Old habits die hard

I found myself doing things like putting a semicolon after each statement and putting brackets around simple if conditions. Luckily, Swift is very forgiving because although this practice is not wrong, it isn’t necessary.

How many fingers?

There are two relatively simple apps you develop initially. One is called Cat Years which allows the user to enter a number into the app which is multiplied by 7 and the second is a simple game where the app generates a random number up to 5 and you enter a number to guess that number and the app tells you if you have guessed the correct number or not.

So app development comes relatively early in the course after getting the hang of some basic concepts.

Errors.. Errors.. Errors..

Most of the errors I came across were a result of my lack of exposure to any programming language for such a long time. Luckily Xcode is really good at picking these up even before you try to run it. For example, if you are trying to use a variable which hasn’t been declared because you’ve either made a typo or forgot to declare it. Xcode will give you a friendly message ‘use of unresolved identifier’ and highlight it.

Error if you have not declared a variable.

Error if you have not declared a variable.

Other errors I made were syntactical in nature, using the [ bracket instead of ( and vice versa. Most of these could be solved on my own by taking time to analyse what I did or comparing it to Rob’s solutions in his video tutorials.

However, one error which I really struggled with was when my app would not compile and run. It would exit with:

libc++abi.dylib: terminating with uncaught exception of type NSException

What did this mean?! I did have a suspicion. In my Storyboard I had ctrl, left clicked and dragged a label onto my ViewController to create variable but misspelt it. So I deleted the code from the ViewController and did it again. Then I changed my mind about the name and deleted it again. I suspected that there was some connection from the label to the variable I wanted to use. Re-creating my app from start again would probably of solved this but that was not an ideal solution.


Swift outlet error

So a lot of time was spent pondering how I would solve this. Luckily I have access to the creator for the online video course for iOS and Swift development. You can delete the referenced outlet and to do this all you do is, right click the object on the storyboard, in this case a label and a menu appears where you can delete the unwanted outlet.

On the picture on the right you can see that there are four referenced outlets. I just deleted the three where I had also deleted the variables in the ViewController. Happy days!

Don’t forget! Problems like this can be posted on the forums.

Onwards and upwards!

I’ve barely scratched the surface of what is offered on this involving course. There’s a cliche ‘learn by doing’ and with this programming video training course on iOS Swift video, it’s definitely the case. And I will be blogging my experience and progress with this course in the next few weeks.

Paninis & PHP: Three Challenges I Faced In My First Dev Project

I’ve tried to fight it over the years, but there’s no use in denying it anymore. My name’s Andy and I am a web geek.

Since February this year, I’ve worked with Rob at Eco Web Hosting to help him find more time to work with on his Udemy courses. If you’re an Eco Web Hosting customer, you may have seen my name before.

If not, hello!

I didn’t come to The Complete Web Developer Course as a complete beginner to web development.

I’d made a few static HTML sites in my late teens and spent the last couple of years working in the hosting industry, though until now, my focus had been mostly on supporting and maintaining the platforms, rather than development on them.

My last job meant I needed to know how to read PHP to an extent, but that extent was the writing of <?php phpinfo(); ?> (this creates a diagnostic PHP page that lets you check various limits and settings in PHP).

I’d never developed a project of my own in PHP though.

Rob had always managed Eco Web Hosting through the customer control panel and directly in the back end database, but there’s only so long a business can grow without an admin system to manage all the data.

It was time for a CRM. Here’s what I’ve learnt from my challenges so far.

Continue Reading