Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

nka389

macrumors newbie
Original poster
Dec 31, 2009
3
0
Hey all, my first post here.

I'm almost completely new to programing, having just a bit of experience in BASIC and Python (from School).

I'd like to learn to program for the iPhone eventually, but all guides point at the necessity of become familiar with C and proficient with Objective-C before tackling App development.

So, I've bought all three books in the "Citrus" series, Learning C on Mac, Learning Objective-C on Mac and iPhone App Development on Mac.

And here is the problem - I'm half way through Learning C on Mac. It all makes perfect sense and I'm able to do all the little exercises in the book like "predict what this piece of code will produce" or "spot what is wrong with this code". However, I feel I'm being loaded up with a lot of theory and not enough real, meaningful practice.

Could someone please direct me to examples of code I could look through? Better yet, are there exercise books that would give me a problem to solve and code, and then provide the proper code I could check against mine, to see what things could be done better? I'm talking sort of like school homework assignments... I'm at university studying Economics&Politics, but computers and everything related has been a hobby of mine since childhood.

Would really appreciate any help and guidance! Any books or links you can recommend, or even online video courses would be greatly appreciated!
 
If you're going to a university there should be plenty of resources there. Does the computer science department have a dedicated library? At my school, it was part of the math library. Try looking for that.

Try learning from more than one source. It's great that you bought a C text, but try different sources. You might respond to one author's style better than another.

Also, you don't have to study programming in addition to your economics and political studies -- they might overlap. I was an economics major and talked an economics professor into sponsoring a senior thesis that made a lot of use of programming (Mathematica and C). Political Science professors could also help if your programming involves a lot of game theory. Ask around the department and I'm sure you'll find faculty who are interested in computational models.
 
I'm afraid my university is exclusively a social sciences school - the London School of Economics - so there is no Computer Science Department.

Do you know of any good online websites for Objective-C? Can you think of any simple programs I could write?
 
One of my professors spent quite a bit of time lecturing and researching at LSE. As you already know, there are numerous famous Sociologists and Criminologists at your university. Many of these academics know a enough programming (especially statistical analysis) to steer you in the right direction. They should be aware of the resources available at your school. Good luck.
 
Small world... Good to know, I'll explore my options when I get back to uni after X-mas.
 
Can you think of any simple programs I could write?

Google keywords:
computer science exercises
computer science intro

Look for edu URLs, and find web-pages that support the institution's offered courses in CS. These frequently have exercises. For example:

http://www.cs.princeton.edu/introcs/cs/
http://chortle.ccsu.edu/CS151/cs151java.html

Both the above use Java as the programming language, but the programs described for the exercises can be written in any language.

You may find that seeing a fully written Java program has enough similarities to C or Objective-C that it can guide you in writing your own code. I think you'll also learn to identify the significant differences in the languages, such as not having to release objects in Java, and the 'new' vs. alloc+init vs. malloc/free idioms.

If you're willing to buy a book, I suggest Algorithms by Robert Sedgewick. There are versions for different languages (I have the "Algorithms in C" one). The book is a good combination of a reference book and a work-book. Every chapter describes algorithms and variations, and ends with exercises.

Another nice book is any of the "Programming Pearls" ones by Jon Bentley.

If you look for those books on Amazon.com, don't forget to check out the "people who bought this also bought that" section for each of those books. It may give you ideas of other books to check out, or other keyword combinations to google for.

Finally, visit a bookstore associated with or even located near a university or college that has a CS program. Look for used or obsolete textbooks. You can sometimes get obsolete textbooks at used-book stores, too, at very low cost.
 
Something you might want to look into is that some universities (this is true in the states) that specialize in one branch of education sometimes "partner up" with other universities. For instance, a technical university might partner with a liberal arts college and students from either school have an easy time to enroll in courses from both. You might want to check if your school has a similar arrangement with a technical school in the city.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.