California State University Stanislaus

CS 4950 Section 1 and 2: Computing for the Sciences

Spring 2016

4950-1: MW   12:00 pm - 12:50 pm,  P-104 Dr. Melanie Martin

4950-2: F   12:00 pm - 12:50 pm,  P-104 Dr. Melanie Martin

[Basic Information]         [Announcements]         [Calendar]         [Links]        

Welcome to CS 4950, Computing for the Sciences

Course Description:

The purpose of this class is to provide students with the background and training in computational methods and programming to gain the skills necessary to work with this modern scientific data. In this course, we will cover topics such as simple command line computing environments, object-oriented programming, relational databases, and data analysis using statistical tools. We will use a variety of computing tools and environments such as UNIX, Python, R and the SQL query language. No prior background in programming is required. The goal for this course is that by the end of the semester you will all be able to apply computational tools and skills to analyzing and managing biological data that will be invaluable in your careers as scientists.


Student Learning Outcomes:

1)    Students will be proficient in UNIX environment and be able to script, navigate, and use high-performance computing tools to execute biological analyses.

2)    Students will be able to implement object-oriented programming using the computer language Python and write programs or scripts to process and analyze data.

3)    Students will be able to set-up, query, and generate reports from a relational database.

4)    Students will be able to use either Python packages or statistical software to visualize data.

5)    Students will have learned the application of these programming concepts well enough to complete a significant project and solve data analysis/management problems on their own.

Announcements and Upcoming Events


Welcome to CS 4950!                        

Office Hours on Thursday 3/17/16 changed to 12:30 pm - 1:30 pm in Naraghi 375
Office Hours this week:
     Tuesday 4/12     1-3 pm     Naraghi 375
     Thursday 4/14    2-4 pm    Naraghi 375
     Additional hours are available for advising - sign up on CS Office Window - all advising is in DBH 278
     And by Appointment
Office Hours this week:
     Tuesday 4/19        1-3 pm     Naraghi 375
     Wednesday  4/20  3-4 pm     DBH 278
     Additional hours are available for advising - sign up on CS Office Window - all advising is in DBH 278
     And by Appointment
Office Hours this week:
     Tuesday 5/10        12-2 pm   Naraghi 375
     Wednesday  5/11  3-4 pm     DBH 278
     Thursday  5/12     12-2 pm   Naraghi 375
     And by Appointment
Office Hours this week and next:
Today 12:30 - 2:30 pm in Naraghi 375
Wednesday, 3-4 pm in DBH 278
Thursday, 1-3 pm in Naraghi 375
Friday, 9:30 - 11:00 am in DBH 278
Monday, 9:30 - 11:00 am in DBH 278
And by Appointment.

Basic Information

Textbook is Practical Computing for Biologists by Steven Haddock and Casey Dunn

ISBN-13: 978-0878933914


Prerequisites/Corequisites: N/A

Instructor: Dr. Melanie Martin                                  Office: Demergasso-Bava Hall 278
                                                                                                 Naraghi 375

Email:                                 Office Phone: (209) 667-3787 or (209) 667-3269

Web Page:

Office Hours:
     Tuesday            1:00 - 3:00 pm     Naraghi 375
                             Wednesday       3:00 - 4:00 pm     DBH 278
                             Thursday          1:00 - 3:00 pm     Naraghi 375

                                                and by appointment.

Best way to contact Dr. Martin:  Email  Please put "CS 4950" in the subject line of the email.

Warning: I reserve the right to make changes to the syllabus at any time during the term by announcing them in class and on my web page.


Class generally will be structured by starting with the presentation of a specific computing or programming concept, followed by a demonstration of this topic using a scientific example. This will probably take between 30 minutes to an hour. Subsequently, the remainder of class will be dedicated to students using the previously demonstrated concept to do either other in-class exercises or class assignments. IT IS VERY IMPORTANT TO ATTEND CLASS. Class participation is part of your grade (described below) and the structure of class is additive - meaning we will constantly be building on concepts through in-class lectures, examples, and practical applications. If you miss class, you will miss the invaluable time you will need to figure out how to do what I am teaching. The majority of your grades in this course will be practical in nature (either assignments or a “practical” final) and it will be important to regularly practice the applications of skills we go over in class. The good thing is that if you come to class, keep a proper notebook of class examples, and make use of after-lecture time to do examples and ask me questions, you should do very well in this course and be able to meet the learning outcomes I have outlined for each class as well as the course overall.



Grading for this course will consist of assignments, participation, notebook, and a final practical exam. All assignments and quizzes will be on a 0-10 point scale and all other grades will be on a 0-100 point scale.


Assignments (50%): There will likely be approximately 6 assignments although I reserve the right to change this depending on how the class is proceeding. You must turn in a working version of all assignments to pass the course.


Participation and Quizzes (10%):

Simply put, this is a grade based largely on class attendance. Attend class and make proper use of class time and you will get this. There will be short quizzes to ensure that students are keeping pace with, and understanding the material presented in class


Notebook (10%): You must keep a notebook of all in class examples I demonstrate in class. It is best-practice for all scientists to keep a daily log of their work so that they can actually track what it was they did, when it was, and how they accomplished it. For you, these notebooks will have invaluable resources for your assignments.


Final Project (30%): The final project will allow individual or groups of students to work in more depth on a computational problem in their own discipline.


Class Conduct:

Please be respectful and professional in how you interact with both myself and your classmates. I plan on acting the same way with you. No food or beverage allowed in the computer lab.

Academic Honesty: The work you do for this course will be your own, unless otherwise specified. You are not to submit other people's work and represent it as your own. I consider academic honesty to be at the core of the University's activities in education and research. Academic honesty is expected at all times in this course. Cheating is an attack on the efforts of myself and fellow students and, above all, on the cheater's integrity. Those caught cheating will be dealt with to the full extent allowed under University policy. If you have questions, please ask!

Collaboration and Teamwork:  Students are encouraged to co-operate on assignments by discussing the problems. That does not mean labor division in terms of problem solutions. All problems for all assignments have to be done by the very student who is submitting the assignment. Copying someone else's work OR allowing someone to copy your work are prohibited. All discussions and other aids used must be explicitly and properly acknowledged. For instance (examples based on Vadim Bulitko's

"I discussed problem 3.43 with my classmates K. Black and P. Posey. On problem 3.49 I received an office-hour consultation from my instructor R. Altman.  Additionally I used sources [1] and [2] for problem 3.78.

[1]. A.Jolie. "Fast Numeric Methods for Curvature Approximation",  Journal of Geeky Gamers, volume 36, issue C, June 2001.

[2] F.Oz. "On Using the Force as a Theorem Proving Technique", Jedi Archives, volume 666, number 34, May 2002."

There will be NO collaboration allowed on quizzes and final exam. Any unacknowledged aid (e.g., copying from other students, copying from external sources, or elsewhere) constitutes a case of plagiarism. 

Cell Phone Policy:
During class time, your cell phone (including headsets) must be turned off and out of sight. Any use of a cell phone during class may result in confiscation of the phone until that day's class has ended or your removal from the class for that day. If you attempt to use your cell phone or leave it on during an exam, you will be considered to have finished your test, and I will collect your exam at that time.  Exceptions may be made only if you discuss your situation with me prior to the start of that day's class, in this case, your cell phone must be set to vibrate/silence.

University Recording Policy: Audio or video recording (or any other form of recording) of classes is not permitted unless expressly allowed by the faculty member as indicated in the course syllabus or as a special accommodation for students who are currently registered with the Disability Resource Services Program and are approved for this accommodation. Recordings allowed as special accommodations are for the personal use of the DRS-approved student, and may only be distributed to other persons who have been approved by the DRS program. Faculty may require the student sign an Audio/Video Recording Agreement, which they may keep for their records.

University Disability Services:  CSU Stanislaus respects all forms of diversity. By university commitment and by law, students with disabilities are entitled to participate in academic activities and to be tested in a manner that accurately assesses their knowledge and skills. They also may qualify for reasonable accommodations that ensure equal access to lectures, labs, films, and other class-related activities.   Please see the instructor if you need accommodations for a registered disability.  Students can contact the Disability Resource Services office for additional information.  The Disability Resource Services website can be accessed at Phone: (209) 667-3159

Possible Schedule Changes: The California Faculty Association is in the midst of a difficult contract dispute with management. It is possible that the faculty union will call a strike or other work stoppage this term. I will inform the class as soon as possible of any disruption to our class meeting schedule.

Important dates:

(See Schedule of Courses or Academic Calendar)

Last day to add a class:                     

February 10;

Last day to drop or change grade options (CR/NC): 
February 24;

No classes

March 28 - April 1.