Advanced Programming Topics in R and Python
Bootcamp Dates: June 1 - August 9
This bootcamp is fully online, asynchronous, and self-directed. This is not a "class".

All requirements, assignments, readings, and due dates can be found on the class outline HERE:

Class Outline and Requirements
Data Science and Analytics Director:
Dr. Ami Gates
Bootcamp Website

Assignment Submission HOW TO:

All class assignments will be submitted directly to the TA(s) via email.
*** PLEASE ONLY submit to YOUR TA. This Bootcamp will support over 150 students from different Programs. Please follow instructions. IF YOU ARE IN DATA SCIENCE AND ANALYTICS: Carefully review the "How to Submit Assignments" Link

If you are not in the Data Science and Analytics Program and are in another Program such as DSPP or HIDS, please follow the instructions emailed to you from that program.

HOW TO Submit Assignments

Director Contact Information:
Dr. Ami Gates, Director and Professor


Dr. Gates is not running or teaching this bootcamp. Please DO NOT email her with questions. Please contact your TA with any questions or concerns and to submit Assignments. Remember, this is not a "class". This is a self-direct review-style online Bootcamp that is intended to help you to review R and Python. BE SURE that you know who your TA contact is. Your TA will accept your submissions via email. All submissions are PASS or RE-DO. All code submitted should run.

TA Contact Information:

TA Group for Data Science and Analytics Students:
Name & Email
Doug Neumann *-*
Douglas Post*-*
Nicole Yoder*-*
Patrick Aquino *-*
Rain Wang*-*
Tom Malejko *-*
Wenhao Jiang*-*
Xinya Xu*-*

TA Group for Public Policy:

Please check with Public Policy for this information.

Office Hours:

Because this class is full online and self-directed, "office hours" are via email. If you have a question, please email your TA.

Required Textbooks:
I am not going to require you to purchase any books for this class. The Internet has many resources and I will create a list of recommended books and readings as well as my set of class lectures. Please see the class website for free and open readings and resources.

Required Technology:
1) R and RStudio
2) Anaconda/Python3
3) MS Word
** Python 2 is not acceptable.

The Georgetown Data Science and Analytics Program is offering this asynchronous and online self-directed bootcamp review to assist students in reviewing R, Python, and command line use.

1. Demonstrate at least an intermediate programming ability in R, especially for applications in data science, analytics, and visualization.
2. Demonstrate at least an intermediate programming ability in Python3/Anaconda, especially for applications in data science, analytics, and visualization.
3. Learn how to wrangle (prepare and clean) different types of data for analysis in R.
4. Learn how to wrangle (prepare and clean) different types of data for analysis in Python3.
5. Learn how use regular expressions for data wrangling in R and Python3.
6. Install, learn, and use packages in R that are specifically helpful for data science. I will include a list on the class website.
7. Install, learn and use packages in Python3 that are specifically helpful for data science. I will include a list on the class website.
8. Learn visualization tools, including Python/matplotlib, R/Leaflet, R/plot, and qplot/ggplot.
9. Become familiar with some command-line activities on Windows cmd and/or on MAC command line, as well as unix/linux.

This Bootcamp is designed to promote a considerable amount of practice. This class is fully online, remote, self-directed, and asynchronous. It can be completed at a relatively flexible pace - but does have due dates and deadlines to keep you on track. *Your* goal for this Bootcamp is to assure that you enter Georgetown this Fall as an intermediate or expert in R and Python3.

This is an online and fully asynchronous class. It is flexible. However, each Module has a "last day" which is the final due date for all assignments in that Module. Due dates must be adhered to so that the entire bootcamp can be completed.

This Bootcamp will be assignment-based. Students will complete readings, will review tutorials, and will practice - a lot. Assignments will generally be programming based. Specifically Assignments and due dates can be located on the outline. There are five assignments. However, if you feel that need more practice, please use the links offered at the end of the Course Outline to do so. All due dates are 11:59pm ET.
IMPORTANT: All assignments will be submitted via email to the Teaching Assistants for the class. Submit ONLY to YOUR TA. ***Following directions is very critical. Please READ the HOW TO SUBMIT ASSIGNMENTS and do as the page states.

This is not a class. This is a Bootcamp. It is pass/fail.
Assignments will be graded normally and a class average will be created for each student.
**Important ** All code (programs) that you submit must run. Otherwise “0” credit will be awarded for that assignment and you will be asked to redo it.
Passing: 83% or above
Passing means that you have demonstrated that you are now full skill and comprehension.
Failing means that you have not demonstrated sufficient comprehension or ability to be successful in the Analytics classes and so must review and resubmit.

TAs will check email 6 days per week. Please do the same! Check your email at least M – F and once over the weekend - so that you do not miss information that I email out or that the TAs email out. If you have a question, try to find the answer first. If you cannot, email your TA.

Grades and Points
There are no "points" per se. This is bootcamp is for YOUR practice and review. All submissions are either PASS or REDO.

Academic Integrity
Plagiarism or academic dishonesty in any form will not be tolerated and will result in a failing grade. All Honor Code violations will be submitted to the Honor Council and can remain as part of your permanent academic record.
It is NEVER worth it – never cheat – always do your own work!

Academic integrity is central to the learning and teaching process. Students are expected to conduct themselves in a manner that will contribute to the maintenance of academic integrity by making all reasonable efforts to prevent the occurrence of academic dishonesty. Academic dishonesty includes (but is not limited to) obtaining or giving aid on an examination, having unauthorized prior knowledge of an examination, doing work for another student, and plagiarism of all types, including copying code.
IF YOU COPY OR CHEAT AT ANY TIME DURING YOUR EXPERIENCE WITH GEORGETOWN you may be expelled. We have a zero tolerance for cheating, sharing, copying, or stealing the work of others. Do your own work.

You CAN use my code examples and code examples from the Internet. If you use code - ALWAYS understand and repurpose what you use. Never simply cut and paste code. You can NEVER use code from other students or people you know (other than me because I am giving you examples). If you are not sure if something is OK - do not do it - write your own code. The goal of this class is to learn. You cannot learn if you do not create.

Plagiarism is the intentional or unintentional presentation of another person's idea or product as one's own. Plagiarism includes, but is not limited to the following: copying verbatim all or part of another's written work; using phrases, charts, figures, illustrations, code, or mathematical / scientific solutions without citing the source; paraphrasing ideas, conclusions, or research without citing the source; and using all or part of a literary plot, poem, film, musical score, or other artistic product without attributing the work to its creator. Students can avoid unintentional plagiarism by following carefully accepted scholarly practices. Notes taken for papers and research projects should accurately record sources of material to be cited, quoted, paraphrased, or summarized, and papers should acknowledge these sources in footnotes.

About Programming

Programming (coding) can (and will) be frustrating and time consuming as well as exciting and rewarding. More than 75% - 80% of coding is the process of figuring out new things, determining methods and models, learning new syntax, finding and fixing your errors, bugs, and logic issues, and getting your code to do what you want it to do. Neither I nor the TAs will correct, debug, or error-check your code. This is your job and is a critical part of the learning new languages. Expect to get stuck. Expect to spend more time that you plan to spend. Manage your time wisely by starting early. While I will not review or debug your code, I will share a lot of my own code examples with you. This will help to save you a lot of time and will introduce many data science and analytics packages and libraries.

Passing: The assignment is complete and the code runs. The code is properly commented.
Not Passing: The assignment is not completed, and/or does not run.

All Assignments, readings, and requirements can be found here:
All Class Requirements