4 ms·
Before starting with iPhone development I would have her to get a CS degree or at least some of the standard courses.
by grigy 16y ago
Before starting with iPhone development I would have her to get a CS degree or at least some of the standard courses.
- grigy 16y agoWhen giving -1 please leave some comments. I strongly believe that without understanding the basics of programming one can't become a good programmer. So it makes sense to spent some time and pick these courses.
- jacquesm 16y ago> When giving -1 please leave some comments. Agreed! > I strongly believe that without understanding the basics of programming one can't become a good programmer. Well, there are more ways to skin a cat. You can start by picking up some of the basics by practicing them with something that actually interests you. The 'basics' of programming can be taught in context, in stead of just by themselves in isolation. That way they are directly applicable, easier to remember and likely not quite as arcane as they would seem otherwise. What are the basics of programming anyway? Some would say 'recursion', others would say 'assignment', 'sequence', 'iteration'. But to explain those in a vacuum is very hard to do, there is no shared terminology. > So it makes sense to spent some time and pick these courses. It makes sense to spend time on those courses once enough background has been established to begin to parse those courses. We computer people hardly realize how our speech is permeated with jargon and assumptions about knowledge pre-requisite before you can take the next steps. A CS degree for someone that wants to dabble in iphone apps is over the top, a course is not to be compared with a one-on-one session with a dedicated teacher like the OP, concepts can be explained in context. I could teach you electrical theory, semiconductors, the various physical laws and so on. Or we could go and build a working radio. Which one of the two do you think would interest a beginner more? Then, after you've used that beginners interest and motivation you can casually introduce some of the theory and how that applies to the subject matter. I'm not sure if that's the 'proper' way to teach a subject, but it seems to be pretty effective.
- dagw 16y agoWell I didn't downvote you, but I still very much disagree. Having a solid foundation in CS is quite unnecessary for hacking together an iPhone app, and even if it was, going back to university is very ineffective way of quickly getting the necessary skills. If, for example, you gave a list of what you considered the most important CS basics for an iPhone developer it would be far more helpful than simply saying "get a degree". Then the person who was asking the original question could build a curriculum around just those parts.
- grigy 16y agoAgree. If the author agree with the idea of getting degree then we can figure out what subjects are required. By the short answer I just wanted to let you know my opinion, that it's very hard to get into programming without spending some time learning these subjects.
- dagw 16y agoI think the importance of a degree is very dependant on what your goal of getting into programming is. If your ambition is to one day be a senior engineer at a cutting edge software firm, then yes, a CS degree is probably time well spent. If on the other hand your ambition is simply to learn how to hack together handy utilities to make your current (non-programming) job easier then a CS degree is probably a complete waste of time.
- skowmunk 16y agoI don't mean to gang up on you, but if it helps in breaking your self-imposed constraints on yourself - to become an expert in something, or even understand something, one doesn't HAVE to go to a university. There are lots of university grads who are experts in nothing. There are lots of experts in this world who became experts in different areas even when they never put a step in college. Agreed.. university education, is definitely one of the many ways to accumulate knowledge. Its just that, its not the only way.
- RiderOfGiraffes 16y agoWriting simple code doesn't require a CS degree, it requires the right type of mind in the student, the right kind of thinking ability, and a good teacher. With those, simple code can be made to run quite early. Good structure can be imparted by an occasional coding partner. Writing your own code, then having someone partner and mentor with you for an hour or two can help you see what's good, what's bad, and what's ugly. The ways of designing interaction and structure can most easily be imparted in a few informal sessions based on real working code than it can in huge lectures with disinterested lecturers. Using libraries can most easily be done with someone to help you read the manuals and documentation. On the way, awareness of data-structures and their implications can easily be picked up, especially when something runs too slowly and your mentor helps you re-write your code using a quicksort instead of a bubble sort, or a trie instead of an unsorted list. And in six months you can have both, a working app and a good knowledge of the underlying CS ideas. Yes, you're missing the course on compilers, parsing, NLP, AI, optimisation and complexity theory, but you have a working app and solid foundations to learn more. You don't need a CS degree if you are the right student, and have a good mentor.
- grigy 16y agoBut people don't born with right mind. It's the hours and hours spent on solving problems make the right mind. Aren't you agree? What university gave me is how to think and learn.
- RiderOfGiraffes 16y agoNo, I don't agree entirely. University is not the only way to get an ability to think and learn - some people seem to have it before they go to university, some people don't have it even if they have gone to university. Perhaps for some people they do acquire it while at university, and even then it's correlation, not causality. What university gave me was access to materials and mentors, and a motivation to acquire both. I already had the ability to think and learn - I don't think I got much more of either from university, I just had the materials to apply them to. So if someone wants to learn programming, and has the motivation, and has the stick-to-it-iveness, and the drive, and the patience, then all university will do is require them to take more than they need, at a pace that might not suit them. A mentor is better if you already have the right mind-set.
- charliepark 16y agoProgrammers come from all kinds of backgrounds. Some are still in high school (no college). Some dropped out from college (no degree). Some went to college, but for something completely unrelated to programming (me). Would I be a better programmer if I had studied it in school? Almost certainly. But I tried taking a CS class, and it was so dry, so inapplicable, and so poorly taught (or, granted, I might not have been the best student), that I walked away from it thinking that programming was nothing I wanted to be associated with, ever. Instead, I got into front-end development. In time, I realized that to execute on the ideas that I had, I'd need to learn web programming — something my school didn't teach. SO, over time, I taught myself. To sum up: If his friend is excited about getting started programming, I wouldn't steer her towards getting a CS degree any more than I'd steer someone interested in music towards getting a music degree, someone interested in running to a kinesiology degree, or someone interested in writing to getting an English degree. People have interests and passions, and they should explore them outside of institutional structures like universities.
- grigy 16y agoActually I don't hold a CS degree either but I started programming at 12 and it took so many years to become a programmer.