With the advent of voice-based assistants and chatbots in our homes, our phones and our computers, businesses, stakeholders and developers want to learn about language processing. But how exactly do these devices understand human language? How can they interpret similar intents even when different words are used? What does Natural Language Processing mean and what are the steps involved? This workshop introduces Natural Language Processing to those with previous programming experience, though not necessarily in Python. Attendees start off with textual data and learn how to process it to derive useful insights that can be used in real-world applications. Tools introduced and explored include Jupyter, NLTK, pandas, sklearn and numpy. * Overview of natural language processing * Word and sentence tokenization * Part of speech tagging * Distance metrics * Stemming, lemmatization and word senses * Bag of words * N-grams * Word2Vec and topic modeling * Sentiment analysis * Brief module on neural nets and chatbots * Additional resources By the end of this tutorial, participants will be able to apply techniques of Natural language processing to textual datasets and create predictive models along with having sample projects to show in their portfolio. The vision is that participants feel motivated to create NLP-based applications and apply it to real-life examples like chatbots, analyze news sentiments, predicting gender from tweets.