Academic Catalog 2023–2024

jump to navigation

Courses

Back to All Disciplines

Bioinformatics Courses

BIF515 Machine Learning

[3–0, 3 cr.]

This course provides an overview of popular algorithms in machine learning. Topics include supervised learning, linear and polynomial regression, classification algorithms, gradient descent, unsupervised learning, instance-based learning, neural networks, and genetic algorithms and boosting. The course requires some knowledge of artificial intelligence, and good programming skills. The theoretical aspects of the algorithms will be studied, and assignments will be given to test their applicability.

Prerequisite: Senior Standing.

Note: This course has not been taught since Fall 2020 and will not be taught in the academic year 2023–2024.

BIF205 Biostatistics

[3–0, 3 cr.]

This course introduces the statistical design and analysis techniques needed to perform pharmaceutical research, and evaluate clinical data. It includes designing epidemiologic and clinical studies, evaluating diagnostic testing procedures, interpreting the use of statistical data in Medical Literature, and using frequently used statistical methods of data analysis. Emphasis is placed on the statistical concepts, and their application to the critical appraisal of clinical and experimental data.

BIF243 Introduction to Object-Oriented Programming

[3–0, 3 cr.]

This course introduces the fundamental concepts, and techniques, of programming and problem solving, from an object-oriented perspective. Topics include the introduction to computer systems (hardware, software, compilation, execution), fundamental programming constructs, (variables, primitive data types, expressions, assignment), program readability, simple I/O, conditional constructs, iterative control structures, structured decomposition, method call and parameter passing, basic program design using algorithms, algorithm stepwise refinement, pseudo-code, introduction to the object-oriented paradigm (abstraction, objects, classes, entity and application classes, class libraries, methods, encapsulation, class interaction, aggregation), inheritance, error types, simple testing and debugging, 1-D and 2-D arrays, basic searching, and sorting algorithms.

BIF244 Introduction to Script Programming

[3–0, 3 cr.]

This course introduces students to programming using scripting languages such as PERL or PYTHON with an emphasis on string and text processing. Topics include: basic operators, arrays and list variables, hashing, pattern and motif matching, as well as functions and subroutines. The course also covers querying online resources and parsing DNA and peptide sequences, genes and proteins annotations, PDF files and alignment reports.

BIF245 Objects and Data Abstraction

[3–0, 3 cr.]

This course presents further techniques of object oriented programming and problem solving, with emphasis on abstraction and data structures. Topics include: object oriented concepts, such as, composition, inheritance, polymorphism, information hiding, and interfaces; basic program design and correctness, such as, abstract data types, preconditions and post conditions, assertions and loop invariants, testing, basic exception handling, and the application of algorithm design techniques. The course also covers: basic algorithmic analysis, time and space tradeoffs in algorithms, big-O notation; fundamental data structures and applications, such as, collections, single- and double-linked structures, stacks, queues, and trees; performance issues for data structures; recursion, more sorting algorithms.

Prerequisite: BIF243 Introduction to Object-Oriented Programming

BIF310 Algorithms and Data Structures

[3–0, 3 cr.]

This course presents fundamental computing algorithms and data structures, with emphasis on design and analysis. Topics include the asymptotic analysis of upper and average complexity bounds, the best, the average, and the worst, case behaviors. Recurrence relations, sets, hashing and hash tables, trees and binary trees (properties, tree traversal algorithms), heaps, priority queues, and graphs (representation, depth- and breadth-first traversals and applications, shortest-path algorithms, transitive closure, network flows, topological sort) are also covered. The course also covers the sorting algorithms and performance analysis which include mergesort, quicksort and heapsort as well as details fundamental algorithmic strategies (divide-and-conquer approach, greedy, dynamic programming, and backtracking). An introduction to NP-completeness theory is provided.

Prerequisites: BIF245 Objects and Data Abstraction and MTH207 Discrete Structures I

BIF345 Cell and Molecular Biology

[3–0, 3 cr.]

This course is an integration of the approaches of cytology, biochemistry, genetics, and physiology, to provide a comprehensive understanding of the operation of cells as units of structure and function in living organisms.

Prerequisite: BIO321 Genetics

 

BIF375 Database Management Systems

[3–0, 3 cr.]

This course is an introduction to the fundamental concepts and techniques of database systems. Topics include database architecture, data independence, data modeling, physical and relational database design, functional dependency, normal forms, query languages, query optimization, database security, and transactions at the SQL level.

Prerequisite: BIF245 Objects and Data Abstraction and MTH 207 Discrete Structures I 

BIF415 Introduction to Bioinformatics

[3–0, 3 cr.]

This course provides an introduction to modern computational practices in bioinformatics. Topics include computational methods for: fragment assembly; sequence alignment; modeling evolution; gene finding; gene expression; protein structure and function.

BIF425 Functional Genomics

[3–0, 3 cr.]

This is a combined course with the biology department. One part of the course will be related to the functional properties of genes while the second part will be related to how we can annotate genes and extract their functional properties from online resources. This course will also include the analysis of gene expression data (microarray, single cell, etc.).

Prerequisite: BIO202.

Note: This course has not been taught since Fall 2020 and will not be taught in the academic year 2023–2024.

BIF435 Structural Bioinformatics

[3–0, 3 cr.]

This is a combined course with the biology department. The theoretical part focuses on the different protein structures and their properties while the computational part focuses on computational methods for predicting, visualizing and assessing protein structures.

Prerequisite: BIF415

BIF455 Computational Drug Design

[3–0, 3 cr.]

This course explains the process of drug discovery and development through specific examples of case studies to better understand the issues facing the challenges of delivering a new drug on the market and the contributions of computational methodologies in the field. It covers the state-of-the art methods and computational techniques nowadays applied in computational chemistry and computer-assisted drug design. It presents approaches for both ligand and target discovery such as pharmacophore modeling, QSAR, structure-based drug design (docking and scoring), combinatorial chemistry, high throughput virtual screening (HTVS) and ADMET property prediction. 

BIF498 Topics in Bioinformatics

[3–0, 3 cr.]

This course covers selected topics in Bioinformatics. This course may be repeated for credits.

BIF498H Topics in Bioinformatics for Honors Program

[3–0, 3 cr.]

This course covers selected topics in Bioinformatics. This course may be repeated for credits.

BIF513 Computational Biology

[3–0, 3 cr.]

This course covers the use of computer science tools to solve the problems related to biochemistry, and/or medicine. Topics include fundamental algorithmic methods in computational molecular biology, and bioinformatics, such as protein sequence analysis, pair- wise and multiple alignment, probabilistic models, phylogenetic analysis, folding and structure prediction, biological structures (protein structures, RNA structures, etc…), and information that could be derived from them. The course is research-based. Students are required to read papers and articles, compare different techniques used to solve problems, and suggest alternatives.

Prerequisite: Senior Standing.

BIF515H Machine Learning

[3–0, 3 cr.]

This course provides an overview of popular algorithms in machine learning. Topics include supervised learning, linear and polynomial regression, classification algorithms, gradient descent, unsupervised learning, instance-based learning, neural networks, and genetic algorithms and boosting. The course requires some knowledge of artificial intelligence, and good programming skills. The theoretical aspects of the algorithms will be studied, and assignments will be given to test their applicability.

Prerequisite: Senior Standing.

Note: This course has not been taught since Fall 2020 and will not be taught in the academic year 2023–2024.

BIF524 Data Mining

[3–0, 3 cr.]

This course covers the fundamental techniques and applications for mining high-throughput data. Topics include related concepts from machine learning, information retrieval and statistics, techniques and algorithms for classification, clustering, and association rules.

Prerequisite: BIF205

BIF598H Special Topics

[3–0, 3 cr.]

Note: This course has not been taught since Fall 2020 and will not be taught in the academic year 2023–2024.

BIF599 Capstone Project

[3–0, 3 cr.]

Prerequisite: ENG202 and BIF415

BIF599H Capstone Project for Honors Program

[3–0, 3 cr.]

Prerequisite: ENG202 and BIF415