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 |
Prequisites | None | |||||
Course language | Turkish | |||||
Course type | Elective | |||||
Mode of Delivery | Face-to-Face | |||||
Learning and teaching strategies | Lecture Preparing and/or Presenting Reports Project Design/Management | |||||
Instructor (s) | Assist. Prof. Kayhan Ä°mre | |||||
Course objective | The aim of this course is to teach parallel computer architectures and parallel programming. | |||||
Learning outcomes |
| |||||
Course Content | Introduction 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. | |||||
References | Grama A., Gupta A., Karypis G. ve Kumar, V., Introduction to Parallel Computing, Second Edition Addison Wesley, 2003. |
Course outline weekly
Weeks | Topics |
---|---|
Week 1 | Introduction and parallel computer architectures |
Week 2 | The network topologies used in parallel computers |
Week 3 | The basic concepts used for developing software for parallel computers |
Week 4 | Message passing programming paradigm and MPI library |
Week 5 | Topology construction and collective communication functions |
Week 6 | Project I |
Week 7 | Implementations of collective communication algorithms |
Week 8 | Case study |
Week 9 | Case study (continued) |
Week 10 | Case study (continued) |
Week 11 | Project II |
Week 12 | Research presentations |
Week 13 | Research presentations |
Week 14 | Research presentations |
Week 15 | Research presentations |
Week 16 | Final exam |
Assesment methods
Course activities | Number | Percentage |
---|---|---|
Attendance | 14 | 10 |
Laboratory | 0 | 0 |
Application | 0 | 0 |
Field activities | 0 | 0 |
Specific practical training | 0 | 0 |
Assignments | 0 | 0 |
Presentation | 0 | 0 |
Project | 2 | 25 |
Seminar | 1 | 15 |
Midterms | 0 | 0 |
Final exam | 1 | 50 |
Total | 100 | |
Percentage of semester activities contributing grade succes | 0 | 50 |
Percentage of final exam contributing grade succes | 0 | 50 |
Total | 100 |
WORKLOAD AND ECTS CALCULATION
Activities | Number | Duration (hour) | Total Work Load |
---|---|---|---|
Course Duration (x14) | 14 | 3 | 42 |
Laboratory | 0 | 0 | 0 |
Application | 0 | 0 | 0 |
Specific practical training | 0 | 0 | 0 |
Field activities | 0 | 0 | 0 |
Study Hours Out of Class (Preliminary work, reinforcement, ect) | 9 | 3 | 27 |
Presentation / Seminar Preparation | 1 | 20 | 20 |
Project | 0 | 0 | 0 |
Homework assignment | 2 | 40 | 80 |
Midterms (Study duration) | 0 | 0 | 0 |
Final Exam (Study duration) | 1 | 10 | 10 |
Total Workload | 27 | 76 | 179 |
Matrix Of The Course Learning Outcomes Versus Program Outcomes
D.9. Key Learning Outcomes | Contrubition level* | ||||
---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | |
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