Thoughts on language for Intro to Data Science? Next term, I'm going to teach an introductory Data Science class for the first time. In the past, others have taught it in either R or Python. My first inclination was to teach it in R because the language is specifically for statistics (and not a general programming language like Python). However, I see a lot of promise in Python's Pandas library. I haven't used Pandas myself, but I have more than enough time that I could familiarize myself with it.

What are your thoughts on R vs Python vs a bit of both? 

Ultimately, the Data Science curriculum exposes students to both. Which do you think is more appropriate to begin?

Course details:


Prereqs include CS1 (C++) and Statistics
Topics include the analytics life cycle, data integration and
modeling, relational databases and SQL, text processing and sentiment
analysis, and data visualization. Emphasis is placed on reproducible
research, code sharing, version control, and communicating results to
a non-technical audience.
First of two DS classes as part of a DS certificate (Minor is &lt;
Certificate is &lt; Major) with predominantly Comp Sci and Stats majors
enrolled
I am currently teaching the Advanced DS class (the follow-up course)
with a concentration on R, but that could potentially change in the
future as well. Sooner or later, if they complete the certificate, they will get experience in both R and Python. The question is which comes first.
I can choose the textbook, but will give strong preference to free,
online resources
The biggest strength of R when it comes to Data Analysis is in its data visualization. As you've mentioned it is a more or less dedicated tool for statistical analysis. 

The thing with Python is that you can easily go a bit off course with the lectures because for Statistical Analysis you'll have to understand, install and work with different libraries/APIs for plotting (matplotlib/pandas/plotly) and processing your data (scipy/pandas again/numpy). These may take different approaches for installing and working with besides being tools on their own.

RStudio already sets up everything for you for the most part so you can just focus on implementation; if you happen to need something extra installing packages from CRAN is incredibly easy letting you do it from the script itself rather than opening a terminal with conda or pip or whatever.

My notes:


If your interest is teaching more Data Science, as a tool in itself, go with R. It will let you focus more on concepts which are general.
If you're interested in teaching General Programming as a tool for Data Science and maybe other things, go with Python. 
If you like both ideas, I'd start with R and replicate results with Python later to show its integration with different tools. This way your students will see both approaches are feasible in the case they go out there and see it in the job market.