Multiprocessor organization: vectorization, memory organization, processor topologies and architectures. Models of parallelism. Programming language and systems for scientific and high performance computing. Environments for interactive scientific experiments and databases. Distributed programming tools. Parallelism in scientific problems: Parallel algorithmic techniques, parallel algorithms and models, parallel performance analysis and debugging.