Click to Print This Page
Code CS 406
Term 201701
Title Parallel Computing
Faculty Faculty of Engineering and Natural Sciences
Subject Computer Sci.& Eng.(CS)
SU Credit 3
ECTS Credit 6.00 / 6.00 ECTS (for students admitted in the 2013-14 Academic Year or following years)
Instructor(s) Kamer Kaya -kaya@sabanciuniv.edu,
Language of Instruction English
Level of Course Undergraduate
Type of Course Click here to view.
Prerequisites
(only for SU students)
CS301
Mode of Delivery Formal lecture
Planned Learning Activities Communicative,Discussion based learning,Project based learning,Task based learning,Guided discovery
Content

This course is an introduction to various aspects of parallel computing. Topics include: taxonomy of parallel architectures and interconnection networks, parallel algorithms and programming, speed-up, efficiency and performance issues; control parallel, data parallel and data flow models; parallel algorithms for sorting, matrix operations, graph problems.

Objective

To teach fundamentals of traditional and modern concepts in parallel computing with a sufficient hands-on experience on parallel programming

Learning Outcome

At the end of the course the student will understand the evolution of high performance and parallel computing with respect to laws and modern hardware.
At the end of the course the student will be able to design, apply, and analyze parallel algorithms in problem solving.
At the end of the course the student will be competent to measure the performance of parallel and distributed programs. S/he will be able to evaluate whether a parallel and distributed application is efficient or not and propose techniques to increase the performance.

At the end of the course the student will gain hands-on experience with GPU programming with CUDA, multicore programming with OpenMP, MapReduce with python.

Programme Outcomes
 
Common Outcomes For All Programs
1 Understand the world, their country, their society, as well as themselves and have awareness of ethical problems, social rights, values and responsibility to the self and to others. 1
2 Understand different disciplines from natural and social sciences to mathematics and art, and develop interdisciplinary approaches in thinking and practice. 1
3 Think critically, follow innovations and developments in science and technology, demonstrate personal and organizational entrepreneurship and engage in life-long learning in various subjects. 1
4 Communicate effectively in Turkish and English by oral, written, graphical and technological means. 3
5 Take individual and team responsibility, function effectively and respectively as an individual and a member or a leader of a team; and have the skills to work effectively in multi-disciplinary teams. 2
Common Outcomes ForFaculty of Eng. & Natural Sci.
1 Possess sufficient knowledge of mathematics, science and program-specific engineering topics; use theoretical and applied knowledge of these areas in complex engineering problems. 2
2 Identify, define, formulate and solve complex engineering problems; choose and apply suitable analysis and modeling methods for this purpose. 1
3 Develop, choose and use modern techniques and tools that are needed for analysis and solution of complex problems faced in engineering applications; possess knowledge of standards used in engineering applications; use information technologies effectively. 2
4 Ability to design a complex system, process, instrument or a product under realistic constraints and conditions, with the goal of fulfilling specified needs; apply modern design techniques for this purpose. 1
5 Design and conduct experiments, collect data, analyze and interpret the results to investigate complex engineering problems or program-specific research areas. 2
6 Knowledge of business practices such as project management, risk management and change management; awareness on innovation; knowledge of sustainable development. 1
7 Knowledge of impact of engineering solutions in a global, economic, environmental, health and societal context; knowledge of contemporary issues; awareness on legal outcomes of engineering solutions; understanding of professional and ethical responsibility. 1
Computer Science and Engineering Program Outcomes Core Electives
1 Design, implement, test, and evaluate a computer system, component, or algorithm to meet desired needs and to solve a computational problem. 5
2 Demonstrate knowledge of discrete mathematics and data structures. 4
3 Demonstrate knowledge of probability and statistics, including applications appropriate to computer science and engineering. 1
Industrial Engineering Program Outcomes Area Electives
1 Formulate and analyze problems in complex manufacturing and service systems by comprehending and applying the basic tools of industrial engineering such as modeling and optimization, stochastics, statistics. 1
2 Design and develop appropriate analytical solution strategies for problems in integrated production and service systems involving human capital, materials, information, equipment, and energy. 1
3 Implement solution strategies on a computer platform for decision-support purposes by employing effective computational and experimental tools. 2
Materials Science and Nano Engineering Program Outcomes Area Electives
1 Applying fundamental and advanced knowledge of natural sciences as well as engineering principles to develop and design new materials and establish the relation between internal structure and physical properties using experimental, computational and theoretical tools. 1
2 Merging the existing knowledge on physical properties, design limits and fabrication methods in materials selection for a particular application or to resolve material performance related problems. 2
3 Predicting and understanding the behavior of a material under use in a specific environment knowing the internal structure or vice versa. 1
Electronics Engineering Program Outcomes Area Electives
1 Use mathematics (including derivative and integral calculations, probability and statistics), basic sciences, computer and programming, and electronics engineering knowledge to design and analyze complex electronic circuits, instruments, software and electronics systems with hardware/software. 2
2 Analyze and design communication networks and systems, signal processing algorithms or software using advanced knowledge on differential equations, linear algebra, complex variables and discrete mathematics. 1
Assessment Methods and Criteria
  Percentage (%)
Midterm 30
Group Project 30
Homework 40
Recommended or Required Reading
Textbook

"Introduction to Parallel Computing" by Ananth Grama, Anshul Gupta, George Karypis and Vipin Kumar

Optional Readings

"Programming on Parallel Machines: GPU, Multicore, Clusters and More" by Norm Matloff
"Introduction to High Performance Scientific Computing" by Victor Eijkhout, Edmond Chow, Robert van de Geijn

Course Web http://people.sabanciuniv.edu/~kaya/CS406-531/spring16.html