Skip to content

UVADS/DS1002

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 

Repository files navigation

DS 1002: PROGRAMMING FOR DATA SCIENCE

Subject Area and Catalog Number: Data Science, DS 1002, 17126, Section 1

Year, Term: 2023, Spring

Class Title: Programming for Data Science

Level: Undergraduate

Credit Type: Grade (A-F)

Meeting Days : Tu, Th

Meeting Time: 2:00 – 3:15

Place: Ridley Hall, G006

Instructors

Natalie Kupperman, PhD, ATC

  • Office: Elson 186A (Old Student Health Center)
  • Email: kupperman@virginia.edu
  • Office Hours: Wednesdays from 1:30-3:00pm or By Appt

TA: Jiebei Liu (Isabelle)

Course Materials:

About the Course

Programming for Data Science is an introduction to essential programming concepts, structures, and techniques. Students will gain confidence in not only reading code but learn what it means to write high-quality code. Additionally, essential and complementary topics are taught, such as testing and debugging, exception handling, and an introduction to R.

What You Will Learn Along the Way

Understand the importance of data and programming for data science

  • Understand the relationship between data and data science.
  • Understand how data is related to programming.
  • Know broadly what kinds of data exist.

Confidently work in an appropriate programming environment

  • Confidently write code in IDEs and in the command line.
  • Be exposed to Visual Studio Code, Jupyter Notebooks, and R Studio.
  • Understand which editor is appropriate to which task.
  • Find and use documents, data, and code online.

Identify and use data types and data structures

  • Know the elementary data types for each language:
    • booleans, integers, floats, strings, etc.
  • Know the elementary data structures for each language:
    • Python: set, list, dictionary, and tuple.
    • R: vectors, list, matrix, factor.
  • Know some of the Python Scientific Stack:
    • Numpy
    • Pandas
  • Know and perform basic operations for each data type and structure.
  • Select and apply an appropriate data structure based on the problem requirements.

Read and write to and from various data formats

  • Read text and data files from disc.
  • Import data into a Pandas dataframe.

Confidently call and write functions and methods

  • Understand the structure and use of functions for programming.
  • Use built-in and import functions to perform fundamental tasks.
  • Correctly pass parameters and retrieve function output(s).
  • Use built-in object methods for data types and structures, e.g. string methods and dataframe methods.
  • Know what vectorized functions and methods are.

Confidently write a class and call its methods

  • Understand role of classes in organizing code.
  • Understand how classes group together variables as attributes and functions as methods into encapsulated components.
  • Understand how classes can inherit the variables and methods of other classes.

Use packages to augment existing data structures

  • In Python, NumPy and Pandas essentials (e.g. simple queries and small ML computation)
  • In Python and R, use a program API to utilize existing functions (e.g. assert statements.)

Write your own modules of classes in Python

  • Write classes and organize them into modules to make your more modular.
  • Make your modules sharable so that others can install them with Python's setup and install functions.
  • Write documentation for your modules so that others can make sense of them.
  • Write test scripts to go with your modules.

How You Will Know You Are Learning

This course will be a combination of mini-lectures and interactive coding. During all class sessions, you should expect to be following along on your device (e.g. code walks). During interactive coding sessions, you should expect to spend your time on your computer working through problems in a small group. The best way to become comfortable with the material is to continually practice. The idea by making this active learning class is that you can practice in an environment where you can ask questions and trouble-shoot with peers. Every class won't go perfectly, but week after week you should be more comfortable with the material

Assignments (~50%)

Quizzes (~40%)

Participation (~10%)

Grading

Courses carrying a Data Science subject area use the following grading system: A, A-; B+, B, B-; C+, C, C-; D+, D, D-; F. The symbol W is used when a student officially drops a course before its completion or if the student withdraws from an academic program of the University.

Grading Scale:

  • 93-100 A
  • 90-92 A-
  • 87-89 B+
  • 83-86 B
  • 80-82 B-
  • 77-79 C+
  • 73-76 C
  • 70-72 C-
  • <70 F

University of Virginia Honor System

All work should be pledged in the spirit of the Honor System at the University of Virginia. The instructor will indicate which assignments and activities are to be done individually and which permit collaboration. The following pledge should be written out at the end of all quizzes, examinations, individual assignments, and papers: "I pledge that I have neither given nor received help on this examination (quiz, assignment, etc.)". The pledge must be signed by the student. For more information, visit www.virginia.edu/honor.

Tech Stack

Canvas

Azure Labs VM

VS Code

Jupyter Notebooks

Command Line

RStudio

Resources

Textbooks

The textbooks are available for free through O'Reilly Media. You'll need to create an account through the University to access the library.

  • Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython, 2nd Edition, McKinney. O'Reilly Media / ISBN: 978-1-4919-5766-0

Freely available through the library: _https://learning.oreilly.com/library/view/python-for-data/9781491957653/

SDAC and Other Special Accommodations

If you have been identified as a Student Disability Access Center (SDAC) student, please let the Center know you are taking this class. If you suspect you should be an SDAC student, please schedule an appointment with them for an evaluation. I happily and discretely provide the recommended accommodations for those students identified by the SDAC. Please contact your instructor one week before an exam so we can make appropriate accommodations. Website: https://www.studenthealth.virginia.edu/sdac

If you are affected by a situation that falls within issues addressed by the SDAC and the instructor and staff are not informed about this in advance, this prevents us from helping during the semester, and it is unfair to request special considerations at the end of the term or after work is completed. We request you inform the instructor as early in the term as possible your circumstances. If you have other special circumstances (athletics, other university-related activities, etc.) please contact your instructor and/or TA as soon as you know these may affect you in class.

Student Mental Health and Wellbeing:

The University of Virginia is committed to advancing the mental health and wellbeing of its students, while acknowledging that a variety of issues, such as strained relationships, increased anxiety, alcohol/drug problems, and depression, directly impacts students' academic performance. If you or someone you know is feeling overwhelmed, depressed, and/or in need of support, services are available. For help, contact Counseling and Psychological Services (CAPS) at 434-243-5150 Monday-Friday, 8:00am-4:30pm and after-hours including weekends and holidays. For a comprehensive list of services provided by CAPS including individual therapy, group therapy, crisis services, and Outreach and Consultation, visithttps://www.studenthealth.virginia.edu/caps.

For a list of online resources students may access independently, visit https://www.studenthealth.virginia.edu/caps-online-resources.

For access to community mental health referrals, visithttps://www.studenthealth.virginia.edu/community-referrals.

Diversity and Inclusion

The School of Data Science expects everyone to contribute to an inclusive and respectful classroom culture that reflects the School's commitment to being a space in which you can find true belonging and a sense of shared community. The diversity (referring to the multiple ways that we identify ourselves, including but not limited to race, color, national origin, language, sex, disability, age, sexual orientation, gender identity, religion, creed, ancestry, belief, veteran status, or genetic information) of our classroom is a strength. You are expected to respectfully embrace the opportunity to engage, collaborate, and learn with/from a diverse team of classmates.

Additionally, I will note that it is possible that, even though our course material is primarily scientific in nature, there may be covert biases in the material due to the lens with which it was written. I welcome feedback and suggestions to improve upon the inclusivity of the material. We are all responsible for ensuring that our actions/experience align with our stated values. Please consider yourselves to be my accountability partners in creating an inclusive environment that supports a diversity of perspectives, do not hesitate to reach out if you have concerns, ideas, or questions about your experience.

As part of our shared effort to promote a classroom culture of inclusion, we will each have the opportunity to indicate our preferred name and pronouns. I will do my best to refer to all students accordingly.

If you find yourself in need of additional support, please consider the following resources:

SDS Associate Dean for DEI, Siri Russell ssr5v@virginia.edu

UVA Just Report It https://justreportit.sites.virginia.edu/

Student Safety and Title IX

The University of Virginia is dedicated to providing a safe and equitable learning environment for all students. To that end, it is vital that you know two values that we and the University hold as critically important:

  1. Power-based personal violence will not be tolerated.

  2. Everyone has a responsibility to do their part to maintain a safe community on Grounds.

If you or someone you know has been affected by power-based personal violence, more information can be found on the UVA Sexual Violence website, which describes reporting options and resources available.

As your professors, know that we care about you and your well-being and stand ready to provide support and resources as we can. As a faculty member, we are responsible employees, which means that we are required by University policy and federal law to report what you tell us to the University's Title IX Coordinator. The Title IX Coordinator's job is to ensure that the reporting student receives the resources and support that they need, while also reviewing the information presented to determine whether further action is necessary to ensure survivor safety and the safety of the University community. If you would rather keep this information confidential, there are Confidential Employees you can talk to on Grounds.

There are also other University of Virginia resources available. As noted above, the Student Health Center offers Counseling and Psychological Services (CAPS) for its students. Call 434-243-5150 (or 434-972-7004 for after hours and weekend crisis assistance) to get started and schedule an appointment. If you prefer to speak anonymously and confidentially over the phone, call Madison House's HELP Line at any hour of any day: 434-295-8255.

If you or someone you know is struggling with gender, sexual, or domestic violence, there are many community and University of Virginia resources available. The Office of the Dean of Students, Sexual Assault Resource Agency (SARA), Shelter for Help in Emergency (SHE), and UVA Women's Center are ready and eager to help. Contact the Director of Sexual and Domestic Violence Services at 434-982-2774.

Course Schedule (subject to change)

Semester Week Topic
Week 1 Introduction to Course
Week 2 Tech Stack Overview & Set-up
Week 3 Tech Stack Overview & Set-up
Week 4 Python Basics
Week 5 Python Basics
Week 6 Numpy
Week 7 Pandas
Week 8 Spring Break (no class)
Week 9 Control Structures, Iterable & Iterators
Week 10 Functions, Lambda Functions
Week 11 List and Dictionary Comprehensions
Week 12 Recursion, Functions Calling Other Functions
Week 13 Exception Handling, AI Pair Coding Exploration
Week 14 Python Review, Bring it all together
Week 15 R
Week 16 R

Homeworks & Quizzes

  • There will be a weekly homework and quiz. Both homeworks and quizzes are released on Thursday and due the following Thursday.

About

Repo for Programming for Data Science

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published