TechPack Students

From Education

Jump to: navigation, search

Note: This document was pulled from EAPF's shared folder on June 2, 2010, and may not accurately reflect its current state.
Note: The conversion process from Docs -> Wiki may result in some unusual formatting.

Charge for subgroup:

  1. Identify Target audience(s)
    1. Pick 3 or 4 specific instances of people we want to be addressed by this group -- for example, game console developers for the dev TechPack.
  2. Identify Capability (Tool/Knowledge) requirements for each target audience.
    1. Languages, types of parallelism, etc.
  3. Fill in examples of sources for material to fulfill requirements
    1. Existing websites, books, ACM course material, etc.

Student Targets


lower division: understanding the difference between sequential parallel programming, introduced to parallel algorithms and data structures. Computer architectures with Parallel notions. Including modern architectures and memory hierarchy


upper division: Approaches how to write parallel programs. choosing discipline directions w/in CS. Operating Systems, Languages/Compilers, Architecture, Graphics, Information Systems (ACM has the divisions), etc.


Graduate- applying parallelism to solve a problem for their PhD, produce theory, investigate case studies to see examples in larger code. Guided bibliographies


Life-long learning/DIY: Clear description with suggested path guiding you in to areas of key learning. Tasks with goals for them to do


High-school: Examples, Exercises (ways to determine growth/success), Problem Solving excercises.


Elements w/in the TechPack

Overview Topics(Distinct blurbs on ea): Parallelism- what it is, why, myths and mixconceptions, Parellelism “gotcha’s”, Architectures, (eg. shared memory parallelism, distributed memory parallelism, GPU’s), Programming Interfaces, (eg. Open MP, MPI, CUDA, OpenCL) Algorithmic requirements, Design Patterns, description of the hardware platforms and languages with pros and cons, Policies/ Best Practices, Ethics of contributing to opensource


Gaming- using the game engines, creating/building the game engine

Selection of different engines

Graphics

Computer Systems (Language, hardware design, Systems)

HPC- Engineering and science applications (chemisty, physics, bio sci, geo sciences, Humanities, Arts and Social Science, Business/Finance)


Self Paced Section:

Programming Examples, Code Samples

Hands on pieces- working code to manipulate, broken code to fix

Instructables type site around some of the learning tools: Beagle Board (2 different processors), Open-ended


Additional Resources:

Communities, Open Source communities, User Groups

Internship, training and job opportunities

Where can you get access to hardware and software for education?

Area/ motivation to contribute to the site.

Capabilities

Scratch and Alice- Graphic structural languages. 2 and 3D

Wonderland

Introductory Usage Exemplars:

  • Parallelism for PC game
    • data vs. task parallelism


Arch/OS Graphics Web/Data PL/SE
SC Education sites