Python for the novice programmer?
May 11, 2017 7:48 AM   Subscribe

My wife is a technical writer interested in experimenting with text analysis. She wants to learn Python to play around with the various sentiment analyzers and other cloud machine learning tools. She has no programming background at all. Are there any online courses or MOOCs you would suggest as being good for beginners?
posted by blahblahblah to Computers & Internet (15 answers total) 35 users marked this as a favorite
I knew Matlab before I did the Codecademy Python several years ago, but I'm pretty sure it starts from zero.

If you're not developing, and just using off-the-shelf tools, there's some of it that's unnecessary. She might get further by just looking for Jupyter notebooks (f.k.a. iPython notebooks) or other tutorials where those tools are used. For example.
posted by supercres at 7:54 AM on May 11, 2017 [1 favorite]

Yeah sentiment analysis is extremely basic, there should be a number of off-the-shelf online tools where one uploads a corpus, and the analysis is performed.

The NLTK book is free and there are a number of tutorials online. R also gets a bad rap for text analysis but is actually quite good--she can download Rstudio today and get working. The biggest PITA for text analysis, IME, is simply getting the data in the right format.
posted by MisantropicPainforest at 8:21 AM on May 11, 2017 [1 favorite]

She might look at Python the Hard Way. The version I linked to is free but there's paid options with things like video lectures.
posted by Candleman at 8:21 AM on May 11, 2017 [5 favorites]

Udemy's Complete Python Bootcamp was recommended to me (I've only barely started it though). And it's on sale today!
posted by neushoorn at 8:36 AM on May 11, 2017 [1 favorite]

I found the Programming Historian to be quite helpful when I started out with python.
posted by wollaston at 8:36 AM on May 11, 2017

PyLadies could be a great resource for her— if she's lucky enough to be near one of their locations they are a very welcoming group to newcomers.
posted by Static Vagabond at 8:50 AM on May 11, 2017

If she wants something more rigorous than the Codecademy Python course there are a couple of versions of MIT's Introduction to Computer Science and Programming Using Python online. (That link goes to MIT's open courseware, and also includes a link to the EdX version).

I used it as my introduction to programming and found it extremely useful.
posted by firechicago at 9:01 AM on May 11, 2017 [3 favorites]

Dive into Python is another free resource.
posted by mmascolino at 9:16 AM on May 11, 2017 [3 favorites]

I usually get students of mine with zero programming knowledge to pick up Processing as its got great visual feedback, and the tutorials provide a good gateway to the fundamentals of programming in general.

After that, it's pretty straightforward to move on to what language is we use (in my case, its python & c).
posted by TrinsicWS at 9:31 AM on May 11, 2017

Another vote for Learn Python the Hard Way. It was the main reason that I'm able to write python for work now.
posted by destructive cactus at 10:55 AM on May 11, 2017

Your wife might want to check out the Python for Everybody specialization on Coursera. This is aimed at people with no previous programming background.
posted by needled at 5:05 PM on May 11, 2017

Please do not use "Learn Python the Hard Way."

It insists on an obsolete version of Python that is missing many features.

The latest version of Python is Python 3.6.1.
posted by Combat Wombat at 7:52 PM on May 11, 2017 [1 favorite]

Combat Wombat: Amazon indicates a version covering Python 3 will come out July 17, 2017, but I am curious: What features do you feel lacking in the current Hard Way that cripple its pedagogical value?
posted by Chitownfats at 5:13 AM on May 12, 2017 [1 favorite]

I'm involved with a Python group whose mission is to teach Python to new programmers. One resource we use is the official python tutorial. Beginners should start with part 3 (the first 2 parts are about the interpreter and not relevant to beginners).

If she's interested in NLP and data analysis she should probably start with developing in Jupyter notebooks like supercres said.

If she wants to use a text editor she should avoid IDLE at all costs - Atom is a good, free graphical editor.

She should also consider attending her local Python meetup. Python programmers are a really nice group of people and are really happy to help beginners.
posted by Lycaste at 10:17 AM on May 12, 2017 [1 favorite]

Chitownfats: There are many, many reasons not to use Python 2. The ones that clobber beginners hard are its weird integer arithmetic, the strange inconsistency of its class model and the lack of decent text generation.

You can learn perfectly well on Python 2.7, just as you can learn to drive in a 1957 Ford Edsel. But why would you? Python 3 is not only better in every respect, but people are actually maintaining it.

My real objection to "Learn Python the Hard Way" is the same as I would have to a person claiming that the only way to learn to drive is in a 1950s jalopy, just like they did. It completely undermines their credibility.

New programmers should have the best tools. The best Python is not 2.7
posted by Combat Wombat at 6:42 AM on June 29, 2017

« Older Automaton-watching locations in Ottawa.   |   Looking for online form/spreadsheet to help plan... Newer »
This thread is closed to new comments.