CS627: Data Science Programming, Winter 2018

image: 0_Users_kain_CloudStation_CSLU_edu_teaching_CS627-data-science-programming_admin_rp.png
Class time:
Tuesdays and Thursdays, 2pm-3:30pm
Class location:
Gaines Hall 5

Course Description

This course is a best-of compilation of concepts, practices, and python- and R-based software libraries (all free, open-source, and unrestricted) that allow for rapid, straight-forward, and easy-to-maintain implementation of new ideas and scientific questions. Students will gain awareness and initial working knowledge of some of the most fundamental computational tools for performing a wide variety of academic research. As such, it will focus on providing breadth instead of depth, which means that for each concept we will talk about motivation, key concepts, and concrete usage scenarios, but without exhaustive mathematical background or proofs, which can be acquired in more specialized classes. In this class we will: write programs in python; perform numeric tasks using numpy and scipy; manage data using pandas; discuss audio, image and text processing using scipy.signal, scikit-image, nltk, and pynini; apply machine learning algorithms such as deep neural networks, convolutional neural networks, and autoencoders using scikit-learn and keras; visualize data using matplotlib and pyqtgraph; use pyqt/QT to build graphical user interfaces; address performance issues via compilation/profiling/parallelization tools, and much more. We will also use R for data exploration and visualization.

Credit Hours


Pre-requisites or Concurrent Enrollment Requirements

There are no specific class pre-requisites for this course, but previous programming experience is required.

Faculty Information

Alexander Kain

Office Hours:
By appointment

Alison Presmanes Hill

Office Hours:
By appointment

Steven Bedrick

Office Hours:
By appointment

Teaching Assistant

Moises Velata

Gaines Hall 5 (class room)
Office Hours:
30 minutes before class, and up to 30 minutes after class

Course Objectives, Competencies, and Outcomes

After completing this course, students will be able to start their own research project with a minimum of startup time, since they can leverage on their awareness and initial knowledge of a wide range of supporting programming environments.

Required Texts or Readings


Class Homepage

The class homepage is accessible through Sakai sakai.ohsu.edu. It features a forum, homework assignment and submission mechanism, grading, and more.

Supplemental or Suggested Readings or Reference Materials

Attendance Requirements

Students are expected to attend each lecture.

Collaboration, Plagiarism, and Attribution

We expect and require that all submissions be the student's own, original work. Any and all code, text, etc. that you include from any other source must be properly cited. This includes code as well as figures, prose descriptions, and so on. Note further that the OHSU School of Medicine has a policy regarding ethical and professional conduct for graduate students that specifically addresses plagiarism (sections 4.b and 4.c). We expect all students to be aware of and familiar with this policy, which we will be enforcing in this class.
A note regarding student collaboration: We absolutely encourage students to work together on assignments, but unless specifically directed otherwise, each student is 100% responsible for producing their own, independent version of the solution and its writeup. If you have any questions or concerns about what this should look like in practice, please ask.
Regarding StackOverflow, Github, and the like: there are many places online where one can find code snippets, or even full implementations of algorithms. While you should absolutely feel free to look for inspiration, you must produce your own, independent implementation of all assignments and projects. For example, if an assignment says to implement algorithm "X", do not do any of the following:
If you do this sort of thing and do not cite what you're using, that is plagiarism. Note that, even if you do cite it properly, you will still run afoul of this policy, as you are not actually doing your own work. If you have any questions about any part of this policy, or if you find yourself unsure about what to do in any specific circumstance, please do not hesitate to ask for advice.

Grading Criteria, Academic Standards, and Release of Final Grades

20% of the grade will depend on in-class discussion and participation. Homework/project assignments will make up 80% of the grade. Late homework/projects will not be accepted. In case of extenuating and demonstrable circumstances beyond your control, it may be possible to create alternate arrangements.

Homework Assignments

There may be several software-related / code-writing assignments. Please comment your code, and provide transcripts of example runs and figures of results, if applicable. Submit your files (code and/or any accompanying documents) using the Sakai class webpage at sakai.ohsu.edu. Sakai also offers a forum for exchanging of ideas, but please do not post code verbatim. Homework assignments are due 1 week from the date of assignment, before class (because answers may be shown in class), unless otherwise specified.

OHSU SoM Graduate Studies Grade Submission Policy

Graduate Studies in the OHSU School of Medicine is committed to providing grades to students in a timely manner. Course instructors will provide students with information in writing at the beginning of each course that describes the grading policies and procedures including but not limited to evaluation criteria, expected time needed to grade individual student examinations and type of feedback they will provide.
Class grades are due to the Registrar by the Friday following the week of finals. However, on those occasions when a grade has not been submitted by the deadline, the following procedure shall be followed:
  1. The Department/Program Coordinator will immediately contact the Instructor requesting the missing grade, with a copy to the Program Director and Registrar.
  2. If the grade is still overdue by the end of next week, the Department/Program Coordinator will email the Department Chair directly, with a copy to the Instructor and Program Director requesting resolution of the missing grade.
  3. If, after an additional week the grade is still outstanding, the student or Department/Program Coordinator may petition the Office of Graduate Studies for final resolution.
Final course grades will be posted with the OHSU Registrar the Monday following the last day of the term.

Copyright Information

Every reasonable effort has been made to protect the copyright requirements of materials used in this course. Class participants are warned not to copy, audio, or videotape in violation of copyright laws. Journal articles will be kept on reserve at the library or online for student access. Copyright law does allow for making one personal copy of each article from the original article. This limit also applies to electronic sources.

Syllabus Changes and Retention

This syllabus is not to be considered a contract between the student and Graduate Studies. It is recognized that changes may be made as the need arises. Students are responsible for keeping a copy of the course syllabus for their records.

Commitment to Equity and Inclusion

Oregon Health & Science University is committed to creating and fostering a learning and working environment based on open communication and mutual respect. If you encounter sexual harassment, sexual misconduct, sexual assault, or discrimination based on race, color, religion, age, national origin or ancestry, veteran or military status, sex, marital status, pregnancy or parenting status, sexual orientation, gender identity, disability or any other protected status please contact the Affirmative Action and Equal Opportunity Department at 503-494-5148 or aaeo@ohsu.edu. Inquiries about Title IX compliance or sex/gender discrimination and harassment may be directed to the OHSU Title IX Coordinator at 503-494-0258 or titleix@ohsu.edu.


New material is bolded. Subject to change.


Class videos are viewable at echo360.org.