Title image Fall 2018

Syllabus for CS 197 Fall 2018

Course Description

An introduction to the programming language R and how it can be used for statistical analysis and visualization of data. Students will learn how to write basic R programs that can read, write, and manipulate data. They will make use of R functions for executing common statistical analysis and learn how to display the results using graphs and charts. Through a series of projects, students will get experience with writing their own functions, learn how to make use of R documentation and how to extend their own knowledge of the language.

Learning Goals

  1. Students can read a simple R program and correctly predict its behavior.
  2. Students can write programs in R to read, write, and manipulate data.
  3. Students can write programs in R to execute common statistical analyses and generate visualizations of the results.
  4. Students have experience with the concepts of functions, modularity, and abstraction.
  5. Students have experience with R documentation and how to extend their knowledge on their own.

Grading rubric and course goals.


This course is a 1-credit CR/NC course. There will be eight projects, one for each lab session you attend. To pass the course you must complete all eight projects and attend at least eight lab sessions.

All grading will be binary: the project is considered complete if all tasks produce a correct result using an appropriate method.

Help and Discussion Outside of Lecture

Office Hours

The professor will be available outside of class during the posted office hours. Your primary access to the professor for this course will be the lab sessions. While you are required to attend only two sessions per week, you can attend as many lab sessions as you wish, so long as there is space.

Evening TA Help

In order to provide as much help as possible to you as you work on assignments in this course, the CS Dept has hired upper-level CS students to work as TAs in the Davis 102 lab in the evenings. You are strongly encouraged to take advantage of this resource. The TAs are getting paid to help you, so don't feel guilty about asking them for help. The evening TA hours are: Sunday 4-10pm, Monday 7-10pm, and Tuesday 4-6 & 7-10 pm. Note that most of them will not know R, but some of them still might be able to help.



Attendance and Participation

This scheduled lab sessions will last through the end of the sixth full week of the semester. After than, the professor will be available during office hours.

Lectures for this course will be provided as videos. You should watch the 1-2 videos associated with a project before coming to lab and working on the project.

There are six lab sessions per week for this course. You should plan to attend two of them per week, for a total of eight sessions, one for each project. It is probably best if you do not attend the two Thursday evening sessions back-to-back. At each session, you will be working on one of the eight projects. You should be able to complete most of a project during a lab session.


All work should be submitted by to November 20th. If you have not completed most of the projects by, October 19th, (the last day to drop a course), you should consider whether you will complete the projects. The professor will provide limited feedback on your work as it is submitted, but the primary mechanism for feedback is to ask questions during the lab sessions.

Collaboration and Academic Honesty

Computer science, both academically and professionally, is a collaborative discipline. In any collaboration, however, all parties are expected to make their own contributions and to generously credit the contributions of others. In our class, therefore, collaboration on homework and programming assignments is encouraged, but you as an individual are responsible for understanding all the material in the assignment and doing your own work. Always strive to do your best, give generous credit to others, start early, and seek help early from both your professors and classmates.

The following rules are intended to help you get the most out of your education and to clarify the line between honest and dishonest work. We reserve the right to ask you to verbally explain the reasoning behind any answer or code that you turn in and to modify your project grade based on your answers. It is vitally important that you turn in work that is your own. We do use automated plagiarism detection software, so please be sure to abide by these, rather minimal, rules. Reports of academic dishonesty are handled by an academic review board and a finding of academic dishonesty may result in significant sanctions. For more details on Colby’s Academic Integrity policies and procedures, see www.colby.edu/academicintegrity/.

If you have had a substantive discussion of any homework or programming solution with a classmate, then be sure to cite them in your project report. If you are unsure of what constitutes "substantive", then ask us or err on the side of caution. As one rule of thumb, if you see more than 10 lines of someone else's code, then you should cite them. You will not be penalized for working together. You must not copy answers or code from another student either by hand or electronically. Another way to think about it is that you should be talking English with one another, not Java.

The Colby Affirmation

Colby College is a community dedicated to learning and committed to the growth and well-being of all its members.

As a community devoted to intellectual growth, we value academic integrity. We agree to take ownership of our academic work, to submit only work that is our own, to fully acknowledge the research and ideas of others in our work, and to abide by the instructions and regulations governing academic work established by the faculty.

As a community built on respect for ourselves, each other, and our physical environment, we recognize the diversity of people who have gathered here and that genuine inclusivity requires active, honest, and compassionate engagement with one another. We agree to respect each other, to honor community expectations, and to comply with College policies.

As a member of this community, I pledge to hold myself and others accountable to these values.

Sexual Misconduct/Title IX Statement

Colby College prohibits and will not tolerate sexual misconduct or gender-based discrimination of any kind. Colby is legally obligated to investigate sexual misconduct (including, but not limited to sexual assault and sexual harassment).

If you wish to speak confidentially about an incident of sexual misconduct, please contact Colby Counseling Services (207-859-4490) or the Director of the Gender and Sexual Diversity Program, Emily Schusterbauer (207-859-4093).

Students should be aware that faculty members are considered responsible employees; as such, if you disclose an incident of sexual misconduct to a faculty member, they have an obligation to report it to Colby's Title IX Coordinator. "Disclosure" may include communication in-person, via email/phone/text, or through class assignments.

To learn more about sexual misconduct or report an incident, visit http://www.colby.edu/sexualviolence/.