Hero

Foundations of Data Science Part II

This course builds from the foundations in R programming covered in CPP 526 Data Science I. We will learn how to use custom functions to make analysis more efficient, build simulations and animations, create R packages, learn text analysis functions in R, and build a website using the Jekyll framework in GitHub.



PRINT THE SYLLABUS

Program Info

Program Title Program Evaluation and Data Analytics

Course Info

Course Title Foundations of Data Science Part II
Course Number CPP 527
Canvas Shell https://canvas.asu.edu/courses/99223
Course Level Graduate
Course Start-End August 19th to October 8th, 2021
Class Meeting Times Asynchronous
Class Location https://asu.zoom.us/j/87540573400

Course Instructors

Jesse Lecy Professor
Office Location: https://asu.zoom.us/j/87540573400

Office Hours

Jesse Lecy Flexible Zoom SCHEDULE

Lab Sessions

Discussion Session Time Monday, 12pm AZ
Discussion Session Location Zoom
Assignment Discussion Board SUBMIT A QUESTION

Textbooks

R Cookbook. Proven recipes Paul Teetor 2015 Not Required
R for Data Science Wickham, H., & Grolemund, G. Free Online Not Required
The Art of Data Science Peng, R. D., & Matsui, E. Free Online Not Required

I. Course Description, Course Goal and Course Learning Objectives

The Foundations of Data Science course sequence will cover the fundamentals of data programming – building unique datasets using APIs and custom tools, importing data from the cloud, linking multiple data sources, and wrangling processes to clean, transform, and reshape datasets. Advanced topics will be introduced such as writing functions, running simulations, writing packages for R, and de-bugging techniques. We will spend roughly a third of the units on graphing procedures and reporting packages.

This course, Foundations of Data Science II, will introduce the data preparation cycle: gather, clean, tidy, and wrangle the data to produce a custom research database.

After completing the course students will be able to:

  • Import data from multiple standard and nonstandard formats and data APIs.
  • Apply string processing and regular expressions to clean data and analyze text.
  • Generate new variables through transformations and group aggregation techniques.
  • Create an R package
  • Build a website using the Jekyll framework in GitHub

Course Prerequisites:

This course builds upon basic R programming material from CPP 526 Foundations of Data Science I.

II. Assessment of Student Learning Performance & Proficiency: Keys to Student Success

Assessment of student performance in this course is based on indications that the course learning objectives stated above have been achieved. Several areas of measurement will be used to produce a final student performance rating. These areas of performance assessment include the following:

  • Importing data through APIs.
  • Using text operations to clean datasets.
  • Creating new variables through transformations or calculations of group statistics.
  • Creating and documenting a new R package.
  • Building a personal website on GitHub

Students will demonstrate competency in understanding, producing and communicating results of their analyses through the following assignments:

  • Weekly labs that provide opportunities to consolidate and apply material from the lectures.
  • A final project that integrates several components of the learning objectives above.
  • Participation in discussion boards.

Assigned work, including the course final project, and the quality of active participation in the regular online discussion sessions that are a critical part of the course learning strategy are the tools the instructors will use to measure comprehension and skill; the student’s course grade is a direct reflection of demonstrated performance. Students should take stated expectations seriously regarding preparation, conduct, and academic honesty in order to receive a grade reflective of outstanding performance. Students should be aware that merely completing assigned work in no way guarantees an outstanding grade in the course. To receive an outstanding course grade (using the grading scheme described below and the performance assessment approach noted above) all assigned work should completed on time with careful attention to assignment details.

III. Course Structure and Operations; Performance Expectations

A. Format and Pedagogical Theory

Mastering advanced analytical techniques and data programming is like learning a language. You start by mastering basic vocabulary that is specific to statistics and data science. Through your coursework you will become conversant in the domains of regression analysis, research design, and data science. Progress might be slow at first as you work to master core concepts, integrate the building blocks into a coherent mental model of real-world problems, learn to translate technical results into clear narratives for non-technical audiences, and become comfortable with data programming skills. Over time you will find that your thought processes change as you approach problem-solving in a more structured and evidence-based manner, you apply counter-factual reasoning to performance problems, and you start reading the news and viewing scientific evidence differently. You begin to think and speak like a program evaluator.

By the end of this degree you will be conversant in statistics, research design, and data programming. Fluency takes time and will be developed through professional experience. It requires you to practice these skills to develop muscle memory. You can do this through participating in evaluations on the job and gaining experience building and cleaning data sets from scratch. Understand, though, that this degree focuses on building foundations for your career. Don't be nervous if it feels like it's impossible to master all of the material in this program – it is impossible to learn everything in this field in a year.

Similar to immersion in a language, the best way to learn the material is to be consistent in doing course work each day. The more frequently you revisit concepts and practice data programming the more you will absorb. The curriculum has been designed around this approach. Lectures are split into small units, and each unit includes questions to test your understanding of the material. Weekly labs allow you to spend some time applying the material to a specific problem. The final exam at the end of the semester is designed to help you make connections between concepts and consolidate knowledge. You will be much better off spending a small amount of time each day on the material instead of trying to cram everything into a couple of days a week.

Online discussion boards are design for students to engage with the material together. The purpose of online discussion sessions is threefold: (1) the online discussion sessions allow students to interact with their peers and share ideas and interpretations of the assigned material, (2) such peer-to-peer discussion online helps build professional relationships with potential future colleagues in the field, and (3) the discussions permit the instructor to assess student engagement with the assigned material.

The online discussions are explicitly intended to meet the objectives stated above. They are not intended as another form of "lecture" where the instructor provides commentary and students simply react to that. Rather, the discussions are a chance for peer-to-peer interaction and proactive engagement by each individual student.

B. Assigned Reading Materials

We will use some chapters from the program textbook.

The following texts are recommended as good reference material for topics covered in this course:

  • Wickham, H., & Grolemund, G. (2016). R for Data Science. O’Reilly Press. FREE ONLINE
  • Teetor, P. (2011). R Cookbook: Proven recipes for data analysis, statistics, and graphics. O’Reilly Media.
  • Sanchez, G. (2013). Handling and processing strings in R. Berkeley: Trowchez Editions. FREE ONLINE
  • Peng, R. D., & Matsui, E. (2015). The Art of Data Science. A Guide for Anyone Who Works with Data. Skybrude Consulting, 200, 162.

In addition to the required textbooks, the instructor will supplement the assigned unit readings with various journal articles, policy reports, or other related material. These will be made available in the course shell in Blackboard.

C. Course Grading System for Assigned Work, including Final Project:

Letter grades comport with a traditional set of intervals:

100 – 99% A+*
98 – 94% A
93 – 90% A -
89 – 87% B+
86 – 84% B
83 – 80% B –
Below 80% C, D, F

*An A+ is given at the discretion of the professors, and is normally limited to one or two students per term.

The assigned work for the term comes in the form of four elements, described below:

  • Weekly Labs (50%): Each week you will receive a short lab that will help you synthesize the lectures from the week though exercises that involve data, analysis, and important formulas from the lectures. These labs contain exercises that are similar in form or difficulty to what will be presented on the final exam. They are graded pass / fail by the instructors based upon an assessment of whether you have sincerely attempted the lab and answered over half of the questions correctly. This is designed to hold you accountable for the material, but not create anxiety about perfection.

  • R Package (10%): Labs 01 and 02 require you to write functions to generate your solution. You will have an additional assignment to build an R package with these functions and make it available for others to use.

  • RMD to Jekyll Project (15%): The final project in the course will require you to create a template for automating a report in R. You will publish the report as a GitHub (Jekyll) website.

  • Explainer Assignment (10%): You are invited to pick one topic from the class that you want to learn more about, or that you think might provide value to your classmates. Create a short tutorial to make your topic accessible to your peers. It can be a blog post, a video, a GIF, or a tutorial that explains an important concept from data programming, presents a helpful framework, illustrates a useful R tool or approach to data programming, or introduces classmates to a new package or function.

  • Yellowdig Practice Problems (15%): Each week I will post a list of review questions or brain teasers about the R language. You will be invited to submit solutions or explanations to the problems on Yellowdig and discuss with classmates. You need to earn 100 points over the 7 weeks to earn full credit for participation in practice problems. The points will be allocated as follows:

    • 4 points for a new pin.
    • 3 points for a comment made to another pin.
    • 2 point if you receive a comment on your pin.
    • 1 point for liking another pin.
    • 5 points if you earn an instructor badge for an informative post.
    • max of 20 points can be earned each week.


D. General Grading Rubric for Written Work

In general, any submitted work written work (assignments and/or exams) is assessed on these evaluative criteria:

  • Assignment completeness – all elements of the assignment are addressed
  • Quality of analysis – substantively rigorous in addressing the assignment
  • Demonstrated synthesis of core concepts from lecture notes and ability to apply to new problems

Most assignments in this course are labs that are graded pass-fail based upon completeness and correctness of responses (every attempt must be made to complete labs, and they must be more than 50% correct to receive credit). Discussion boards that accumulate points through each activity on the board.

The final project will be accompanied by a rubric describing the allocation of points and criteria for evaluation.

E. Late and Missing Assignments

Grades for the course are largely based on weekly labs. Assigned work is accompanied by detailed instructions, adequate time for completion and opportunities to consult the instructor with questions. As a result, each assignment element in the course is expected to be completed in a timely fashion by the due date. Once solutions are posted it is no longer possible to receive points for assignments.

F. Course Communications and Instructor Feedback:

Course content is hosted on this website. Lecture files, assignments and other course communications will be transmitted via this site and/or through the class email list. All assignment submissions will be made through the Canvas shell.

Please post lab questions on the Get Help page on this site, schedule individual office hours using the Calendly link provided above, and email the instructor directly instead of using the Canvas system.

Students should be aware that the course instructor will attempt to respond to any course-related email as quickly as possible. Students are asked to allow between 24 and 48 hours for replies to direct instructor emails, generally, as a reasonable time to reply to questions or other issues posed in an email. Additionally, the general timeline for instructor grading or other feedback on assignments, either writer work or online discussion work, is between 5 and 10 work days.

G. Student Conduct: Expectation of Professional Behavior:

Respectful conversations and tolerance of others' opinions will be strictly enforced. Any inappropriate language, threatening, harassing, or otherwise inappropriate behavior during discussion could result in the student(s) being administratively dropped from the course with no refund, per ASU policy USI 201-10. Students are required to adhere to the behavior standards listed in the Arizona Board of Regents Policy Manual Chapter V—Campus and Student Affairs .

H. Academic Integrity and Honesty

ASU expects the highest standards of academic integrity. Violations of academic integrity include but are not limited to cheating, plagiarism, fabrication, etc. or facilitating any of these activities. This course relies heavily on writing and original critical thought. Any student who is suspected of not producing his or her own original work will be reported to the College of Public Programs for investigation. Plagiarism will not be tolerated. Any student who plagiarizes or otherwise fabricates his or her work will receive no credit for that assignment. It will be recorded as zero points—and the student will risk a failing grade for the course. For more information, refer to http://provost.asu.edu/academicintegrity.

I. Student Learning Environment: Accommodations

Disability Accommodations: Students should be fully aware that the Arizona State University, the MA in EMHS program, and all program course instructors are committed to providing reasonable accommodation and access to programs and services to persons with disabilities. Students with disabilities who wish to seek academic accommodations must contact the ASU Disability Resources Center directly. Information on the Center's procedures, resources and how to contact its staff can be found here: https://eoss.asu.edu/drc/. The Disability Resources Center is responsible for reviewing any student's requests; once that review has taken place, the Center will provide the student with appropriate information on academic accommodations which in turn will be provided to the course instructor.

Religious accommodations: Students will not be penalized for missing an assignment due solely to a religious holiday/observance, but as this class operates with a fairly flexible schedule, all efforts should be made to complete work within the required timeframe. If this is not possible, students must notify the instructor as far in advance as possible in order to make an alternative arrangement.

Military Accommodations: A student who is a member of the National Guard, Reserve, or other branch of the armed forces and is unable to complete classes because of military activation may request complete or partial unrestricted administrative withdrawals or incompletes depending on the timing of the activation. For more information see ASU policy USI 201-18.

IV. Course Schedule and Unit-specific Learning Objectives

A. Schedule: Overview of Readings and Assignments

As students are all aware, ASU Online courses are typically offered on a seven and a half week schedule. A schedule for each week of the term is outlined here; the course is divided into seven units with specific learning objectives for each unit.

Please note: the course instructor may from time to time adjust assigned readings or adjust the due dates for assignment. The basic course content approach and learning objectives will not change, but slight modifications are possible if circumstances warrant an adjustment.

Use the Schedule tab on the navigation bar for detailed information each week.

Couse Schedule

Unit 1: Programming Control Structures

Unit 2: Simulation

Unit 3: GitHub Pages

Unit 4: Regular Expressions

Unit 5: Data APIs

Unit 6: Tidy Data

Unit 7: Customized Reports in RMD