HI 5007 Data Structures and Algorithms in Biomedicine

Course Type: Research
Credit Hours: 3

This course assists the student in the area of technical writing, the development of 
scholarly and academic writing abilities. Each student will complete the process of 
generating a written document from topic selection through outlining, drafting, and 
revising. Writing in the field of Biomedical Informatics will be addressed and the genre 
of written discourse in informatics will be explored by the student. The elements of the 
recursive writing process and a review of the technical aspects of writing will also be 
considered. Critical reading, thinking and writing will be emphasized in the course. 
Weekly assignments require writing throughout the course.  A course writing project is 
required such as developing a manuscript for review, submission and possible 
publication. 

Data Structures and Algorithms for Biomedicine is a one-semester graduate level course that examines the process of using an object-oriented programming (OOP) language to building computer applications in support of health care and/or life science practice or research. Students learn modern principles of program design and implementation that enable rapid application development through reusable code modules. Students are exposed to fundamental data structures used to implement algorithms as computer programs. The course examines the structure of well-known algorithms, paying careful attention to differentiate between algorithms and programs that implement algorithms. A brief overview of the analysis of algorithms for computability is undertaken. Students develop applications of limited scope to implement algorithms in support of health care or life science processes that arise from practice and/or research. The applications will illustrate the OOP principles of encapsulation, inheritance, and polymorphism. Python (2.4.3) is the current course programming language. It was chosen because of it’s prevalence of use in the bioinformatics community and because it is open source software. 

Prerequisites

This course requires consent of the instructor. You need to secure that consent before you can register for this course. Contact your instructor for approval or any questions you have.

Additional Information

Course Goals

By the end of the course, the student should be able to:

  • Describe the basic architecture of a computer and how it can be programmed
  • Plan a computer program
  • Use the Python programming language to analyze and manipulate text
  • Use the Python programming language to solve simple mathematical problems
  • Develop modular programs
  • Define and use fundamental data structures: lists, linked-lists, stacks, queues and hash tables
  • Develop simple algorithms for searching and sorting information
  • Describe the basic ideas behind object-oriented programming