BBS672 - SOFTWARE DEVELOPMENT FOR PARALLEL COMPUTERS

Course Name Code Semester Theory
(hours/week)
Application
(hours/week)
Credit ECTS
SOFTWARE DEVELOPMENT FOR PARALLEL COMPUTERS BBS672 Any Semester/Year 3 0 3 6
PrequisitesNone
Course languageTurkish
Course typeElective 
Mode of DeliveryFace-to-Face 
Learning and teaching strategiesLecture
Preparing and/or Presenting Reports
Project Design/Management
 
Instructor (s)Assist. Prof. Kayhan Ä°mre 
Course objectiveThe aim of this course is to teach parallel computer architectures and parallel programming. 
Learning outcomes
  1. 1. Students will be able to define basic concepts of parallel computer systems.
  2. 2. Students will be able to use software libraries for developing parallel software.
  3. 3. Students will be able to develop parallel software.
  4. 4. Students will be able to conduct research on parallel systems.
Course ContentIntroduction to parallel computer architecture. Data communication on parallel computer. Program development process. Common problems that require parallel processing and solution types. Parallel programing error detection methods. Event tracking, imaging analysis methods and tools on parallel programs. 
ReferencesGrama A., Gupta A., Karypis G. ve Kumar, V., Introduction to Parallel Computing, Second Edition Addison Wesley, 2003. 

Course outline weekly

WeeksTopics
Week 1Introduction and parallel computer architectures
Week 2The network topologies used in parallel computers
Week 3The basic concepts used for developing software for parallel computers
Week 4Message passing programming paradigm and MPI library
Week 5Topology construction and collective communication functions
Week 6Project I
Week 7Implementations of collective communication algorithms
Week 8Case study
Week 9Case study (continued)
Week 10Case study (continued)
Week 11Project II
Week 12Research presentations
Week 13Research presentations
Week 14Research presentations
Week 15Research presentations
Week 16Final exam

Assesment methods

Course activitiesNumberPercentage
Attendance1410
Laboratory00
Application00
Field activities00
Specific practical training00
Assignments00
Presentation00
Project225
Seminar115
Midterms00
Final exam150
Total100
Percentage of semester activities contributing grade succes050
Percentage of final exam contributing grade succes050
Total100

WORKLOAD AND ECTS CALCULATION

Activities Number Duration (hour) Total Work Load
Course Duration (x14) 14 3 42
Laboratory 0 0 0
Application000
Specific practical training000
Field activities000
Study Hours Out of Class (Preliminary work, reinforcement, ect)9327
Presentation / Seminar Preparation12020
Project000
Homework assignment24080
Midterms (Study duration)000
Final Exam (Study duration) 11010
Total Workload2776179

Matrix Of The Course Learning Outcomes Versus Program Outcomes

D.9. Key Learning OutcomesContrubition level*
12345
1. Has comprehensive knowledge in fundamental areas of software engineering.    X
2. Has knowledge in the area of software requirements understanding process planning, output specification, resource planning, risk management and quality planning.    X
3. Understands the interplay between theory and practice and the essential links between them.  X  
4. Defines real life problems by identifying functional and non-functional requirements a software has to satisfy.    X
5. Overcomes technical or scientific software engineering problems on their own and is in a position to propose the most suitable solution; has good communication skills to explain the completeness of their solution and clearly state the assumptions that were made.    X
6. Completes a project on a larger scale than an ordinary course project in order to acquire the skills necessary to work efficiently in a team.   X 
7. Identifies, evaluates, measures and manages changes in software development by applying software engineering processes.    X
8. Understands the social, legal, ethical and cultural issues involved in the deployment and use of software engineering and conducts all occupational pursuits in an ethical and responsible manner.  X  
9. Has good command of technical terms in both Turkish and English, where they have the ability to make succinct presentations (including face-to-face, written or electronic) to a range of audiences about technical/scientific problems and their solutions.   X 
10. Identifies and conducts research by applying scientific methods in order to solve scientific problems.    X 

*1 Lowest, 2 Low, 3 Average, 4 High, 5 Highest