An Undergraduate Curriculum Infused with Parallelism

Slides:



Advertisements
Similar presentations
E-Science Data Information and Knowledge Transformation Thoughts on Education and Training for E-Science Based on edikt project experience Dr. Denise Ecklund.
Advertisements

CS Body of Knowledge (ACM) Discrete Structures Programming Fundamentals Algorithms & Complexity Operating Systems Architecture & Organization Social &
Integrating Parallel Computing into the Undergraduate Curriculum: Efforts at Texas State University Martin Burtscher Wuxu Peng Apan Qasem Hongchi Shi Dan.
Project Lead the Way An Orientation American High School.
1 Undergraduate Curriculum Revision Department of Computer Science February 10, 2010.
Department of Mathematics and Computer Science
Software Engineering at Faculty of EE in Belgrade Prof. Dr Miroslav Bojovic Baile Herculane, August 2005.
College of Computer Sciences and Engineering
The Education of a Software Engineer Mehdi Jazayeri Presented by Matthias Hauswirth.
© 2002 University of South Carolina CSCE 491 Computer Engineering Senior Design Project Proposal for Spring 2002 Dr. James P. Davis, Associate Professor.
Undergraduate Consultation: Opportunities and Challenges John Paxton Montana State University – Bozeman October 15, 2005 Seventh Annual CCSC-NW Conference.
CS 101 Course Summary December 5, Big Ideas Abstraction Problem solving Fundamentals of programming.
Revised MS Program in Computer Science INFORMATION AND COMPUTER SCIENCE DEPARTMENT October 2002.
Joint Curriculum CEN UG Program CEN Curriculum Committee Manuel Bermudez, Doug Dankel, Paul Fishwick, Rob Fox, Ann Gordon-Ross, Herman Lam (chair), Janise.
The Influence of the University/College/Department Mission How your university and department’s missions influence your engineering degree requirements.
Student view of SE study program at FER, Zagreb Ivan Belfinger Mentor: prof. dr. sc. Krešimir Fertalj Faculty of Electrical Engineering and Computing,
New experiences with teaching Java as a second programming language Ioan Jurca “Politehnica” University of Timisoara/Romania
Teaching Fellow Admissions Tutor for Computer Science Director of Undergraduate Studies.
Introduction. Readings r Van Steen and Tanenbaum: 5.1 r Coulouris: 10.3.
A Study of Professional Curriculum Planning for the Information Engineering Technology Programs of De Lin Institute of Technology Hung-Jin Chen De Lin.
EES Graduate Seminar Fall 2008 Geoc/Geol/Geop/Hydr 592 Rick Aster MSEC
Computer Science Graduate Studies in U of Memphis.
EECE 310 Software Engineering Lecture 0: Course Orientation.
SOME IMPORTANT FACTORS IN TEACHING SOFTWARE ENGINEERING COURSES Presenter: Jingzhou Li Depart of ECE, University of Calgary,
Dr. John Lowther, Associate Professor of CS Adjunct Associate Prof. of Cognitive and Learning Sciences Computer Graphics:
Computer Science Department 1 Undergraduate Degree Program Computer Science Chair Dr. Kurt Maly.
1 WORKSHOP ON COMPUTER SCIENCE EDUCATION Innovation of Computer Science Curriculum in Higher Education TEMPUS project CD-JEP 16160/2001.
CEN Program Focus Group TOPICS: –Suggestions for the CEN program. –CEN program Overhaul 1.
Guiding Principles. Goals First we must agree on the goals. Several (non-exclusive) choices – Want every CS major to be educated in performance including.
Tempus CD-JEP Meeting, Belgrade, SCG, Apr , Curriculum Development: Specific undergraduate IT Curriculum at Faculty of Mechanical Engineering,
Advising Session: Spring 2008 Computer Science Software Engineering Computer Systems Science 1.
Practices of Integrating Parallel and Distributed Computing Topics into CS Curriculum at UESTC Guoming Lu University of Electronic Science and Technology.
CMSC104 Problem Solving and Computer Programming Spring 2011 Section 04 John Park.
Why You Should All Become Computer Engineers ECE 200 (Fall 2015) Saurabh Bagchi School of Electrical and Computer Engineering Purdue University.
Revised MS Program in Computer Science INFORMATION AND COMPUTER SCIENCE DEPARTMENT December 2002.
Computer Science in Context Evangelos E. Milios Professor and Graduate Coordinator Faculty of Computer Science Dalhousie University.
More Computer Science in your Future? CSE 142 Autumn
CS Curriculum Changes Fall, BS Computer Science 2015 COMPUTER SCIENCE COURSES—64 Hours COMPUTER SCIENCE CORE (48 Hours) CS 258Intro to Object-Oriented.
Charles L. Brown Department of Electrical and Computer Engineering EE Undergraduate Curriculum Proposal ECE Faculty Meeting 1/31/14 L.R. Harriott, Joanne.
Charles L. Brown Department of Electrical and Computer Engineering EE Undergraduate Curriculum Proposal SEAS UCC Meeting 2/12/14 L.R. Harriott, Joanne.
Department of Electrical and Computer Engineering Undergraduate Curriculum Reform Last major curriculum restructuring was before I was hired Study Group.
Computer Engineering Proposed Changes for and beyond.
Computer Engineering School of Engineering at Fairfield University Prof. D. Lyon, Chair, Computer Engineering
Introduction to CSCI 1311 Dr. Mark C. Lewis
Industry Advisory Board
Study program: Computer Engineering (Računarsko inženjerstvo)
UWaterloo An undergraduate degree program
Changes in the Curriculum of ETF Belgrade
Computer Mathematics CUIT102 Donna Musiyandaka
Syllabus Introduction to Computer Science
Computer Science 195/295 Title: Computing Seminar
E 96 Introduction to Engineering Design Peter Reiher UCLA
CMSC104 Problem Solving and Computer Programming Fall 2010 Section 01
Computer Science Courses
Li Jun, the University of Tennessee
Freshman Year Sophomore Year Junior Year Senior Year
Metropolitan State University of Denver
CMSC 104 Problem Solving and Computer Programming Fall 2010
EECE 310 Software Engineering
ABET 2017 Followup Actions.
Five-Year Undergraduate Enrollments
ISTE Workshop Research Methods in Educational Technology
CMSC104 Problem Solving and Computer Programming Fall 2010
A Brief Review of Course Options
“Critical” prerequisite flows – CSE
Undergraduate Degree Program
“Critical” prerequisite flows – Computer Track
Computer Science Courses in the Major
The Curriculum of the Department of Informatics TEI-A
Proposed Changes for and beyond
Presentation transcript:

An Undergraduate Curriculum Infused with Parallelism Vijay Pai (PI), Deborah Bennett, Cordelia Brown, Yung Lu, Sam Midkiff smidkiff@purdue.edu

Let’s start off pessimistically I’ve been involved in two or three of these workshops, and the comment I’ve heard from industrial participants is I don’t care if your students know how to do parallel programming – we can teach them that – what I care about is that they can think critically and come up with solutions. And they often cannot. The bad news that we should all keep in mind is that critical thinking and creativity, including thinking outside the box, examining programs for the possibility of the unexpected, are largely dependent on critical thinking.

A contrary opinion Can we follow the National Labs & Fortran model, or what appears to be the Google model The labs assume you don’t know Fortran when they hire you, and teach it Google seems to assume that if you are a smart hardworking you will be a good Googlean Use the parallelism time to practice and “teach” critical thinking – senior design courses in engineering I believe concurrency and parallelism are more fundamental than, e.g., programming language choice, but I’m biased. However, reality exists outside of my biases, so I may be right and biased.

The challenge in an CE Curriculum We teach C as the intro course for good reasons The student have very few “easy” classes Schedule is full Few courses that are not hardcore EE or CE Average graduation time is > 8 semesters Many EE classes are first class citizens in the curriculum, and are mandated by ABET Also 15 – 18 hours of math Curriculum changes go through the department This is often good, about ½ of our graduates design and program microcontrollers and small systems interacting w/hardware Need to be at least tolerable ECEs at the end of four years

How did we tackle the problem? Iteratively Considered what we needed to teach Looked at courses we could teach them in Look at what was undone, or was crucial enough to be repeated in other courses Goto 2 Because of the parallel nature of systems, increased emphasis is sometimes adequate Implementation is a work in progress

Concept Inventory Map [Yale, et al, HICE 2009]

+ 60 or so hours of other stuff (math, breadth, English, etc.) First Year Engineering / CS 159 ©, ECE 495K, 1st year Calculus, etc. 201 Linear Circuits I 207 El Meas tech. 200 Soph. Seminar 270 Intr Dig. Sys. Design 264 Adv C Pgm 264 (Honors) Lab 202 Linear Circuit 2 255 Linear Circuit 2 208 Dev Design Lab 362 Micro Systems 337 ASIC Design Lab 364 Software Eng Tool 301 Signal & Systems 302 Prob. Method 369 Discrete Math 477 Senior Design 437 Comp Arch 368 Data Struct. CmpE Electives to 49 (typically one of these) Computer Networks; Introduction to Computer Security; Software Engineering; Object Oriented Programming Using C++ and Java; Introduction to Computer communication Networks; Introduction to Artificial Intelligence; Fundamentals of Computer Graphics; Software for Embedded Systems; Introduction to Data Management; Programming Parallel Machines; Embedded Systems; Artificial Intelligence; Computer Network Systems; Visualization Techniques 400 Senior Seminar 468 Compilers or 469 Operating Systems + 60 or so hours of other stuff (math, breadth, English, etc.)

Evaluation of what we’ve done A test was developed to measure students grasp of the content Test is given early and late in the semester Challenges Phrasing of questions is difficult because of wide range of students taking the test (freshman to seniors) Motivating students to take the test is difficult, since not on the syllabus cannot make it worth too many points Distribution of results tends to be bi-modal, with a trend towards being more knowledgeable as they take more classes.

Conclusions Emphasis on parallelism in existing systems concepts an important tool to squeeze in parallelism and concurrency concepts ABET and breadth requirements (both within science/math and outside) reduce flexibility Even though we know this is extremely important, other parties consider other topics to be equally or more important Other topics may be as important Must be a part of an overall curriculum reform

A brief announcement Workshop on Integrating Parallelism Throughout the Undergraduate Curriculum to be help in conjunction with the ACM Symposium on the Principles and Practice of Parallel Programming (PPOPP 2011) Saturday, February 12, San Antonio, TX Send abstracts to smidkiff@purdue.edu by Dec. 15 Significant travel support should be available