COVID-19 Considerations
This semester is going to be weird.
Instructor | Course |
---|---|
John Paul Helveston | Tuesdays |
Science & Engineering Hall, Office 2830 | Anywhere! |
+1 (202) 994-7173 | Aug. 31 - Dec. 12, 2020 |
jpg@gwu.edu | 12:45PM - 03:15PM EST |
@JohnHelveston | Slack |
Overview of online mode
This course provides a foundation in programming for analytics using the R programming language with a comparison to Python. Topics covered include fundamentals of programming (operators, data types, objects, functions, conditionals, loops, strings, testing, and debugging) as well as techniques for working with data sets in R and Python (file input/output, data structures, data wrangling, data visualization, external packages, and reproducible reporting). Emphasis will be on producing clear, robust, and reasonably efficient code using top-down design, informal analysis, and effective testing and debugging. Students will primarily work on individual programming assignments to develop skills in computational problem solving, writing code, and working with data. Students will be assessed through quizzes, homework assignments, and exams. Teaching will involve interactive lectures with plenty of time spent live coding and working on practice problems in class. This course assumes no prior programming experience and is an ideal preparation for higher level courses in data analytics.
There are no prerequisites. Students are assumed to have zero prior programming experience for this course.
Having successfully completed this course, students will be able to:
Learning a programming language can be as challenging as learning a new spoken language. Hadley Wickham - the chief data scientist at RStudio, and author of many amazing R packages you’ll be using - made this wise observation:
It’s easy when you start out programming to get really frustrated and think, “Oh it’s me, I’m really stupid,” or, “I’m not made out to program.” But, that is absolutely not the case. Everyone gets frustrated. I still get frustrated occasionally when writing R code. It’s just a natural part of programming. So, it happens to everyone and gets less and less over time. Don’t blame yourself. Just take a break, do something fun, and then come back and try again later.
If you’re finding yourself taking way too long hitting your head against a wall and not understanding, take a break, talk to classmates, ask questions in Slack, e-mail me, etc.
I promise, you can do this.
All texts and software for this course is freely available on the web. This includes:
This course does not require any textbooks. All learning materials and resources are freely available on the web. See the course references page for a list of useful resources.
Regular class attendance is essential to succeed in this class. Multiple unexcused absences, inappropriate or unprofessional behavior during class (such as monopolizing discussions or being rude or disruptive), not participating in classroom exercises, and not being prepared for class will result in a lower grade for the class participation component. As a rule of thumb, the participation grade will be assigned according to the following rubric:
Score | Attendance | Classroom |
---|---|---|
Low | Frequently absent | Rude; disruptive; distracting; monopolizes discussions |
Moderate | Attended most classes, but often arrived late or left early | Takes notes; attentive; occasionally contributes in class discussion / exercises |
High | Attends on time and prepared | Takes notes; attentive; regularly contributes in class discussion / exercises; does not dominate conversation; listens and responds thoughtfully to comments made by others |
Homework assignments contain a mix of coding exercises and written exercises. They assess the material taught the week(s) they are assigned, and should take several hours to complete. Start homeworks early.
Read the Collaboration Policy about collaborating with fellow students on homeworks. While most problems must be worked on individually, some will be marked as “collaborative”; on these problems (and only these problems), you may work on code with other students.
Homeworks will be graded based on style (modularity, readability, commenting, etc.) and functionality (correctness on a series of tests). Your code should be properly annotated with comments that are well-placed, concise, and informative. Your assignments will be graded by an automated grader and the instructional team.
There will be several quizzes given about once every two weeks immediately at the beginning of class. Quizzes cover material presented in previous classes and assignments during the weeks since the most-recent quiz. Quizzes are designed to be time-intensive, to test for fluency, and to demonstrate where additional study is needed. Quizzes are low-stakes - your worst one is dropped, and the rest count for just 15% of your final grade. If you do poorly on one, use that as feedback on where you need to focus more of your energy for improvement.
Why quiz at all? Research shows that giving small quizzes throughout a class can dramatically help with retention. It’s a phenomenon known as the “retrieval effect” - basically, you have to practice remembering things, otherwise your brain won’t remember them. The phenomenon and research on it is explained in detail in the book “Make It Stick: The Science of Successful Learning”, by Brown, Roediger, and McDaniel.
There will be one midterm exam covering the first 6 weeks of class, and a standard final exam during the final exam period at the end of the semester covering material from the entire semester. See the schedule for details.
Final grades will be calculated as follows:
Course Component | Weight | Notes |
---|---|---|
Homeworks | 48% | 12 x 4% each |
Quizzes | 15% | 5 x 3% each; lowest two dropped |
Midterm Exam | 12% | |
Final Exam | 20% | |
Participation | 5% |
This Alternative Minimum Grading (AMG) policy is available to everybody, but is designed specifically for students who struggle in the first part of the course, and then through sustained hard work and dedication manage to elevate their performance in the latter part of the course to a level that merits passing with a C (even if their Standard Grade might be lower than that).
Student cannot “sign up” for AMG grading. Every student will be considered both for Standard Grading and AMG, and the instructor can choose to assign the AMG grade if a student’s effort merits it. To qualify for AMG you must put forth sustained effort, which means meeting the following requirements:
To compute your AMG score, first use the following to compute your raw score. If the resulting score is higher than a C, set it back to a C.
Course Component | Weight |
---|---|
Best 10 Homeworks | 40% |
Best 4 Quizzes | 10% |
Midterm Exam | 10% |
Final Exam | 40% |
Grade | Range | Grade | Range |
---|---|---|---|
A | 93 - 100% | C | 73 - 76.99% |
A- | 90 - 92.99% | C- | 70 - 72.99% |
B+ | 87 - 89.99% | D+ | 67 - 69.99% |
B | 83 - 86.99% | D | 63 - 66.99% |
B- | 80 - 82.99% | D- | 60 - 62.99% |
C+ | 77 - 79.99% | F | < 60% |
The course instructors may choose to change the scales at their discretion. You are guaranteed that your letter grade will never become worse as a result of changing scales.
This class can be challenging - don’t suffer in silence. Look at the “Getting Help” page for ways to get resources that can help you succeed.
Homework assignment due dates are “soft,” but the longer you wait to complete each assignment, the poorer you’ll likely do on quizzes and exams.
There are two hard deadlines for submitting homework assignments:
These deadlines are to ensure that you will be prepared for the Midterm (which covers weeks 1-6) and the Final Exam (which is cumulative).
Learning how to program is like learning how to ride a bicycle - to get better, you must practice writing code yourself. Therefore, we have a set of strict rules regarding what kind of collaboration is allowed, what counts as over-collaboration, and what counts as cheating.
Over-collaboration results in a warning on the first offense, and a penalty on later offenses. Examples include:
Cheating results in a penalty on the first offense, and failing the course on the second offense. Cheating on assignments can include:
Cheating on quizzes, assignments, or the final project can include:
Penalties are decided by the course instructors, and can vary based on the severity of the offense. Possible penalties include:
Penalties may also be accompanied by a letter to the Dean of Student Affairs, again at the instructors’ discretion. This can lead to university-level penalties, such as being suspended or expelled.
Programs are naturally structured, which makes them very easy to compare for plagiarism. Automated plagiarism detection systems make this process even easier. Watch this video showing plagiarism detection software in action (this example is using Python code, but this also works for R code).
In short, if you copy code, we will know - don’t copy code!
College is a time when you do a lot of learning. Sometimes, you might make bad decisions or mistakes. The most important thing for you to do is to learn from your mistakes, to constantly grow, and become a better person.
Sometimes, students panic and copy code right before the deadline, then regret what they did afterwards. Therefore, you may rescind any homework submission for up to 24 hours after the deadline with no questions asked. Simply email the course instructors asking to delete the submission in question, and we will do so. Deleted submissions will not be considered during plagiarism detection, though of course they will also not be graded. However, it will always be better to get a 0 (or partial credit) on an assignment than to get a cheating violation!
I will listen and believe you if someone is threatening you.
Lauren McCluskey, a 21-year-old honors student athlete, was murdered on October 22, 2018 by a man she briefly dated on the University of Utah campus. If you are in immediate danger, call 911 or GWU police at 202-994-6111 (GWPD). If you are experiencing sexual assault, domestic violence, or stalking, if you report it to me I will listen and connect you to resources or call GWU’s Counseling and Psychological Services (202-994-5300).
Any form of sexual harassment or violence will not be excused or tolerated at GWU. GWU has instituted procedures to respond to violations of these laws and standards, programs aimed at the prevention of such conduct, and intervention on behalf of the victims. GWU Police officers will treat victims of sexual assault, domestic violence, and stalking with respect and dignity. Advocates on campus and in the community can help with victims’ physical and emotional health, reporting options, and academic concerns.
All course materials available on the course website are developed open source - you are welcome to post and share them following the licensing guidelines listed in the license page.
However, all solutions to assignments and quizzes are proprietary. Don’t post them online or try to sell them - this would violate the GWU student code of conduct.
Students are encouraged to use electronic course materials, including recorded class sessions, for private personal use in connection with their academic program of study. Electronic course materials and recorded class sessions should not be shared or used for non-course related purposes unless express permission has been granted by the instructor. Students who impermissibly share any electronic course materials are subject to discipline under the Student Code of Conduct. Please contact the instructor if you have questions regarding what constitutes permissible or impermissible use of electronic course materials and/or recorded class sessions. Please contact Disability Support Services if you have questions or need assistance in accessing electronic course materials.
Wait 20 minutes, after that you’re free to leave. One member of the class should be selected to notify the EMSE Department of the Instructor’s absence by calling the EMSE Department 202-994-4892 on next business day.
In accordance with University Policy, students should notify faculty during the first week of the semester of their intention to be absent from class on their day(s) of religious observance. Official university policy here: https://students.gwu.edu/accommodations-religious-holidays
Disability Support Services (DSS): Any student who may need an accommodation based on the potential impact of a disability should contact the Disability Support Services office at 202-994-8250 in the Rome Hall, Suite 102, to establish eligibility and to coordinate reasonable accommodations. For additional information please refer to: https://disabilitysupport.gwu.edu/
Mental Health Services (202-994-5300): The University’s Mental Health Services offers 24/7 assistance and referral to address students’ personal, social, career, and study skills problems. Services for students include: crisis and emergency mental health consultations confidential assessment, counseling services (individual and small group), and referrals. https://healthcenter.gwu.edu/counseling-and-psychological-services
Academic dishonesty is defined as cheating of any kind, including misrepresenting one’s own work, taking credit for the work of others without crediting them and without appropriate authorization, and the fabrication of information. For the remainder of the code, see: https://studentconduct.gwu.edu/code-academic-integrity
In addition to the formal code of academic integrity, the instructor expects that students will treat this course with the level of professionalism required in the workplace. Remember that real firms are sponsoring student projects throughout the semester; in a workplace setting, these firms would be paying clients for the analyses being conducted. This course prepares students to succeed in the workplace, and maintaining a high degree of professionalism is expected.
Once you have read this entire syllabus and viewed the course schedule, please send me a cute picture of your favorite animal in a direct message on Slack.
For real.
Brownie points if it’s animated.
Page sources:
Some content on this page is inspired by and / or modified from other sources: