Computational Medicine is a vast new field of science. We have created many Computational Medicine courses that will help our students incorporate computational thinking to their research and become adept in data analyses.
Computational Medicine Courses at a glance
We have designed and are offering several courses to Jefferson’s Master’s and PhD students. The classes vary extensively: from learning how to program and think in a computational manner to using advanced -omics techniques.
- GC 550D: Rudiments of Computational Biology and Computational Medicine
- GC 558: Introduction to UNIX and Programming in C
- GC 559: Introduction to R programming
- GC 560: Data Visualization
- GC 561: Data Structures and Algorithms
- GC 562: Computational Genomics
- GC 563: Computational Transcriptomics
- GC 564: Data Mining and Knowledge Discovery
- GC 565: Functional -omics
- GC 723: Communicating Science via Storytelling
Course Descriptions
All computational medicine courses are taught once a week with the exception of GC 550D which is taught to 1st year students at the end of their first semester.
GC 550D: Rudiments of Computational Biology and Computational Medicine
This course provides a brief introduction to different aspects of data analysis that arise in the context of today’s biomedical research. Twenty years ago, data generation was exceedingly difficult (e.g. the human genome project), whereas knowledge extraction was comparatively more straightforward. Data generation has now become a largely procedural activity, and the burden has shifted to knowledge extraction. Since one can generate a lot of data at a small cost, data-driven research is gaining momentum, resulting in an increased need for computational tools and methods that can help tackle these tasks. Moreover, in those cases where the mechanisms behind a biological phenomenon are unknown, data-driven deductive reasoning can prove invaluable and help break new ground. What tools and approaches are available? What are the assumptions behind them? Do these assumptions reflect reality? Or, are they the result of convenience/necessity? What are the consequences of these choices?
- Credits: 1
- Prerequisites: none
GC 558: Introduction to UNIX and Programming in C
This is a core course that introduces the UNIX Operating System (OS) as a platform to develop and carry out computational tasks composed in the C Programming language. UNIX, in its various formats, is a widely used OS and its Linux flavor is now pervasive. C is the language of choice for UNIX computational tasks. Numerous utilities, shells and applications have been developed using the language. The class will focus on C and UNIX as contemporary computational and programming tools.
- Credits: 3
- Prerequisites: none
GC 559: Introduction to R programming
This is a core course that introduces R programming and is intended to help students get comfortable with this language. R is very popular in the field of data analysis and provides very good statistics and graphics capabilities. The class focuses on using R as a computational and programming tool. Topics covered: rudiments of data structures and algorithms, language syntax and available object types, how to work with data in external files, how to format and export results to external files, R programming mechanisms (functions, loops, conditional statements, repetition, code execution), plotting, etc.
- Credits: 3
- Prerequisites: none
GC 560: Data Visualization
This is a multidisciplinary course that introduces techniques and methodologies for creating effective visualizations that can convey scientific information powerfully and succinctly. The course draws from established principles of graphic design, visual art, perceptual psychology, and cognitive science. Topics covered: data and image models, effective graph layout and use of color, communication design, infographics, identification and avoidance of “chart junk”, matters of scientific integrity, data-ink optimization, etc.
- Credits: 2
- Prerequisites: “GC559 Introduction to R Programming” (or written permission from instructor)
GC 561: Data Structures and Algorithms
A central component of every computer program is the organization and management of data in volatile memory. In fact, doing so effectively is vital to effective application writing. The goal of the course is to present the most fundamental data structures that are used to store information in computer memory, and outline implementations using abstract data types. The course will also teach which data structures are particularly suitable for which computational tasks. The course will also provide a comparative analysis of the efficiency of different data structures and discuss how one analyzes the performance of algorithms. Topics covered: arrays, stacks, queues, binary trees, binary search trees, priority queues, heaps, ternary trees, hash-tables and overflow policies, dictionaries, priority queues, graphs, structures for graphs, recursion, and data compression.
- Credits: 3
- Prerequisites: “GC558 Unix and Programming in C” or “GC559 Introduction to R Programming” (or, have written permission from the Instructor)
GC 562: Computational Genomics
Modern genetics now relies on the use of next-generation sequencing technology to characterize rare and common diseases. Moreover, these techniques are commonly being put into clinical use for the diagnosis and treatment of diseases. This course focuses on teaching how to apply computational approaches to the interrogation of DNA sequencing datasets for the identification of genomic variants for rare mendelian diseases, common diseases, and cancers. The course will teach the methods needed to effectively analyze the datasets to identify the genetic contribution to diseases. Topics covered: targeted DNA sequencing, whole exome sequencing (WES), whole genome sequencing (WGS), mutation detection, copy number variant (CNV) detection, and CHIP-seq. The course will provide the opportunity for ‘hands-on’ in-depth analysis of DNA-sequence datasets for analysis and the identification of disease-causing mutations.
- Credits: 3
- Prerequisites: “GC558 Unix and Programming in C” and “GC559 Introduction to R Programming” (or, have written permission from the Instructor)
GC 563: Computational Transcriptomics
Modern molecular biology and genetics now relies on the use of next-generation sequencing technology to characterize the expression levels of RNA molecules in the context of healthy people and patients. These techniques are commonly being put into clinical use for the diagnosis and treatment of diseases. This course teaches how to apply computational approaches to analyze RNA sequencing datasets to identify transcriptomic variants, differential expressed genes, differential exon usage and gene set analyses, etc. Topics that will be covered include RNA sequencing and small noncoding RNA sequencing. The course will provide the opportunity for ‘hands-on’ in-depth analysis of RNA-sequence datasets and the identification of differential expressed genes and pathways in the disease versus normal setting.
- Credits: 3
- Prerequisites: “GC558 Unix and Programming in C” and “GC559 Introduction to R Programming”
GC 564: Data Mining and Knowledge Discovery
Analyzing large amounts of data is a necessity. Data mining refers to extracting or “mining” knowledge from large amounts of data. In particular, data mining/knowledge discovery techniques have found application in numerous different scientific fields with the aim of uncovering previously unknown patterns and correlations, as well as predicting trends and behaviors. The goal of this course is to present the most common techniques and practices for knowledge discovery. The course will teach in practice the process starting from data profiling and processing to interpreting the outcomes of the analysis task. Topics covered: unsupervised and supervised learning, pattern discovery, association rule learning, classification and cluster analysis, and many more.
- Credits: 3
- Prerequisites: “GC558 Unix and Programming in C” or “GC559 Introduction to R Programming” (or, have written permission from the Instructor)
GC 565: Functional -omics
With the emergence of high-throughput sequencing technologies, the complete genomes of organisms have been deciphered. Even with these advances, understanding the cellular functions of most genes remains a challenge. The field of functional genomics aims to provide an understanding of the complex relationship between genes and the functional interactions that they have within the genome. Often involving high-throughput approaches, mechanisms of transcriptional regulation, translation, epigenetics are studied on a global scale. This course is focused on teaching how to apply computational approaches to interrogate the functional roles of the genome. Topics covered will include DNA/protein interactions (CHiP-sequencing), DNA accessibility assays (ATAC-seq), RNA/protein interactions (CLiP-seq), loss-of-function screens (CRISPR-Cas9 screens), and single-cell sequencing. The course will provide the opportunity for ‘hands-on’ in-depth analysis of datasets related to identifying functional regions of the genome.
- Credits: 3
- Prerequisites: “GC558 Unix and Programming in C” and “GC559 Introduction to R Programming” (or, have written permission from the Instructor)
GC 723: Communicating Science via Storytelling
Scientists and physicians need to communicate well if they want support for their work and hope to influence others. Indeed, the pandemic has shown us that science alone cannot influence behaviors and outcomes. Plus, how the story is told matters as does the message itself. This course aims to help you craft your story using multiple verbal and visual techniques to connect with your audience, communicate your science story in various settings, and influence others. Our class will include a Science Story Slam to showcase the lessons learned and an interactive engagement project like Guerrilla Science to connect others with science.
- Credits: 3
- Prerequisites: None
Research in the Computational Medicine Center
- Learn more about our graduate program.
- Learn more about our research and what we have made possible with big data analyses.