TCPP/NSF Planning Workshop on Curriculum How to ensure success? Krishna Kant Intel/NSF
How to engage stakeholders? Articulate the problem well What is important? Diversity vs. Standardization
Articulate the Problem What’s really broken with current curriculum? Inadequate preparation? Scope too wide? Unclear? What’s the goal of the solution? Better programmers? From whose perspective? (students, faculty, employers) Can we solve the problem? E.g., can we really teach how think parallel?
What is Important? Ok, we need the fundamentals What are they? Correctness, programming models, synchronization, fault-tolerance, performance, … How about technologies & engineering? Virtualization, scheduling, system mgmt, web-services, … Scalability Do we teach them about products? Hadoop, MPI implementations, OpenMP, … Are we trying to produce programmers or computer scientists?
Diversity vs. Standardization Should we have a uniform (“standard”) curriculum in all universities? Is there a common fundamental set? What is that? Is disorganized diversity necessarily bad? How can we approach change? Education & research need to go together.