Early Adopter: Integration of Parallel Topics into the Undergraduate CS Curriculum at Calvin College - PowerPoint PPT Presentation

1 / 11
About This Presentation
Title:

Early Adopter: Integration of Parallel Topics into the Undergraduate CS Curriculum at Calvin College

Description:

... core, 12-15 students Topics: Flynn taxonomy (SISD, SIMD, MIMD) Multiprocessors (shared vs ... architectures Memory hierarchy ... shared memory Hands on: Threads ... – PowerPoint PPT presentation

Number of Views:147
Avg rating:3.0/5.0
Slides: 12
Provided by: Informati614
Category:

less

Transcript and Presenter's Notes

Title: Early Adopter: Integration of Parallel Topics into the Undergraduate CS Curriculum at Calvin College


1
Early AdopterIntegration of Parallel Topics
into the Undergraduate CS Curriculum at Calvin
College
  • Joel C. Adams
  • Chair, Department of Computer Science
  • Calvin College

2
Calvin College
  • Is a 4-year comprehensive liberal arts college
    located in Grand Rapids, MI
  • Has about 4,000 students
  • Offers ABET-accredited programs in
  • Computer Science (BCS)
  • 7.5 FTE faculty
  • 100 students
  • Engineering (BSE)

3
CS Major Curriculum
Year
Fall Semester
Spring Semester
1
Intro to Computing Calculus I
Data Structures Calculus II
2
Algorithms DS Intro. Comp. Arch. Discrete Math I
Programming Lang. Discrete Math II
3
Software Engr Adv. Elective
OS Networking Statistics
4
Adv. Elective Sr. Practicum I
Adv. Elective Sr. Practicum II Perspectives on
Comp.
4
CS 112 Intro to Data Structures
  • Year 1, semester 2, core, 40 students
  • Topics
  • Single threading vs. multithreading
  • Parallelizing linear search, mergesort
  • Race conditions non-thread-safe structures
  • Speedup, asymptotic performance analysis
  • Hands on Embarrassingly parallel matrix
    operations (addition, transpose) via OpenMP
  • Reduced Coverage of graphs

5
CS 212 D. Structures Algorithms
  • Year 2, semester 1, core, 12-15 students
  • Topics
  • Parallel vs distributed algorithms
  • Parallel design (data vs task decomposition)
  • Parallel algorithms (parallel sorting, max)
  • Distributed graph algorithms
  • Asymptotic performance analysis
  • Reduced Coverage / review of elementary data
    structures (stacks, queues, sets)

6
Engr 220 Intro. Architecture
  • Year 2, semester 1, core, 12-15 students
  • Topics
  • Flynn taxonomy (SISD, SIMD, MIMD)
  • Multiprocessors (shared vs distributed mem.)
  • Multicore, manycore processor architectures
  • Memory hierarchy
  • Multicore memory bandwidth issues
  • Multicore caching, coherency issues
  • Reduced Assembly language coverage

7
CS 214 Programming Languages
  • Year 2, semester 2, core, 20 students
  • Topics
  • Concurrency and synchronization using
  • Processes / threads / tasks
  • Semaphores, locks, condition variables, monitors
  • Race conditions
  • Communication constructs
  • Message passing vs. shared memory
  • Hands on Threads in C, Ruby Ada tasks
  • Reduced coverage of markup languages

8
CS 232 OS Networking
  • Year 3, semester 2, core, 15 students
  • Topics
  • Concurrency synchronization implementing
  • Processes, threads,
  • Semaphores, locks, condition variables, monitors
  • Race conditions, deadlocks
  • Traditional vs. multicore scheduling
  • TCP/IP and Ethernet Networking
  • Sockets, message passing, RPC,
  • Classic distributed systems problems

9
CS 232 OS Networking (ii)
  • Hands on
  • Multiprocessing (fork), synchronization
  • Multithreading (POSIX), synchronization
  • Kernel programming
  • Socket programming (client-server systems)
  • Reduced coverage of
  • Hardware review (from 1 week to 1 lecture)
  • Batch systems
  • I/O devices

10
CS 374 High Perf. Computing
  • Year 3 4, semester 1, elective, 8 students
  • Topics
  • Multiprocessor architectures
  • Problem decomposition data vs task
  • Parallel patterns models
  • Problem types Monte Carlo, N-body, etc.
  • Scalability
  • Speedup, Efficiency, Amdahls L., Gustafsons L.
  • Hands on MPI, OpenMP, MapReduce, OpenCL

11
Summary
  • By sprinkling parallel topics throughout the
    core courses, students
  • Are exposed to parallel thinking early (year 1)
  • Are exposed to parallel thinking frequently
  • Are gradually exposed to increasingly difficult
    aspects of parallelism
  • This provides a framework for gradually
    increasing the parallel content as faculty become
    comfortable teaching it.
Write a Comment
User Comments (0)
About PowerShow.com