6
S S p p r r i i n n g g 1 1 1 1 : : P P D D C C i i n n C C S S 1 1 / / 2 2 a a n n d d a a m m o o b b i i l l e e / / c c l l o o u u d d i i n n t t e e r r m m e e d d i i a a t t e e s s o o f f t t w w a a r r e e d d e e s s i i g g n n c c o o u u r r s s e e J. Kaylor • K. Läufer • C. Sekharan • G. K. Thiruvathukal Dept. of Computer Science • Loyola University Chicago www.cs.luc.edu • [email protected] • edupar.cs.luc.edu E E d d u u P P a a r r ' ' 1 1 3 3

Spring11: PDC in CS1/2 and a mobile/cloud …tcpp.cs.gsu.edu/curriculum/sites/default/files/Spring-11...Spring 11: PDC in CS1/2 and a mobile/cloud intermediate software design course

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Spring11: PDC in CS1/2 and a mobile/cloud …tcpp.cs.gsu.edu/curriculum/sites/default/files/Spring-11...Spring 11: PDC in CS1/2 and a mobile/cloud intermediate software design course

SSpprriinngg­­1111:: PPDDCC iinn CCSS11//22 aannddaa mmoobbiillee//cclloouudd iinntteerrmmeeddiiaatteessooffttwwaarree ddeessiiggnn ccoouurrssee

J. Kaylor • K. Läufer • C. Sekharan • G. K. ThiruvathukalDept. of Computer Science • Loyola University Chicagowww.cs.luc.edu • [email protected] • edupar.cs.luc.edu

EEdduuPPaarr ''1133

Page 2: Spring11: PDC in CS1/2 and a mobile/cloud …tcpp.cs.gsu.edu/curriculum/sites/default/files/Spring-11...Spring 11: PDC in CS1/2 and a mobile/cloud intermediate software design course

PPrriioorr OOuuttccoommeessSpring 2011: three 9h PDC modules ­> required second­

year coursesAY 2011­12: four 9h advanced PDC course modules in

programming and distributed computing ­> electives

IInnssttiittuuttiioonnaall PPrrooffiillee• 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

Page 3: Spring11: PDC in CS1/2 and a mobile/cloud …tcpp.cs.gsu.edu/curriculum/sites/default/files/Spring-11...Spring 11: PDC in CS1/2 and a mobile/cloud intermediate software design course

AAbbssttrraacctt//CCuurrrreenntt FFooccuussAY 2012­13: We are moving PDC topics further down into

CS1 and CS2, fleshing out PDC coverage in ourintermediate object­oriented development course (CS 313),and stepping up evaluation.

PPoossiittiioonn SSttaatteemmeennttss[for discussion]

• To teach PDC topics effectively, they should not be taughtin isolation. Instead, they should be taught in the contextof relevant software engineering best practices. (Go beyondfunctional and performance requirements.)

• Mobile applications backed by RESTful cloud services arerapidly emerging as the mainstream paradigm ofcomputing [Christensen, OOPSLA '09]. PDC curricula shouldembrace it.

Page 4: Spring11: PDC in CS1/2 and a mobile/cloud …tcpp.cs.gsu.edu/curriculum/sites/default/files/Spring-11...Spring 11: PDC in CS1/2 and a mobile/cloud intermediate software design course

CCSS11• Spring 2013: separate section aimed at majors in physics and

other 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 speedupusing data parallelism in C#

• example: threads for speeding up trapezoidal rule integration

CCSS22• 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

Page 5: Spring11: PDC in CS1/2 and a mobile/cloud …tcpp.cs.gsu.edu/curriculum/sites/default/files/Spring-11...Spring 11: PDC in CS1/2 and a mobile/cloud intermediate software design course

IInntteerrmmeeddiiaattee OObbjjeecctt­­OOrriieenntteeddDDeevveellooppmmeenntt ((CCSS 331133))• 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 checkfinal 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;

Page 6: Spring11: PDC in CS1/2 and a mobile/cloud …tcpp.cs.gsu.edu/curriculum/sites/default/files/Spring-11...Spring 11: PDC in CS1/2 and a mobile/cloud intermediate software design course

EEvvaall:: LLeeaarrnniinnggAAsssseessssmmeennttSuppose we have 2 philosophers. The 1stone, Kant, repeatedly behaves like so:

think for 10 minutes...

EEvvaall:: CCoouurrsseeEEffffeeccttiivveenneessss

Sample questions (Likertscale): Rate BEFORE/AFTERtaking course

• your event­basedprogramming expertise

• your thread­basedprogramming expertise

• your feeling ofpreparedness for the jobmarket

• ...

FFuuttuurree PPllaannss• Computer Systems/CS3: PDC

module with architecture,programming, and cross­cutting

• Algorithms/CS7: PDC module:models of computation andcomplexity, basic algorithmicparadigms, specific problemsand their algorithmic solutions

• Evaluation: longitudinal; workwith Loyola’s Center for Sci &Math Education, TCPP, fellowadopters

• Dissemination: workshops forother adopters in the Midwest

edupar.cs.luc.edu