Fundamental design concepts and principles
- The role and the use of contracts
- Design patterns
- Software architecture
- Structured design
- Object-oriented analysis and design
- Component-level design
- Design qualities
- Internal including low coupling, high cohesion, information hiding, efficiency
- External including reliability, maintainability, usability, performance
- Other approaches: data-structured centered, aspect oriented, function oriented, service oriented, agile
- Design for reuse
- Use of open-source materials
- Parallel Design Patterns
Material Type:
Lecture / Presentation Technical Format:
Powerpoint presentation, Word document, zip archive Location:
Go to materials Date Added:
08/11/2010 Date Modified:
08/11/2010 Author
Intel® Innovative Software Education, Intel Description: In this 2 hour module, participants will learn about design patterns that are helpful in paralleling common application types. Participants will be able to describe the concepts behind design patterns and parallel design patterns. Given serial code or algorithms, participants can choose the better Algorithm Structure design pattern (either Task Parallelism or Geometric Decomposition) to be used in threading the code and defend their choices. Given serial code or algorithms, choose the better Supporting Structure design pattern (either SPMD, Loop Parallelism or Boss/Worker) to be used in threading the code and defend their choices
Recommended Audience:
Advanced programmers, Beginning programmers, Undergraduate students Language:
English Keywords:
design patterns, Algorithm Structure design pattern, Task Parallelism, Geometric Decomposition
- Real-time System Design and Analysis
Material Type:
Lecture / Presentation, Coding example, Lab Technical Format:
Powerpoint presentation, zip archive, Word document Location:
Go to materials Date Added:
08/11/2010 Date Modified:
08/11/2010 Author
Professor Zhongwen Li, XiaMen University, P. R. China Description: The intended audience of this course are students who want to understand, design, and evaluate parallel real-time application software. The goal of the course is to demonstrate the complete process of parallel real-time system software design from system analysis to realization using case studies. Integrated with the latest multi-core programming technology, this course introduce software development based on multi-core systems via learning on examples methodology, and teach how to use CODARTS (Real-time system parallel design method) to analyze and design real-time system, locate parallel section and use multi-core programming to resolve system bottle-neck and achieve software efficiency and performance. The course has been selected by China Ministry of Education in 2007 as one of the "China Ministry of Education-Intel Quality Courseware" courses.
Recommended Audience:
Advanced programmers, Graduate students, Undergraduate students Language:
Chinese Keywords:
parallel realtime system, multicore programming, realtime application software, CODARTS
- Examples of Concurrent Solution Design
Material Type:
Lecture / Presentation Technical Format:
zip archive, PDF document, Powerpoint presentation Location:
Go to materials Date Added:
08/11/2010 Date Modified:
08/11/2010 Author
Intel® Innovative Software Education, Intel Description: Examples of Concurrent Solution Design:
Lectures for instructor demonstration. These lectures cover the workload partitioning methods for the typical program constructs of iteration, function (call) as well as the sub-tasking application scenario. The examples used for case study are known numeric algorithm of Least Square Estimation, encryption algorithm Huffman Coding and implementation of a Spell Checker. The examples in this module will enrich case study base that are currently in use for standard concurrent/parallel programming curricula.
Recommended Audience:
Advanced programmers, Undergraduate students Language:
English Keywords:
parallel solutions, instructor lead module