Russ Miller
UB Distinguished Professor

Dept of Computer Science & Engineering
State University of New York at Buffalo

Teaching

Home
Biography
Photos/Videos
Media Coverage
Research
Results
Publications
Presentations
SnB
Grids
CI Lab
CCR
Teaching
Personal Info
Contact Info
Subset of Undergraduate and Graduate Courses and Seminars

  • CSE 191: Discrete Structures (Spring, 2013)

    In this course, we present fundamental material that will be used as the foundation for more advanced courses in computer science and engineering. Topics are expected to include, but are not limited to, recursion, iteration, recurrence relations, asymptotic notation, evaluating resources for algorithms, graphs, logic, sets, and some basic counting theory. CSE 191 is required for computer science and computer engineering majors.

  • CS 237: Introduction to Scientific Computing

  • This course offers an introduction to the fundamental numerical techniques used in high-performance scientific computing. These methods include sorting, numerical integration, root finding for nonlinear systems, elementary linear algebra, and basic ordinary differential equations. The emphasis of this course is on an experimental approach to scientific computing. The students will learn the basics of Unix, will write and debug programs in FORTRAN, and will use computational and visualization tools in Matlab.

  • CSE 4/510 and CSE 4/529: Algorithms for Modern Computing Systems

    The objective of this course is to teach computational STEM (Science, Technology, Engineering, and Mathematics) students the fundamental concepts of design and analysis of algorithms for modern computing systems, including network-based fine-grained parallel computers, shared-memory computers, general multi-core and multiple processor systems, GPU-based systems, clusters, grids, and clouds. The first part of the course will focus on the introduction of these computational models, as well as the traditional von Neumann architecture, and methods of analysis. The second part of the course will focus on fundamental computational paradigms and their implementation on a variety of modern computational systems. Much of the analysis will be considered in terms of running time, size of data, number of processors/cores, and interconnection networks, to name a few. Asymptotic analysis will be used as a measure of these performance metrics and design options. Note that this is the ever-evolving popular and effective course in Analysis of Algorithms (CSE4/531) that I have taught in the Department of CS/CSE at UB since 1986, which was recently relabeled by the department. The required text for the course is Algorithms Sequential and Parallel: A Unified Approach (Third Edition). NB: First or second edition of book will not suffice.

  • CSE 4/531: Analysis of Algorithms

    This course focuses on the design and analysis of algorithms targeted at modern computational systems, including fine- and coarse-grained multi-core and multi-processor systems. The required text for the course is Algorithms Sequential & Parallel: A Unified Approach (Second Edition).

    • Spring 2014 - I have not been scheduled to teach this course. My apologies, while I would love to teach this course, the scheduling is out of my control.
    • Spring 2013 - I have not been scheduled to teach this course. My apologies, while I would love to teach this course, the scheduling is out of my control.
    • Spring 2012
    • Spring 2011
    • Spring 2010
    • Spring 1998
    • Spring 1997
    • Spring 1996

This seminar series (2004-present) focuses on fundamental aspects of Grid computing and Cyberinfrastructure. Some of the student presentations are available below.

  • Seminar on WWW

This "seminar" is open to graduate students and undergraduates, by permission of instructor. Topics to be covered include HTML, CGI, perl, Java, and issues of security, to name a few.


CCR-Affiliated Summer Workshops, Courses, and Certificates