Courses

Computational Neuroscience (BMEN 609)

This graduate course will introduce engineers, physicists, computational scientists, mathematicians and other audiences to the neurosciences from the cellular level and the network level by giving a mathematical introduction to neural coding and dynamics. Basic techniques of modeling biophysics, excitable membranes, small network and large scale network systems will be introduced. The course begins with a consideration of mathematical models of excitable membranes, including the Hodgkin-Huxley model and simplifications such as the Morris-Lecar and FitzHugh-Nagumo models. It will provide hands-on laboratory experience in modeling membranes, neurons, and neural networks.

 

The course explores the use of differential equations, numerical simulation, and graphical techniques for modeling compartmental and connectionist neural systems. The range of topics include simulations of electrical properties of membrane channels, single cells, neuronal networks, learning and memory models, stochastic models of ion channels, and models of synaptic transmission.


Computational Modeling of Physiological Systems (BMEN 601)

This graduate course introduces students to the fundamental principles underlying computational modeling of complex physiological systems. A major focus of the course will be on the process by which a model of a biological system is developed.

Students will be introduced to the mathematical methods required for the modeling of complex systems as well as to tools for computational simulation. Roughly one half of the material will introduce the physiological system under study and the second half will focus on models for the general cellular physiology and the development of higher-level models of a particular physiological system.


Introduction to Computation and Programming in Python (EECE 231)

This is an undergraduate introductory programming course with an emphasis on abstractions and elementary algorithmic ideas. It uses the Python programming language.

 

Topics include data types, selection, repetition, lists, tuples, strings, functions, files, exception handling, program efficiency, recursion, divide and conquer algorithms, recurrence relations, sorting and searching algorithms, binary search, merge sort, randomized quicksort, dictionaries, memoization, classes and object oriented programming, stacks and queues, applications, and selected topics. The course has a weekly lab.