Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
I think I just have to keep going, even if I have to go over the same thing ten times, I’m sure there must be a point where it “sticks” and makes sense?
I'm not sure if it will "stick", but you will get better solving problems/challenges and it will get easier. Also, since this is a Apple forum... think different. There is more than one solution to a problem. Solve a problem differently. The outcome will always be the same, but how you get there differs. And don't forget to make mistakes. The best way to learn is to make mistakes and understand them later on, so you won't make them twice. That's something that will stick in my experience.
 
  • Like
Reactions: The Cockney Rebel
I'm not sure if it will "stick", but you will get better solving problems/challenges and it will get easier. Also, since this is a Apple forum... think different. There is more than one solution to a problem. Solve a problem differently. The outcome will always be the same, but how you get there differs. And don't forget to make mistakes. The best way to learn is to make mistakes and understand them later on, so you won't make them twice. That's something that will stick in my experience.
Thanks, bud.

Appreciate the advice.
 
I'm teaching computer science at a university (bachelor/master students). While I have not taught entry level courses the past few years, I see that students have problems with the basics all the time. The basics are usually not syntax related, but the concept of solving a problem on an algorithmic level. I can only recommend to sit down with a piece of paper and a pen and solve the problem first. Use pseudo code or your "own" language, draw a diagram if it helps. Once you're done, translate this to actual code. So in the end, it doesn't matter what language you start with as long as you can solve the problem first and understand concepts of programming, such as variables, constants, loops, functions, etc. You can look up the syntax later.
I always thought that the vending machine was a good first project, even without actual coding. It is still relatable.
 
Hey, Doc ...

I just got a sale email from Udemy, and I got the course for £12.99 :).

I’m currently at my nan’s place, so will tuck in when I get back home on Monday.

If you like, maybe we can exchange emails in a PM to help each other along the way?

Happy holidays, my friend.

Happy Holidays to you as well.

I'll send you an private message with my email. Feel free to reach out and we can chat about the course as we go along. I really want to try to complete this iOS/Swift course this time around!
 
  • Like
Reactions: The Cockney Rebel
Happy Holidays to you as well.

I'll send you an private message with my email. Feel free to reach out and we can chat about the course as we go along. I really want to try to complete this iOS/Swift course this time around!
Nice one, Doc.

Look forward to it.
 
I joined in on this boys! Looking forward to code.

Got the Udemy sale and will start the courses later tonight.
I recognise your enthusiasm.

I ended up dropping out of the course. It was just too much for me to take in. Doc’s still going at it, but he may not continue for much further.

Good luck!
 
  • Haha
Reactions: alien3dx
Just signed up to the Udemy course. Been looking to get back into coding for years. Figured it’s worth a shot and for £10.99 very little to loose other than a few lockdown evenings.

Fingers crossed I can stick with it 😀
 
Hi, @andy2141, welcome to the Udemy course! I just started it 2 weeks ago, and I'm now on Lecture 95 (out of 541), so I'm only 17.6% of the way through the course. And it gets slower and harder as you move along...just giving you a heads up. But I will tell you that Angela Yu is one of the best tutorial instructors I've ever seen on Udemy or any other platform. As an American, I find her voice and British accent to be soothing, and she covers exactly the right kind of material to keep you interested and it's in small enough chunks to be understandable. It's just A LOT of information! Good luck!
 
  • Like
Reactions: andy2141
Not to discourage anyone, but I've always found courses on Udemy to be more of tutorials and not that good for learning. It follows the watch and repeat principle, without going deep into the material, which is required to really understand things. That's probably because these courses are offered by individuals who are not backed by a university. In contrast, couses on Coursera and edx are usually offered by universities, so these courses have been tested with "real" students at real universities. There's usually not much of a tutorial style. It's a little harder in the beginning, but since focus is more on understanding and not repeating, things usually get easier later on.

I find the pricing model on Udemy a little odd with discounts of over 90% all the time. Now it isn't cheap to make these courses and keep the forums alive. I've been part of a team who offer courses on edx, backed by two universities (Berkeley and UCSD) and it is very time consuming supporting the forums alone due to the number of people registering (I much prefer teaching directly in the classroom and/or with not too many students). But the >90% off prices scream like people want to make some quick money.

If iOS programming is of interest I'd highly recommend to check out Stanfords CS193p, it requires basic programming skills, but then quickly focuses on iOS. Paul is a great guy and he's been offering this course for the past few years. He knows his stuff and came to Apple when Jobs brought him over from NeXT back in the day. On top of that, the course is free. So if you just want to learn programming for iOS and don't need a certificate, then this is impossible to beat.
 
  • Like
Reactions: DrMotownMac
@GrumpyCoder - I fully agree; however, I am not sure if concepts like conditionals are really suited for absolute beginners, and PH is very into these advanced concepts in C193p.
That said, Paul is seriously skilled, probably the best course out there on Swift and iOS

Unfortunately, they apparently stopped recording PHs classes, so the latest available are a bit dated.
 
@09872738 2020 class is taught online due to the pandemic and videos/materials are freely available online: https://cs193p.sites.stanford.edu/

The previous stop of recordings was due to some technical issues they had. They started again the year after, but did not make it available publicly. Last time I spoke to Paul he thought about uploading everything to the website once the course finished. I didn't follow up on it, so not sure if that ever happened.
 
  • Like
Reactions: 09872738
@GrumpyCoder: ah, didn‘t know that, thanks for information. You know PH? Now I‘m envious...

I started watching CS193p when Evan Doll and Josh Shaffer did those, and those were great too, but I consider Paul Hegarty‘s lectures the best. Of course, a very subjective view...
 
@09872738 Paul (along with some others) was one of the guys who used to be around back in the PPC days. Back then (I can't remember the exact year, guess I'm getting old) it was actually possible to get in touch with Apple developers at WWDC, which not many people wanted to go to back then. The cost of the WWDC ticket was included in the developer membership (at least the higher priced options, along with 20% discount on Apple hardware). Back then, after meeting someone at WWDC, we simply picked up the phone and called them when we had trouble with something. On rare occasions for larger industry projects, it was possible to visit the Apple offices. All of that changed quickly with the success of the Intel Macs and iPhone when Apple grew much larger and simply couldn't do it the old way anymore.

I also studied with two guys who ended up with internships at Apple and wrote their thesis' there. Later on, when I started teaching myself, a few of my students ended up at Apple.

I'm not big into iOS/macos development anymore as I do little work in the industry anymore and my research area changed to AI, so I've lost a bit of touch with people in the Apple world. Usually I run into a few familiar faces whenever I have the chance to go to WWDC, have a drink and quick talk with them, but that's as far as it gets these days.
 
  • Like
Reactions: 09872738
I‘m also into AI these days.. funny sometimes. Never been to California though, so the luxury of just stopping by the infinite loop ain‘t given to me
 
Thank you, @GrumpyCoder! That's very useful information. So, if I'm someone who learned programming in FORTRAN and BASIC back in the 1980s, and has recently learned some basic Python and JavaScript, would I be able to handle Paul Hegarty's course? His prerequisites scared me off a few years ago, since he said something like how students in his class should have a strong understanding of object oriented programming. I "understand" what object oriented programming is, and I've even done a little of it in Python and JavaScript, but I wouldn't say I have a strong background or understanding of it. That being said, I DO have a very strong understanding of basic programming principles and logic, like variables, if-then statements, while and for loops, functions, arrays, dictionaries, etc.

Is there some other course I should take BEFORE CS193p? I don't want to spend a year taking prerequisites before I even take his class, but I also don't want to start his class only to ask, "What the hell is he talking about?"

Oh, and also, what do you think of David Malan's CS50 course from Harvard on edX? I've seen the first few lectures of that one, but I just don't know how useful it would be if I want to learn iOS development. If you know anything about that course, do you think that would give me enough of the prerequisites to understand the CS193p course?

You certainly make a good case for ditching the Udemy course and going to the Stanford course instead. Thank you again for your insight.
 
Last edited:
Thank you, @GrumpyCoder! That's very useful information. So, if I'm someone who learned programming in FORTRAN and BASIC back in the 1980s, and has recently learned some basic Python and JavaScript, would I be able to handle Paul Hegarty's course? His prerequisites scared me off a few years ago, since he said something like how students in his class should have a strong understanding of object oriented programming. I "understand" what object oriented programming is, and I've even done a little of it in Python and JavaScript, but I wouldn't say I have a strong background or understanding of it. That being said, I DO have a very strong understanding of basic programming principles and logic, like variables, if-then statements, while and for loops, functions, arrays, dictionaries, etc.

Is there some other course I should take BEFORE CS193p? I don't want to spend a year taking prerequisites before I even take his class, but I also don't want to start his class only to ask, "What the hell is he talking about?"

Oh, and also, what do you think of David Malan's CS50 course from Harvard on edX? I've seen the first few lectures of that one, but I just don't know how useful it would be if I want to learn iOS development. If you know anything about that course, do you think that would give me enough of the prerequisites to understand the CS193p course?

You certainly make a good case for ditching the Udemy course and going to the Stanford course instead. Thank you again for your insight.
Well, you need to understand what class methods and class variables are. Its not that complicated, honestly.

What is more difficult to understand is:
- Optionals and related things (Optionals chaining, etc)
- Reference vs Value types (Classes vs Structs)

Both these ideas are certainly not particularly easy to understand for beginners.

That said, if you understand the concept of pointers it should be doable.
 
Last edited:
  • Like
Reactions: MisterSavage
Well, you need to understand what class methods and class variables are. Its not that complicated, honestly.

What is more difficult to understand is:
- Conditionals and related things (Conditional chaining, etc)
- Reference vs Value types (Classes vs Structs)

Both these ideas are certainly not particularly easy to understand for beginners.

That said, if you understand the concept of pointers it should be doable.

To be honest the classes vs structs was a piece of cake for me and I only had basic knowledge of object oriented programming. What twisted my brain was closures. Optional were a little strange at first but closures took me a while to wrap my head around.
 
  • Like
Reactions: 09872738
To be honest the classes vs structs was a piece of cake for me and I only had basic knowledge of object oriented programming. What twisted my brain was closures. Optional were a little strange at first but closures took me a while to wrap my head around.
Yeah, the key is to know when to use value type vs reference types. This may take a while till it sinks in. And I agree on the clojures/blocks thing...
 
  • Like
Reactions: MisterSavage
Well, you need to understand what class methods and class variables are. Its not that complicated, honestly.

What is more difficult to understand is:
- Conditionals and related things (Conditional chaining, etc)
- Reference vs Value types (Classes vs Structs)

Both these ideas are certainly not particularly easy to understand for beginners.

That said, if you understand the concept of pointers it should be doable.

Ugh. So I'm already saying, "What the hell is he talking about?" And I haven't even seen any of the lectures yet! Conditionals? Conditional chaining? Reference vs. Value types? Pointers? Uh oh. So, hypothetically, if I didn't know what any of those words or expressions meant, where would I go to learn about them before taking this course?

To be honest the classes vs structs was a piece of cake for me and I only had basic knowledge of object oriented programming. What twisted my brain was closures. Optional were a little strange at first but closures took me a while to wrap my head around.

Closures... yes, I have tried to learn a little Swift in the past year or two, and closures and optionals were the things that made me quit. Again, if Paul Hegarty doesn't teach this information at the basic level, who does? What's the best way for a newbie to wrap his head around this?

To be honest, Angela Yu (of the Udemy iOS course) does explain optionals pretty well...at least much better than I understood it from Ray Wenderlich. I'm only about 20% through her course, but I have learned a lot about Xcode and some basics about Swift. Maybe I should just finish the Udemy course first and then see where I am. Perhaps the Stanford course will make more sense to me afterwards.
 
Closures... yes, I have tried to learn a little Swift in the past year or two, and closures and optionals were the things that made me quit. Again, if Paul Hegarty doesn't teach this information at the basic level, who does? What's the best way for a newbie to wrap his head around this?

Someone already recommended Paul's Hudson's free course and I agree with that. Here's what he says about closures:

"Obviously my goal is not to put you off Swift. Instead, my hope is that when you struggle with something you don’t ever think to yourself “I’m not cut out for Swift.” If you find closures hard it’s not because you aren’t smart enough – they are hard, so it’s just a sign your brain is working properly.

Don’t despair. Sometimes fighting to learn something makes it stick in your head better – there is no learning without struggle!"
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.