This course covers the analysis and visualization of scientific data. Topics will include data management, basic statistical analysis, data mining techniques, and the fundamental concepts of machine learning. Students will also learn how to visualize data using 2-D and 3-D graphics, focusing on techniques that highlight patterns and relationships.

Semester Spring 2020
Credits 4
Times & Locations

MWF 10:00 - 10:50 am, Lovejoy 213

Instructor Oliver W. Layton
Office: Davis 115
Office hours:
M 11:00am - 12:00pm, 3:00pm - 5:00pm
R 2:00pm - 5:00pm
Lab instructor Hannah Wolfe
Office: Davis 113
Office hours:
M 2:00pm - 5:00pm
R 2:00pm - 5:00pm
Evening TAs Location: Davis 102/122
Date (Time) TA
Sunday, 7:00 - 10:00 Mike Zheng
Monday, 4:00 - 7:00 Ryan Lauderback
Monday, 7:00 - 10:00 Ethan Seal, Marius Orehovschi
Tuesday, 7:00 - 10:00 Max Abramson
Course Goals
  1. Students understand and can write programs to store and manipulate data and measurements.
  2. Students understand and can implement the fundamental concepts of interactive visualization of data.
  3. Students understand and can implement common data transformations and statistical analysis.
  4. Students understand and can make appropriate use of current machine learning techniques for prediction and knowledge discovery.
  5. Students present methods, algorithms, results, and designs in an organized and competently written manner.
  6. Students gain experience working with real data from disciplines outside computer science.

There will be regular opportunities for you to practice what you have learned and to demonstrate your accomplishments.

The course grade will be determined as follows:

Projects 50% Hands-on opportunities to implement and explore concepts from lecture.
Assigned on average every 2 weeks.
Quizzes 20% Short weekly in-class quizzes (given most Fridays)
Participation 10% I expect you to be an active contributor in the classroom.
Final Exam 20% A 3-hour opportunity at the end of the semester to demonstrate your ability to answer questions about course material.

Projects are assigned in lab on Tuesday or Wednesday. There are two types of deadlines:

  • Draft submissions: Progress made on designated project tasks (specifics are not graded).
    • Honest attempt is required to ultimately earn at least 26/30 on the final submission.
    • Absent draft submissions will result in a maximum score of 24/30 (and no extension points).
    • Drafts are checked the week after a project is assigned in lab.
  • Final submissions: Updated version of draft submission and remaining project tasks. Graded as follows:
    • 26/30: All tasks completed, all test code returns expected outputs.
    • 27+: All tasks completed along with creative explorations beyond the scope of core tasks (extensions).
    • All the above scenarios assume honest attempt was made at the draft submission.

Between draft and final submissions, you have a project submission deadline each week.

Final project deadlines are Mondays at 11:59pm.

Final submissions should be placed in your Private folder on Courses filer.

  • Place your final submissions in Private/Project0X/.
Project Late Policy

Projects are an important part of the learning experience in this course. I do not want you to get behind with the project workload. To encourage this, projects later than 1 week past the due date will not be accepted.

Late projects will not be eligible for extension credit and will be capped at a maximum of 26/30.

Please contact me immediately in the event of illness and other unforeseen circumstances, we will work out accommodations.

On one project during the semester, you may take a freebee to submit your project on Friday at 11:59pm rather than on Monday night. The only advantage of doing this (rather than just turning in your project within the 1 week allowable late window) is to have your extensions graded. Prior to the deadline request your freebee.

Weekly quizzes

There will be a 10 minute quiz most Fridays. The quizzes let you show me what you have learned. These should be quick and straightforward if you participate in lecture and review lecture notes.

I understand that everyone has a bad day; the quiz with the lowest grade will be dropped

Each quiz may be made up when a prior request is made or there is a documented health issue.

Please contact me immediately in the event of illness and other unforeseen circumstances, we will work out accommodations.

Class Participation

You are expected to attend every class. If you must miss a class for any reason, you must email me in advance.

For this course to be truly successful, your presence and participation is important. When you have a question, ask it. It is highly probable that one of your classmates has the same question. contribution.

Final Exam

There will be a final exam on Saturday May 16, 9:00am. You must be present at the exam, there are no make-ups.


It should go without saying that you should back up any files related to this course. If the code you submit to us is somehow lost (through your fault or our fault), I must be able to get another copy from you. I suggest you use at least the college's personal server ( and one other cloud-based storage service (e.g. Google Drive) to store your work in this class.

Collaboration, 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 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

  • If you have had a substantive discussion of any homework or programming solution with a classmate, then be sure to cite them in your write-up. If you are unsure of what constitutes "substantive", then ask me or err on the side of caution. As one rule of thumb, you may discuss your approach to solving a problem, but you must not share or look at another classmate's code or written answers to project questions.
  • 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 communicate with one another in natural human sentences, not in lines of code from a programming language.
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. More ...

Academic Accommodations

I am available to discuss academic accommodations that any student with a documented disability may require. Please note that you’ll need to provide a letter from the Dean of Studies Office documenting your approved accommodations. Please meet with me to make a request for accommodations at the beginning of the semester--and at a minimum two weeks before any key due dates--so that we can work together with the College to make the appropriate arrangements for you.

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) and other specific forms of behavior that violate federal and state laws (Title IX and Title VII, and the Maine Human Rights Act). Such behavior also requires the College to fulfill certain obligations under two other federal laws, the Violence Against Women Act (VAWA) and the Jeanne Clery Disclosure of Campus Security Policy and Campus Statistics Act (Clery Act).

To learn more about what constitutes sexual misconduct or to report an incident, see:

If you wish to speak confidentially about an incident of sexual misconduct, you may contact:

  • Counseling Center: 207-859-4490
  • Gender and Sexual Diversity Program: Director Emily Schusterbauer ( 207-859-4093)
  • Office of Religious & Spiritual Life: 207-859-4272
    • Dean of Religious & Spiritual Life, Kurt Nelson (
    • Jewish Chaplain, Erica Asch (
    • Catholic Campus Minister, Charles Demm (

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.

© 2020 Oliver Layton