Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Sounds like you might want to try coding that right in the spreadsheet itself. Excel comes with many statistical functions, and I believe it can use VBScript for actual coding.
Correct. It's called VBA (Visual Basic for Applications) and it's very powerful. I have done some pretty cool things using it in Excel and Visio
 
Well, I'd love to be able to build a program that analyzes a set of data to determine if there's any statistically significant patterns over a period of time. Ideally, this program would be able to automatically extrapolate the relevant data from source files such as excel, and then automatically generate graphical output of the results.

For example, let's say I want to analyze enrolment data for an academic department over the period of two semesters. This would include information such as course title, year of study, day/time, instructor, classroom, and so on. I have data from each week of each term, and so I can track how enrolment has fluctuated over the two-semester period. Ideally, this program would be able to automatically extract/format the relevant data from the weekly spreadsheets, and then perform statistical analysis to determine what is the principal driver of, say, dropping enrolment numbers. This could provide useful insights -- e.g., courses scheduled before 9am have high drop rate, Prof. X has excellent student retention rates, etc. In addition, it would be helpful if visual aids were automatically generated based on the output results (e.g., graphs, pie charts, etc.).

I just described SPSS, lol. But seriously, I'd like to be able to create a program like this, but designed for one very specific purpose, so that I can simplify the functions and layout, thus making it more accessible for non-technical users. I'm absolutely neurotic about UI functionality and design, so although I could probably find a program to meet my computing needs, I'm unlikely to ever be entirely satisfied with it.

I realize this isn't a feasible project for a beginner, but hey, you asked!


Data Analytics and the UI issues are tough, tough problems. There is a reason that companies pay a lot for these products and entire companies form up around them. Harder than "learning" to program. That said these are not unworthy goals. Don't learn how to program as your first step, immerse yourself into the problem. Become an Excel expert. It is an amazing tool especially as you move from just plopping stuff into a spreadsheet to designing solutions. Figure out how to make it work from within the program. Maybe you'll be done when you figure it out. But if you're not, you will have an acute understanding of the problem and how Excel isn't working for you to solve it. THEN figure out what you would do differently. What it would look like if you did it differently. And that will help give you answers. Is it a programming problem? Is it a language problem? Is it an application problem? Is it a platform problem? Excel is going to be as inscrutable as a blank page in an IDE when you are beginning, but it really is an incredibly flexible tool that will let you massage and discover information in your data. It is almost always a matter of discovering HOW to do that, that is the problem. Making it easier for a non-technical user is extraordinarily difficult for a novice to pull off.
 
Hi All,

I'm interested in computer programming as a modern form of literacy, but it's very difficult for a beginner to navigate the programming literature/landscape. Would anyone recommend Swift or Swift 2 as a first programming language? If so, what resources would you recommend? Are there any (free) online courses on Swift that are geared toward absolute beginners? My research hasn't turned up much.

I gravitated toward Swift because its a modern programming language that isn't likely to be eclipsed anytime soon, and since I'm only interested in programming for the Apple ecosystem, it seemed like the logical choice. Is there anything I should be aware of here?

I'd prefer to work on a specific project so that I can maintain momentum and confidence by setting small, achievable goals. Unfortunately, I know so little about programming, I don't know what would even qualify as a feasible project. I think this is why I would benefit from a highly structured course/tutorial, where small projects are basically assigned to you. Does any of this make sense?

I'm somewhat technical, but I have no background in computer programming. The closest experience I have to programming is elementary symbolic logic, which isn't saying much. I also work at a university, so I have the option of taking a formal course and only paying the incidental fees (~$100). Should I go this route instead? My only concern is being taught a bunch of other things that I don't want/need to learn -- I'm not interested in the history of programming, for instance.

Playing around on Code Academy has been fun, but they don't have anything for Swift. Any advice would be appreciated, but please keep it civil. Thank you!
I truly have problems with people advising to first learn another language to finally learn swift. Don't get me wrong, I have a lot of respect for my fellow contributors to this thread. I also understand the reasoning behind it. You first tackle an "easy" language. Then you move on to other languages. Indeed resources on swift are not that common as resources on objective-C and python etc.

I do not know about python. I do strongly advise going into objective-C. Why? I learned objective-c myself, and now I'm learning swift. Objective-C has its own reasoning, loves pointers, etc. Swift almost understands the art not to talk about pointers. And yes I agree the OP (= operator) ought to know what a pointer is. But then I want to talk about learning efforts.

By the time the OP copes with objective-C swift 4 might be out. I do not know how much time it takes to learn python. It is a bit of a shame but it's true most courses aim at iOS development and not macOS. Let's tare them apart in two sections, starting with swift.

I just finished a book about swift itself. It's called "Swift in 24 hours" and it's good. You can get a free sample of it in the iTunes store: https://itunes.apple.com/us/book/swift-in-24-hours-sams-teach/id945702726?mt=11. Secondly, once you have learned swift you ought to find a course about macOS development in swift. Apparantly Apress has a book on this subject. I do not know if it's good: http://www.apress.com/9781484203774.

Why am I suggesting this route? Simple, it will save you a lot of time. That time can be invested in trying things out. Stumble, fall, and learn. But do it in swift as you intend to program in ... swift.

ps: I did get objective-C in the long run. I just wished swift came out a year sooner. For in the long run I had to learn swift. But it's a matter of opinion I guess. I'm looking forward to producing apps, more than learning new languages. That being said, my fellow contributors above are really good, and I myself can still learn a lot of them and hold them in high esteem.
 
Thanks for all the advice. It looks like Python is the way to go, so that's where I'll be starting. I already downloaded a tutorial series for absolute beginners, and I'll be reading "Practical Programming - An Intro to Comp Sci using Python 3" as well.

I managed to find an old website for the Intro to Programming course that I was interested in taking. The lecture slides, exercises, and assignments are all posted, so I could probably follow along and pick up most of the material. I likely won't be able to register in the course because the 4 hours of instruction per week will conflict with my work schedule.

Briefly, the course instructs students to download Python 3.4 (Anaconda Distro) and WING 101 IDE. Do I actually need to download both, or can I work within Xcode? I don't know if these programs were selected for their cross-platform compatibility, but I'll be working exclusively on my MBP. Thanks again, all.

P.S. The only reason why I want to learn programming is to stay sharp and solve problems, so I think my heart is in the right place. Time will tell!

XCode (The IDE) doesn't support Python - but I recommend Eclipse http://www.eclipse.org/ along with PyDev http://pydev.org/

One piece of advice, when learning programming - don't set your initial expectations too high - or you'll get frustrated when you don't attain them quickly. Set reasonable goals - and then slowly set loftier goals as you reach them.

Looks like there is a Python tutorial on iTunes U: https://itunes.apple.com/us/itunes-u/hands-on-python-tutorial-chapter/id448754574?mt=10
 
Hi All,

I'm interested in computer programming as a modern form of literacy, but it's very difficult for a beginner to navigate the programming literature/landscape. Would anyone recommend Swift or Swift 2 as a first programming language? If so, what resources would you recommend? Are there any (free) online courses on Swift that are geared toward absolute beginners? My research hasn't turned up much.

I gravitated toward Swift because its a modern programming language that isn't likely to be eclipsed anytime soon, and since I'm only interested in programming for the Apple ecosystem, it seemed like the logical choice. Is there anything I should be aware of here?

I'd prefer to work on a specific project so that I can maintain momentum and confidence by setting small, achievable goals. Unfortunately, I know so little about programming, I don't know what would even qualify as a feasible project. I think this is why I would benefit from a highly structured course/tutorial, where small projects are basically assigned to you. Does any of this make sense?

I'm somewhat technical, but I have no background in computer programming. The closest experience I have to programming is elementary symbolic logic, which isn't saying much. I also work at a university, so I have the option of taking a formal course and only paying the incidental fees (~$100). Should I go this route instead? My only concern is being taught a bunch of other things that I don't want/need to learn -- I'm not interested in the history of programming, for instance.

Playing around on Code Academy has been fun, but they don't have anything for Swift. Any advice would be appreciated, but please keep it civil. Thank you!


I can't give you any advice about whether it's the right place to start, as I'm a complete beginner, but I have just started working through this free set of tutorials on swift - https://www.hackingwithswift.com
I have no prior experience of computer languages or programming, just thought it would be interesting. I've got through the first 3 without any problems, but all I am really doing is following instructions and typing. The learning by doing suits me though, and I think it is sinking in slowly.
Hope it may be of use.
 
Last edited:
When learning programming or coding for the first time, it's a far FAR easier path to pick a language designed or targeted for educational purposes and for which there already exists tons of books (for beginners, dummy's, idiots, mortals, etc.) and tutorials, etc. You can then pick and choose among learning paths until you find one that fits YOU.

Swift does not meet that spec just yet. (But might in a couple years). Unless, by sheer luck, the current docs match your brain's needs exactly.

It's easier to switch programming languages than to learn a harder/bigger one at the very start.

The currently best documented starter language is likely Python (used to be BASIC 30 years ago). Learn that at least to a basic level first, then learn Swift 2.

---

I both agree and disagree with this post. 18 months ago I started learning Python for all the reasons people have stated in this thread. Plus it does have many technical code libraries. Then Apple introduced Swift and I dropped learning Python and dropped using Pascal (which has been my mainstay for over 35 years.) There was some pain involved at such an early stage in Swift's life. But I still felt I made the correct decision. Now, with Swift 2.0 out AND Apple's announcement that Swift would be made open source .

1) I have no reservations whatsoever for a beginner to start with Swift 2.0. Do it.

There are plenty of tutorial books and videos out. However they are not all created equal and there is plenty of junk to wade through.

2) However, there is one learning resource that stands out above all other (In my strong Opinion) and that is

any tutorial that Simon Allardice has put out on general programming and Swift. His videos can be viewed through Lynda.com and now at Pluralsight. Yes, Lynda is paid service but well worth the nominal monthly cost (and I am very cheap.) Subs are monthly or annual. A couple months is all you need. Do it.

If you are going to do any Apple product programming, take all my advice from the above and square it.

Swift can be used as a general intro language but is also meant for production code. The advanced language features can be difficult to grasp but learn these later. Swift could be used in a two semester university course (intro programming and then data structures.) This is where Pascal got bogged down where many people always thought it was just for learning (and didn't really understand it wasn't - an C took over.) However that is past history. What is important now is that the (arguably) most successful company in the world made the decision to create and promote Swift. I have $1,000 to bet that it is here to stay and will be the language of choice in a few years.

One area which is not so nice (IMO) is the Cocoa and iOS frameworks. These are still based from Objective C and carry a lot of baggage. I'm hoping that someday the frameworks will be revamped but that might be awhile. But this goes beyond the original question.
 
I'm so damn lost now!!!

I was under the impression learning HTML,HTML5,CSS,PHP,Java-script,MYSQL for building apps.

Wasn't aware of Objective C
 
I'm so damn lost now!!!

I was under the impression learning HTML,HTML5,CSS,PHP,Java-script,MYSQL for building apps.

Wasn't aware of Objective C
It requires a degree of time investment. I have no clue how people that work a normal 9 to 5 job and then comes home to a family has any real time to really learn or keep up with programming. At least single people have the weekends to learn. :) I downloaded Unity3D for game development and now learning C# this weekend.
 
I'm so damn lost now!!!

I was under the impression learning HTML,HTML5,CSS,PHP,Java-script,MYSQL for building apps.

Wasn't aware of Objective C

> ...HTML,HTML5,CSS,PHP,Java-script,MYSQL for building apps

Those are for building web apps... Apps that run as web pages in your browser. People can and do use them to build other kinds of apps, but it takes some kind of additional wrapper.

Together these are powerful and for the most part each one has a pretty gentle learning curve. But it's fairly complicated to put it all together, which can make this a challenging place to start.

If you want to build iOS apps, Swift or Objective-C with Xcode is probably the most straight-forward place to start. The GUI builder, online help, code completion, tools, resource editors, etc. are all there and built to work well together. There are so many things to learn when starting out if you want to end up with an app so a comprehensive environment that minimizes that is really helpful.

Personally, I think Swift is a better place to start than Objective-C at this point.

(If you want to make 2-D or 3-D games, there are most specialized tools like Unity for that.)
 
Any new project you should do in Swift. I just started with Xcode and Swift, because I'm totally fed up with the available MP3 taggers for OSX (e.g. Kid3 is a POS). Maybe I'm reinventing the wheel, but I'm thinking of something like Tag&Rename for Windows.

Coming from Visual Studio and mainly C#, I must say Swift feels similar to C#. However, the language is somewhat confusing sometimes. For example the definition of (dynamic) arrays and adding elements (and values).

What also strikes me is the lack of examples to write an application. Took me ages to figure out how to add code to the app main menu, e.g. to open files.
 
There is an online course done by MIT on iTunes U that uses Python as its programming language. You can also do it in a web browser. Just go to ocw.mit.edu and find "introduction to computer science and programming."
 
  • Like
Reactions: mijail
2) However, there is one learning resource that stands out above all other (In my strong Opinion) and that is

any tutorial that Simon Allardice has put out on general programming and Swift. His videos can be viewed through Lynda.com and now at Pluralsight. Yes, Lynda is paid service but well worth the nominal monthly cost (and I am very cheap.) Subs are monthly or annual. A couple months is all you need. Do it.


i *HIGHLY agree - I have taken numerous courses by Simon on Lynda.com and I will definitely be signing up at Pluralsight when I see he has new courses available there.

It's one thing to be reading a book on Swift and typing in the examples - it's quite a bit different to be watching and listening to someone explaining the core fundamentals - as you type along with them.

With the videos - you know instantly if you did something wrong - since your output (in a playground for example) is not matching what is being shown in Simon's.

His material is top notch - as is his presentation, he is a true professional.

Note - his videos on Lynda.com assume XCode 6.x, so if you'd like to follow along using the same version of XCode as he is - don't upgrade to El Capitan until you are done...
 
Lynda have some great Swift courses and you can try it free for 10 days.

http://www.lynda.com/
I highly recommend any tutorials by Simon Allardice - Swift, Cocoa, iOS and the fundamentals of programming which are language neutral. His video courses are better than anything else by a wide margin including university courses in comp sci. They provide the quickest way to get into programming and design I have found. He provides good resources to follow up with. Someone mentioned the Nerd Ranch book. I did buy that and found it lacking for a beginner's book.

As for languages, I believe Swift will be pretty stable within 6-12 months and is the way to go. Don't waste any money on any tutorial or book which hasn't updated to Swift 2.0. There is a learning curve which is probably more difficult than Python (which isn't bad of a language) but if you want to code for the Mac and HI, you will be ahead of the game. Objective C is difficult. Apple's frameworks are difficult and more difficult than they should be in my opinion. I think the frameworks will change once Swift is at 3.0.
 
I can't give you any advice about whether it's the right place to start, as I'm a complete beginner, but I have just started working through this free set of tutorials on swift - https://www.hackingwithswift.com
I have no prior experience of computer languages or programming, just thought it would be interesting. I've got through the first 3 without any problems, but all I am really doing is following instructions and typing. The learning by doing suits me though, and I think it is sinking in slowly.
Hope it may be of use.

I like this tutorial also. I would start with Simon Allardice's tutorials first then go to _Hacking with Swift_ or the eBook _A Swift Kickstart_
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.