Courses
at University of Iowa and other places.
- 22C:031Algorithms
Fall 2015 Summer 2014 Spring 2014, Fall
2012, Spring2006,
Spring
2007, Spring
2008, Fall2004
Analysis of Algorithms Foundations,
Sorting, searching, Data Structures and Graph
Algorithms. Prerequisite: 22C:017 (30), 22C:018 (20), 22C:019
- 22C:177
High Performance and Parallel Computing Fall2014
Spring2012
Spring2008 Fall2005
Design and Implementation of Computational Linear
Algebra Algorithms for High Performance Computers. The
background of students is diverse. Basic knowledge of one
computer language and basic linear algebra is required. Prerequisite: any math or computer science
numerical or linear algebra course.
- 22C:019 Discrete
Structures Fall 2012
Spring 2011 2005 (U.
Iowa), Spring
2007 Fall
2008, Spring
2003 Structures
needed to design and understand algorithms and data
structures. Logic, quantifiers (``for all ...'' and
``there is a ...'') and mathematical induction, sets, sequences,
relations, functions and algorithms, counting methods and
recurrence relations, graph theory applied to Computer Science.
- 22C:231 Design and Analysis of
Algorithms Graduate Level (U. Iowa)
- Analysis of Algorithms Foundations, Sorting,
searching, Data Structures and Graph Algorithms.
- 22C:021 Computer Science II: Data Structures Spring2011
- 22C:196
Topics
in
Computer Science: Threads and GPUs (Fall 2010)
Parallel computing has become especially important lately with
the widespread adoption of multicore processors and the use of
Graphics Processing Units (GPUs) for mainstream
computation. Covered: OpenMP for shared memory and
multicore computing, CUDA for GPU programming.
- Pattern
Recognition (Fall 2009, Universidade
de Sao Paulo, EESC, Brazil)
Clustering, Classification, Discriminant Functions, Parameter
Estimation, Graph Clustering, Statistics and Clustering,
Baysian Analysis, Least Squares, Maximum Likelihood.....
- Computacao
Cientifica para Engenharia (Scientific Computing for
Engineering) (Fall 2009, Universidade de Sao
Paulo, EESC, Brazil ) & Computacao Cientifica Avancada(Advanced Scientific
Computing) (Spring 2009, Universidade de Sao Paulo,
ICMC, Brazil) IEEE
arithmetic, Rounding, Exceptions, Cancellation. Stability,
Efficiency in Time and Memory. Performance, Parallel Algorithms,
MPI, OpenMP, current issues.
- 22C296 Topics in Computer
Science: Numerical Computing (U. Iowa) ( Fall 2004): This
course is about the design of numerical and scientific software.
Topics include floating point arithmetic (round-off, underflow
and overflow), algorithm stability, development of software,
efficiency in time and memory, and tools for scientific
programming. Textbook:
Numerical Computing with IEEE Floating Point Arithmetic,
Michael L. Overton. (Fall
2004).
Parallel Algorithms (U. Iowa) (Fall 2003):We cover the design and
implementation of diverse parallel algorithms. We implement
programs for clusters using MPI. The application problems are
from the broad area of scientific Computing. Textbook: Grama, Gupta,
Karypis and Kumar, Introduction for Parallel Computing.
- 22M072/22C:055
Introduction
to Numerical Analysis (U. Iowa) (Spring 1998)
Prerequisite:22M: 22 or 22M:36 or 22M:46. Textbooks: Kendall
Atkinson, Elementary Numerical Analysis and Van Loan, Introduction
to Scientific Computing.
- CPSC 659 -
Parallel/Distributed Numerical Algorithms and Applications.
( Texas A&M) A unified
treatment of parallel and distributed numerical algorithms;
parallel and distributed computation models, parallel
computation of arithmetic expressions; fast algorithms for
numerical linear algebra. Prerequisite: MATH 304, CPSC 653.
Cross-listed with ELEN 659. Textbook: V. Kumar, A. Grama, A.
Gupta and G. Karypis, Introduction to Parallel Computing.
- CPSC 653 - Computer Methods in
Applied Sciences. (Texas
A&M)
Classical and modern techniques for the computational solution of
problems of the type that traditionally arise in the natural
sciences and engineering; introductions to number representation
and errors, locating roots of equations, interpolation, numerical
integration, linear algebraic systems, spline approximations,
initial-value problems for ordinary differential equations, and
finite-difference methods for partial differential equations.
Prerequisite: CPSC 442 or MATH 417. Textbooks: D. Kincaid and W.
Cheney, Numerical Analysis, and G. W Stewart, Afternotes
on Numerical Analysis .
- CPSC210:021 Data
structures. (Texas
A&M)
Methods for organizing data; design of algorithms for efficient
implementation and manipulation of data structures. Prerequisite:
CPSC 120. Textbook: T. L. Naps, Introduction to Data
Structures and Algorithm Analysis.
- CPSC 660 - Computational
linear algebra. (Texas
A&M)
Techniques in matrix computation: elimination methods, matrix
decomposition, generalized inverses, orthogonalization and
least-squares, eigenvalue problems and singular value
decomposition, iterative methods and error analysis. Prerequisite:
MATH 417 or equivalent or CPSC 442 or equivalent. Cross-listed
with MATH 660. Textbooks: N. N. Trefethen and D. Bau III, Numerical
Linear Algebra. Golub and Van Loan, Matrix Computations.