Who, Where, When

InstructorAsa Ben-Hur
Office: 448
Office Hours: By appt.
Lecture3:30-4:45 TR at engineering B 4.

Course objectives

The course will provide the students with skills in programming and the ability to use and understand third-party programs and algorithms.

The hands-on lab component of the course will consist of programming tasks centered on analysis of biological data, mainly DNA and protein sequences, consisting of tasks such as processing files with sequence data, manipulating and computing various properties of sequences (e.g. nucleotide composition), simulating population/sequence evolution, and simple motif searches. We will also play around with some next generation sequencing data.

Course Outline

  • Introduction to programming and Linux
  • Simple python programs: Variables, assignment statements, arithmetic expressions, input and output statements.
  • Control flow statements: if statements, while statements, for statements.
  • Functions: general concept, declaration and calls, parameters.
  • Simple data structures: arrays (implemented as Python lists), strings
  • Files: reading and writing text files.
  • Using python objects.
  • Writing python objects and object oriented programming.
  • Using python packages: numpy, matplotlib and BioPython.
  • Algorithms and problem solving techniques – the course presents at least one sorting algorithm in detail and introduces students to related topics such as run-time analysis.
  • Program development – the process of writing longer programs by dividing tasks into methods and classes.

Prerequisites:

Bachelor's degree in the life sciences, or permission of instructor

Textbook:

We will use the free textbook How to Think Like a Computer Scientist: Learning with Python.


Grading:

Assignments    45%Programming and written assignments
Midterm20%
Final Exam35%Comprehensive

Late and Makeup Policy

Midterm and Finals: Make-up exams are only given in extraordinary circumstances (e.g., illness, death of family member). Students must consult with the instructor as soon as possible, preferably before the start of the exam. Course examination dates are listed in the syllabus; be aware of them and plan accordingly.


Important Dates

Midterm: TBD, in class.

Final Exam: May 15, 6:20-8:20p