This course introduces the cornerstones of functional programming using the Scala programming language. Functional programming has become more and more popular in recent years because it promotes code that’s safe, concise, and elegant. Furthermore, functional programming makes it easier to write parallel code for today’s and tomorrow’s multiprocessors by replacing mutable variables and loops with powerful ways to define and compose functions.
This is a follow-on for the Coursera class Principles of Functional Programming in Scala, which so far had more than 100’000 inscriptions over two iterations of the course, with some of the highest completion rates of any massive open online course worldwide.
Each of our cells contains nearly identical copies of our genome, which provides instructions that allow us to develop and function. The field of Genomics focuses on the structure and function of genomes and plays a major and increasing role in both medicine and research. This course serves as an introduction to the main laboratory and theoretical aspects of genomics and is divided into themes: genomes, genetics, functional genomics, systems biology, single cell approaches, proteomics, and applications.
Investigate the basic concepts behind programming languages, with a strong emphasis on the techniques and benefits of functional programming. Use the programming languages ML, Racket, and Ruby in ways that will teach you how the pieces of a language fit together to create more than the sum of the parts. Gain new software skills and the concepts needed to learn new languages on your own.
This course teaches a calculus that enables precise quantitative predictions of large combinatorial structures. Part II introduces the symbolic method to derive functional relations among ordinary, exponential, and multivariate generating functions, and methods in complex analysis for deriving accurate asymptotics from the GF equations.