Skip to main content

Introduction to Programming for Data Science (201-0-20)

Instructors

Arvind Krishna

Meeting Info

Fisk Hall 217: Mon, Wed, Fri 3:00PM - 3:50PM

Overview of class

This course covers essential programming concepts and best practices needed to implement Data Science and Statistical methods as both effectively and efficiently as possible. Students will develop the ability to write code in both Python and R languages. For both languages, the course will cover basic coding concepts such as control flows, loops, functions, data structures, object-oriented programming and recursion.

Registration Requirements

High School Algebra

Learning Objectives

Install and use Python and R for programming requirements
Write, execute, debug and test code in Python and R
Incorporate appropriate data structures while coding in Python and R
Translate a problem from layman terms to a coding problem in Python and R
Incorporate best programming practices for writing efficient code in Python and R
Incorporate best practices for code reproducibility (version control, style guides, and commenting)
Be able to properly write and communicate with code in order to efficiently seek help and share coding work with others

Teaching Method

Most of the class-time will be spent by the instructor explaining concepts with the help of examples, and coding in class. The remaining class-time will be spent by students working on problems and asking questions.

Evaluation Method

Students will be assessed on the learning objectives with:
1) Weekly assignments: Students will have weekly assignments to practice and demonstrate the coding techniques taught during class hours.
2) Mid-term exam: Students will have a mid-term exam, where they will be assessed on their Python coding proficiency.
3) Final exam: Students will have a final exam, where they will be assessed on both their Python and R coding proficiencies.
4) Class participation: Students will have the opportunity to earn bonus class participation points by answering questions in class or on the online class forum.
5) In-class quizzes: There may be a 5-minutes quiz at the beginning of most of the classes.

Class Materials (Required)

• A laptop that is able to run Anaconda Navigator for Python programming and RStudio for R programming
• A Practical Introduction to Python Programming, by Brian Heinold, ISBN-13: 979-8848271577 (Free e-book)
• Hands-On Programming with R, by Garrett Grolemund, ISBN-13: 978-1449359010 (Free e-book)

Class Materials (Suggested)

• https://www.py4e.com/lessons (Python for everybody)
• http://openbookproject.net/thinkcs/python/english3e/ (How to think like a computer scientist)
• https://intro2r.com/ (An introduction to R)

Class Attributes

Empirical and Deductive Reasoning Foundational Dis
Formal Studies Distro Area