|Sami Khuri's Workshops|
1. Introduction to Bioinformatics presented at the 2005 International Conference on Research Trends in Science and Technology, Byblos, Lebanon, March 8, 2005.A brief summary of Bioinformatics: Recent advances in molecular biology have produced an avalanche of data, including DNA sequences and genetic maps that cover thousands of genes whose functions are either poorly understood or completely unknown. Demands for sophisticated analysis of biological sequences are driving forward the research area of bioinformatics. The areas where computer science can be applied to assist in the deciphering process of the data range from assembly of sequence fragments, analysis of DNA, RNA and protein sequences, their structure and function, and prediction of gene locations. In essence, bioinformatics addresses problems related to the storage, retrieval and analysis of information about biological structure, sequence and function.
Tutorial Outline: After a brief introduction to molecular biology and a description of commonly used tools, algorithms, and databases in bioinformatics, the tutorial describes specific tasks that can be completed using combinations of the tools and databases. The tutorial will introduce some of the most successful tools, such as the local and global sequence alignment packages: BLAST, Smith-Waterman, and CLUSTALW. The tutorial also covers Hidden Markov Models, and shows how they can be used in gene prediction. The tutorial is self-contained and does not assume any background knowledge in biology. The attendees will be given a copy of the PowerPoint slides. The following is a brief description of the topics that the tutorial will cover:
Part 1: Biology. A very brief introduction of the cell, transcription and translation, amino
acids, proteins and bases.
Part 2: Pairwise Alignment. Dynamic Programming, substitution matrices, BLAST.
Part 3: Multiple Sequence Alignment. CLUSTALW.
Part 4: Database Search. Nucleotide and protein databases.
Part 5: Hidden Markov Models (HMM), profile HMM, and gene prediction.
Expected background of the attendees: Just an interest in Biology and the desire to learn about the main challenging problems in bioinformatics.
2. Interacting with Java-Based Algorithm Visualizations with Thomas Naps, presented at the 5th ITiCSE conference, Helsinki, Finland, July 10, 2000.
Abstract: Algorithm visualizations use computer graphics
to depict the actions of an algorithm. Many AV tools have been built
and are freely available over the World Wide Web. The reasons for
their popularity are threefold. For researchers in the field of AV,
there is the challenge of developing new visualization techniques. For
practitioners, AV can help in the process of designing and debugging
algorithms. For computer science students, AV holds promise to help
them understand algorithms easier and in greater depth. However, many
of "the current algorithm visualizations concentrate on graphics
rather than on pedagogy". These tools lack features for user
interaction with the AV system. Stasko and Lawrence maintain
that "algorithm animations used as passive videos of an algorithm's
operations will have minimal impact on learning." The primary goal of
this tutorial is to discuss the development of AV tools that address
the pedagogical as well as the graphical issues. Our focus is on
understanding how students use animations in trying to comprehend new
algorithms, and on gaining insight into the incorporation of AV as a
non-passive tool in the learning process. We introduce the "ten
commandments" of a good graphical design of AV and methods for
actively engaging students in the visualization.
The tutorial is structured around existing AV tools written in Java. Such tools offer two key advantages. First, they are portable and hence will be usable by all participants in the tutorial. Second, Java-based tools encourage Web-based delivery systems for visualizations. This makes it relatively easy to integrate visualizations with hypertext study materials. Tutorial activities overview is available here.
3. Lossless and Lossy Data Compression presented at the 30th SIGCSE Technical Symposium, New Orleans, Louisiana, March 1999.
Abstract: This workshop provides attendees with an in-depth introduction to data compression. A variety of algorithmic techniques, such as statistical, dictionary-based and run-length encoding will be covered. Pratical applications include Unix "compress", GIF, and fax encoding. We will also study JPEG. Attendees will be exposed to topics which can be added to their repertoire of projects for CS1/CS2, data structures and algorithms, and other CS courses. Visualization programs will be used to demonstrate the workings of various data compression algorithms. Participants will receive handouts, and references to available textbooks and articles, web sites and software packages.
Applets, Event-Handling, Threads and more in Java (PowerPoint slides, 302KB), presented at the Two-Day Hands-On Java Workshop, SJSU, San José, California, April 1998.
4. Genetic Algorithms presented at the 28th SIGCSE Technical Symposium, San José, California, March 1997.
Abstract:This workshop will provide participants with an in-depth introduction to genetic algorithms. Modeled after organic evolution, these powerful search algorithms are based on the mechanics of natural selection and natural genetics. Participants will use the software package LibGA throughout the workshop, thus getting a hands-on experience with the workings of genetic algorithms. The workshop will also provide a summary of applications, and references to available articles, web sites, and software packages for genetic algorithms.