Sp pr ri in ng g 1 11 1: : P PD DC C i in n C CS S1 - - PowerPoint PPT Presentation

sp pr ri in ng g 1 11 1 p pd dc c i in n c cs s1 1 2 2 a
SMART_READER_LITE
LIVE PREVIEW

Sp pr ri in ng g 1 11 1: : P PD DC C i in n C CS S1 - - PowerPoint PPT Presentation

Ed du uP Pa ar r ' '1 13 3 E Sp pr ri in ng g 1 11 1: : P PD DC C i in n C CS S1 1/ /2 2 a an nd d S a m mo ob bi il le e/ /c cl lo ou ud d i in nt te er rm me ed di ia at te e a so of


slide-1
SLIDE 1

S Sp pr ri in ng g­ ­1 11 1: : P PD DC C i in n C CS S1 1/ /2 2 a an nd d a a m mo

  • b

bi il le e/ /c cl lo

  • u

ud d i in nt te er rm me ed di ia at te e s so

  • f

ft tw wa ar re e d de es si ig gn n c co

  • u

ur rs se e

  • J. Kaylor • K. Läufer • C. Sekharan • G. K. Thiruvathukal
  • Dept. of Computer Science • Loyola University Chicago

www.cs.luc.edu • laufer@cs.luc.edu • edupar.cs.luc.edu

E Ed du uP Pa ar r ' '1 13 3

slide-2
SLIDE 2

P Pr ri io

  • r

r O Ou ut tc co

  • m

me es s

Spring 2011: three 9h PDC modules ­> required second­ year courses AY 2011­12: four 9h advanced PDC course modules in programming and distributed computing ­> electives

I In ns st ti it tu ut ti io

  • n

na al l P Pr ro

  • f

fi il le e

  • RU/H, L4/R, MU, Bal/HGC, FT4/MS/HTI, CompDoc/MedVet
  • Urban, private, Jesuit, liberal arts, ~16k students
  • College of Arts and Sciences, ~8k students
  • Department of Computer Science, ~250 students
  • ~10 FTE: 9 CS, 1 bioinf (1/2 FTE), 1 math (1/4 FTE CS)
  • ~140 undergrad majors in CS, SE, IT, Networks/Sec, Bioinf
  • ~110 master's students in CS, SE, IT
  • External funding: NSF S­STEM, NSF BPC lead institution,

NSF research grants, industry grants and donations

slide-3
SLIDE 3

A Ab bs st tr ra ac ct t/ /C Cu ur rr re en nt t F Fo

  • c

cu us s

AY 2012­13: We are moving PDC topics further down into CS1 and CS2, fleshing out PDC coverage in our intermediate object­oriented development course (CS 313), and stepping up evaluation.

P Po

  • s

si it ti io

  • n

n S St ta at te em me en nt ts s

[for discussion]

  • To teach PDC topics effectively, they should not be taught

in isolation. Instead, they should be taught in the context

  • f relevant software engineering best practices. (Go beyond

functional and performance requirements.)

  • Mobile applications backed by RESTful cloud services are

rapidly emerging as the mainstream paradigm of computing [Christensen, OOPSLA '09]. PDC curricula should embrace it.

slide-4
SLIDE 4

C CS S1 1

  • Spring 2013: separate section aimed at majors in physics and
  • ther hard sciences
  • includes some material on numerical methods at the K and C levels
  • about 9 class hours were dedicated to sequential and parallel

versions of these algorithms and the possible resulting speedup using data parallelism in C#

  • example: threads for speeding up trapezoidal rule integration

C CS S2 2

  • emphasis on PDC topics in CS2 starting in fall 2011
  • 9­hour PDC module on task parallelism, speedup, and load

balancing in algorithms involving arbitrary precision arithmetics

  • presentation at C/A levels in the form of various examples
  • example: compute Fibonacci numbers based on repeated

squaring of 2­by­2 matrices of BigIntegers in Java

  • experiment with the speedup and load balancing btw. tasks
slide-5
SLIDE 5

I In nt te er rm me ed di ia at te e O Ob bj je ec ct t­ ­O Or ri ie en nt te ed d D De ev ve el lo

  • p

pm me en nt t ( (C CS S 3 31 13 3) )

  • since fall 2011: C#, emphasis on PDC topics
  • since fall 2012: Java + Android as context for

concurrent/distributed comp. topics (18h C/A)

  • concurrency and coordination
  • design forces: safety, liveness, performance
  • external events and internal timers
  • background threads
  • progress reporting and cancelation
  • offloading computation to cloud

// local task: i is number to check final long half = i / 2; for (long k = 2; k <= half; k += 1) { if (isCancelled() ) break; publishProgress((int) ((k / half) * 100) ) ; if (i % k == 0) return false; } return true;

slide-6
SLIDE 6

E Ev va al l: : L Le ea ar rn ni in ng g A As ss se es ss sm me en nt t

Suppose we have 2 philosophers. The 1st

  • ne, Kant, repeatedly behaves like so:

think for 10 minutes

...

E Ev va al l: : C Co

  • u

ur rs se e E Ef ff fe ec ct ti iv ve en ne es ss s

Sample questions (Likert scale): Rate BEFORE/AFTER taking course

  • your event­based

programming expertise

  • your thread­based

programming expertise

  • your feeling of

preparedness for the job market

  • ...

F Fu ut tu ur re e P Pl la an ns s

  • Computer Systems/CS3: PDC

module with architecture, programming, and cross­cutting

  • Algorithms/CS7: PDC module:

models of computation and complexity, basic algorithmic paradigms, specific problems and their algorithmic solutions

  • Evaluation: longitudinal; work

with Loyola’s Center for Sci & Math Education, TCPP, fellow adopters

  • Dissemination: workshops for
  • ther adopters in the Midwest

edupar.cs.luc.edu