Programming advice

Brainbugg

Active Member
Joined
Jun 9, 2011
Messages
72
Reaction score
0
Hi Guys

I would like some advice on what would be the best way to learn how to develope Apple IOS Apps and also Android at a later stage.

I'm a total newbie when it comes to programming.

Thanks

Cheers
 
There are multiple institutions offering programming courses. Start with one of those courses or work through a book. You need to exercise your skills a lot! Think of some cool application that you need, and write it yourself instead of just googling for one. Once you learn a language it is infinitely easier to learn the next language.
 
If you are a complete newbie, you would need to learn programming first, while the frameworks recommended by Psykro are good, I would recommend first getting started learning the basics of JavaScript, since it sounds like you are starting from scratch.
 
For android, learn Java first. Will make your life a lot easier when dealing with the android sdk.
 
You need an Apple PC to develop iOS. The language is also a bit perculiar (Objective C).
 
well im currently programming for my ipad... i have a c# background...

so i have used flashbuilder from adobe to program its great. and i have even tested on my jailbroken ipad.

works great and there are a lot of help from adobe's side with guides and "hello world" guides

but like we said what is your background in programming??
 
well im currently programming for my ipad... i have a c# background...

so i have used flashbuilder from adobe to program its great. and i have even tested on my jailbroken ipad.

works great and there are a lot of help from adobe's side with guides and "hello world" guides

but like we said what is your background in programming??

Any reason not to go with MonoTouch?
 
For iphone / ipad; the preferred way to go is objective-c -- There are no regular local courses (Core ran the last one in August, don't expect another before sometime next year) -- The best approach here is a good beginner's book... + don't forget you need a mac for xcode.

For Android the preferred way to go is Java; most local training institutions offer this + there are many good beginner's books to get underway.

As a pure beginner I'd strongly suggest you start with a few basic programs to see if you can grasp the concept behind coding and of course whether this is something you like (some youtube videos might help).

Monotouch / Monodroid are alternatives if you prefer to use c# + you'll learn a language that also covers the windows mobile platform.

Important Note: The SDKs (Software Development Kits) are very different for each mobile platform -- i.e. adaptation between platforms takes time...

Home Learning with iTunes U
If you have iTunes (US Account), an unlimited data connection (or a friend with one), and the discipline to learn by yourself -- you then could consider downloading US varsity lectures (from iTunes U)

I recommend you start with the very basic concepts and work on from there, for example:
  1. Stanford University - Programming Methodology (28 Lectures; ~24 hours +- 24Gb )
  2. Stanford University - Programing Abstractions (27 Lectures; ~22 hours +-22Gb)
  3. Stanford University - Developing Apps for iOS (18 Lectures; ~22 hours +-22Gb)
These courses cover C based languages (c, java, c++, objective-c + general programming / concepts).
 
Last edited:
We used the .pdfs found here: http://developer.apple.com/devcenter/ios/index.action (under Featured Content). We had them printed out for us to use during the classes.

Unfortunately we only had a handful of classes :( but I enjoyed learning what I did. I want to pick this up in the holidays :)
Apple's material is good; but not a great place to start for an absolute beginner -- usually there is just too many basic concepts to bridge. If you can I'd always suggest trying to follow the iTunes U approach as that pretty much gives you access to top university's materials without breaking the bank + the course is structured; you'll learn the basics and move on to the more technical stuff e.g. when you hit pointers the concept will be easy.
 
Last edited:
[)roi(];7124254 said:
Apple's material is good; but not a great place to start for an absolute beginner -- usually there is just too many basic concepts to bridge. If you can I'd always suggest trying to follow the iTunes U approach as that pretty much gives you access to top university's materials without breaking the bank...

Fair enough :) For the course I did, most of us were (are) second year Computer Science students, so we weren't absolute beginners :) I'm actually not sure if any other students (as in, non-CS) participated because there were more than one time slots to go to and we each got assigned to two different ones haha. Sorry for the side track :)

Though you're right, the Apple material is good but probably not the best place for a beginner. I kind of missed the sentence where Brainbugg said he is a newbie to programming :o

Your approach is better :) but hey, if anyone else wants to use the Apple material, there's the link :)
 
Fair enough :) For the course I did, most of us were (are) second year Computer Science students, so we weren't absolute beginners :) I'm actually not sure if any other students (as in, non-CS) participated because there were more than one time slots to go to and we each got assigned to two different ones haha. Sorry for the side track :)

Though you're right, the Apple material is good but probably not the best place for a beginner. I kind of missed the sentence where Brainbugg said he is a newbie to programming :o

Your approach is better :) but hey, if anyone else wants to use the Apple material, there's the link :)
I wasn't aware that the local varsities had started offering objective-c courses; that's good to know.

Good luck with the coding -- hope you have a shiny macbook to practice on ;-)
You should try the Standford or MIT material for iOS development; pretty sure it'll get you ahead in the class ;-)
 
[)roi(];7124320 said:
I wasn't aware that the local varsities had started offering objective-c courses; that's good to know.

Good luck with the coding -- hope you have a shiny macbook to practice on ;-)
You should try the Standford or MIT material for iOS development; pretty sure it'll get you ahead in the class ;-)

It was an idea one of our very awesome lecturers had :) he's overseas now (got offered to do his PhD in the States) and we didn't ever get a replacement lecturer. Hopefully they can find someone to continue with this next year :)

Thank you! Unfortunately I don't, but I hope that changes very soon :)
That's a very good idea actually, thanks so much :D I like being prepared and knowing what's going on, this will definitely help :)
 
It was an idea one of our very awesome lecturers had :) he's overseas now (got offered to do his PhD in the States) and we didn't ever get a replacement lecturer. Hopefully they can find someone to continue with this next year :)

Thank you! Unfortunately I don't, but I hope that changes very soon :)
That's a very good idea actually, thanks so much :D I like being prepared and knowing what's going on, this will definitely help :)
Two cheaper options around the lack of a mac; look up hackintosh (mac os x on a PC) -- there are some experts on this forum who can help. Alternative is to load os x in a virtual machine; you could try the free Virtualbox from oracle. You really need access to os x and Xcode if you want to move ahead in this area.

I believe the content of the CS degrees (or at a minimum the electives) in South Africa needs a lot of improvement; they should be more relevant to the current industry trends; Unfortunately I have seen too many new SC degreed applicants, without any relevant experience pass my desk in the last 20 years. If you want a leg up on your colleagues then I suggest you cover this personally -- it can also be a great path to a masters (thesis) if this is a path you've considered.
 
[)roi(];7124596 said:
Two cheaper options around the lack of a mac; look up hackintosh (mac os x on a PC) -- there are some experts on this forum who can help. Alternative is to load os x in a virtual machine; you could try the free Virtualbox from oracle. You really need access to os x and Xcode if you want to move ahead in this area.

I believe the content of the CS degrees (or at a minimum the electives) in South Africa needs a lot of improvement; they should be more relevant to the current industry trends; Unfortunately I have seen too many new SC degreed applicants, without any relevant experience pass my desk in the last 20 years. If you want a leg up on your colleagues then I suggest you cover this personally -- it can also be a great path to a masters (thesis) if this is a path you've considered.

I shall have a look at those options! Thanks so much again :)
That's true, I got a bit sad when we were told it is a Mac only thing because I know how expensive Macs are and I don't have that money lying around haha! My plan is to work though, as well as hopefully smash these exams and pass as many subjects as possible and ask my parents very nicely to help with the difference :)

But I'll definitely give the options you suggested a try! It is worth it to get started on learning ASAP if I can't get the Mac right away :)

I agree. I felt this now with the most recent module we did. Very interesting to learn how operating systems function, the theory is all nice and detailed (fun times for tests) but I don't understand why we had to go into so much depth when the lecturer told us in one of the last lectures we had (it was something to this effect, not quoting word for word here): "You're all probably going to forget all this theory by next year, the most important aspect you can take out of this course are the labs." THOUGH I don't understand, we had four labs and very little emphasis on those labs too... So I'm basically going to forget everything I've learned and by the time I do honours, I'll be slapped in the face with a huge textbook :P

That sounds awful though :(

I definitely want to cover/pursue this :D and now with what you've told me, even more so :)
I am considering masters for sure :)

Thank you again for all your help! This is definitely motivation I need to get through these exams... Maths 2 is killing me :(
 
I shall have a look at those options! Thanks so much again :)
That's true, I got a bit sad when we were told it is a Mac only thing because I know how expensive Macs are and I don't have that money lying around haha! My plan is to work though, as well as hopefully smash these exams and pass as many subjects as possible and ask my parents very nicely to help with the difference :)

But I'll definitely give the options you suggested a try! It is worth it to get started on learning ASAP if I can't get the Mac right away :)

I agree. I felt this now with the most recent module we did. Very interesting to learn how operating systems function, the theory is all nice and detailed (fun times for tests) but I don't understand why we had to go into so much depth when the lecturer told us in one of the last lectures we had (it was something to this effect, not quoting word for word here): "You're all probably going to forget all this theory by next year, the most important aspect you can take out of this course are the labs." THOUGH I don't understand, we had four labs and very little emphasis on those labs too... So I'm basically going to forget everything I've learned and by the time I do honours, I'll be slapped in the face with a huge textbook :P

That sounds awful though :(

I definitely want to cover/pursue this :D and now with what you've told me, even more so :)
I am considering masters for sure :)

Thank you again for all your help! This is definitely motivation I need to get through these exams... Maths 2 is killing me :(
The theory of c and objective-c can be picked up without a mac (os x); but too be honest it's a lot easier once you are able to put theory into practice (through labs), plus with some practice you'll be less likely to forget.

The detail although not very apparent at first makes the more complex subjects down the road a lot easier to understand, for example -- learning the subtleties of how data types are stored and manipulated within a computer (float and double being the more complex) -- will ultimately make understanding things like variable / address pointers and conversion much simpler.

Hang in there with the Maths... it's one of those necessary evils (iTunes U btw also has lectures on maths).
 
I have used both Obj C, and Java for mobile devices.

The syntax of Obj C is very similar to C++. However there are significant differences, but if you learned the syntax of C++, you would be well on your way. It would also benefit you in the long run, as some classes (files) are written in C++, so you would be able to understand what's going on, and also more easily create custom extensions (functionality) yourself.

In addition to learning the Obj C syntax, you would also have to learn the iOS framework.
iOS Programming by Aaron Hillegass looks like a good book. I have read his one called "Cocoa Programming for Mac OS X, Third Edition" which is excellent.

If you register on Apple's website, you can download the full XCode IDE (for mac) which includes the iOS SDK. Using XCode, you will be able load all the example apps, view their source code, and run them in the iPhone or iPad simulator.
Play around with the examples, make changes, add stuff - you can learn a lot that way.
Also, try creating your own app, even by copying (or better, writing by hand) all the source code out of an example app, into a new app. Starting from scratch like this, will help you understand how everything is tied together, and what exactly is required when you create an app from scratch.

For Android, Java is mostly the recommended way to go. You can download the Android SDK, and integrate it into Eclipse.
Again, you would have to learn the Java syntax, and Java classes specifically related to Android.

Hope it helps.

Have fun.
 
Top
Sign up to the MyBroadband newsletter
X