Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
1
Jan B. PedersenComputer Science 2009
Promotionand Tenure
Engineer a Difference. Pride in the Profession.
2
Overview
• Teaching and Mentoring
• Student Supervision
• Research
• Service
• Support material (10 vols.) athttp://www.cs.unlv.edu/~matt/tenure
3
Teaching and MentoringPhilosophy
• Student focuses.
– Teach the students, no just the material.
• Engage the class in conversation.
• Have them do small questions/assignments.
– Availability
• E-mail, bulletin board, open-door policy.
• Graduate Mentoring
– Be involved in research
• Write papers.
• Preferably pick their own topic (something they like).
4
Teaching - Course Overview
!CSC 789Multiparadigm.
!!!CSC 789Multi.Proc.Prog.
!CSC 489/689Net. & Dist.Sys.
!!CSC 465/665Networks
!CSC 478/678Compilers
!!!!!!!CSC 460/660Compilers
!!!!!CSC 326Prog. Lang.
SP09
FA08
SP08
FA07
SP07
FA06
SP06
FA05
SP05
FA04
SP04
On average 1 new course taught per year.
5
Teaching – Course DevelopmentCSC 326 Programming Languages
Write a virtual machine for a a mnemonicversion of Java Byte Code (called Jasmin).
.class public test
.super java/lang/Object
.method public foo(I)V .limit stack 50 .limit locals 3
iconst_0 istore 2L1: iload 1 iconst_0 if_icmpge L3 iconst_0 goto L4L3: iconst_1L4: ifeq L2 iload 1 iconst_5 irem
72 Pages.
Espresso Virtual
Machine (EVM)
~ 6,600 Lines of Java.
Other Material:
• Note on Recursion/Induction (9 pages)
• Note on Program Correctness (21 pages)
6
Teaching – Course DevelopmentCSC 460/660 (478/678) Compilers
109 Pages.
6 stage compiler for Espresso (Java 1.1 withoutimport, exceptions, and arrays):
Phase 1: Use scanner and parser generator (JFlex /java CUP) to create scanner/parser.
Phase 2: Build parse trees.
Phase 3: Symbol resolution / scope checking.
Phase 4: Type checking.
Phase 5: Modifier checking.
Phase 6: Code generation.
Extra: Phase 7: Optimization.
~ 11,600 Lines of Java code.
Other Material:
• Notes on parsing (23 pages)
• LL(1), SLR, LR(1), LALR(1) parsers & parser generators in Java (~ 13,400 Lines of Java)
7
Teaching – Course DevelopmentCSC 789 Multi-processor Programming
• Parallel programming using C and MPI (Message Passing Interface) on a loosely coupled cluster of workstations: TBE 361 Lab machines/School of Computer Science Teaching Cluster (8 nodes)/College of Engineering 300+ node Beowulf cluster.
• Buffer requirements, synchronous communication, process oriented design.
• Project.
Optimization ¶llelization.
Data layout &communication.
Functional decomp.Pipeline computation.
Non-trivial communication.
8
Teaching – Course DevelopmentCSC 789 Multiparadigmatic Programming
Functional Programming:
Scheme.
Lecture Notes. Evaluator Notes. Data Base Ass. Santa Claus Problem Ass.141 pages. 21+14 pages. 25 pages 18 pages. (1,200 Lines.) (1,000 Lines.) (330 Lines.)
Process Oriented
Programming: occam.
Message Passing
Programming: C + MPI.
Formal Verification:
CSP + FDR.Other Topics:
Lecturenotes(not mine)
9
Teaching – Student EvaluationsMean & Median
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
SP
'0
4 -
47
8
SP
'0
4 -
67
8
FA
'04
- 3
26
FA
'04
- 7
89
SP
'0
5 -
46
0
SP
'0
5 -
46
5
SP
'0
5 -
66
0
SP
'0
5 -
66
5
FA
'05
- 3
26
SP
'0
6 -
46
0
SP
'0
6 -
46
5
SP
'0
6 -
66
0
SP
'0
6 -
66
5
FA
'06
- 4
60
FA
'06
- 6
60
FA
'06
- 7
89
SP
'0
7 -
46
0
SP
'0
7 -
48
9
SP
'0
7 -
66
0
SP
'0
7 -
68
9
FA
'07
- 4
60
FA
'07
- 6
60
FA
'07
- 7
89
SP
'0
8 -
32
6
SP
'0
8 -
46
0
SP
'0
8 -
66
0
FA
'08
- 3
26
FA
'08
- 7
89
SP
'0
9 -
32
6
SP
'0
9 -
46
0
Course
Ev
al
#Evals / 5 Mean Median
10
Teaching Recognitions
College of EngineeringOutstanding Teacher
2008/2009(runner-up in 2007/2008.)
Honors Convocation Spring 2009.
11
Teaching Tools
A web based system for handing in assignments and providing feedbackto students in the form of comments and grades. Also helps the studentkeep track of his/her performance and projected grade.
12
Graduated M.Sc. Students
Publication: PDPTA 2005 (conf.)Job: Konami, Las Vegas Vegas.com, Las Vegas
97 pp. thesis
(Paralleldebugging/ UI)
Erik Tribou(August 2005)
Publication: PDPTA 2006 (conf.)
Job: Ph.D. student, Clemson U.
138 pp. thesis(Parallel debugging)
Hoimonti Basu(December 2005)
83 pp. thesis(Ubiquitous computing)
Kamesh Khanna(May 2007)
Publication: JPDC 2007 (jrnl.)Job: JT3, Las Vegas, Lockheed Martin, San Diego
55 pp. thesis.(Buffer Allocation)
Jeff Sampson(November 2007)
Publication: CPA 2008 (conf.)Job: Tririga, Las Vegas
114 pp. thesis.(Languages)
George Oprean(April 2008)
13
M.Sc. Students (Current)
Parallel debuggingJay Adams
Data visualizationArun Sadasivan
Data visualizationBharath Suresh
Publication: CPA 2008 (conf.)Parallel geneticalgorithms.
Jason Hurt(Summer 2010)
Process orientedProgramming / GUIs.
Mikolai Slomka(January 2010)
14
Research
• Topics– Main Topics
• Parallel programming/debugging.
• Process oriented languages.
• Language development.
– Other• GUIs, visualization.
• Geometry.
• Graphics.
• Research and Teaching go hand-in-hand– Original M.Sc. work that can be published.
– Encourage research during class time.
• Collaborate with colleagues on interesting topics
15
Research: DebuggingTopic: Debugging of parallel messagepassing programs, including:• Graphical Debuggers• Message Debuggers• Error Classification
Conference Publications:
- “Millipede: A Multilevel Debugging Environment for Distributed Systems.” PDPTA 2005. (*)
- “IDLI: An Interactive Message Debugger for Parallel Programming using LAM-MPI.” PDPTA 2006. (**)
- “Classification of Programming Errors in Parallel Message Passing Systems.” CPA 2006.
Several other publications in Debugging before UNLV.
(*) with student Erik Tribou.
(**) with student Hoimonti Basu.
16
Research: Buffer AllocationTopic: Determine the minimum number of buffers needed in aparallel message passing system to avoid deadlock due tobuffer shortage (asynchronous communication turns synchronous)
Journal Publications: - “On the Complexity of Buffer Allocation in Message Passing Systems” Journal of Parallel and Distributed Computing (June 2005) Impact: 0.86 (top 29.07%) 22 pages.
Topic: Develop a heuristic for approximating the Buffer AllocationProblem.
Conference Publications
- “Approximating the Buffer Allocation Problem Using Epochs.” PDCS 2006. Best Paper in Algorithms.
Journal Publications: - “Approximating the Buffer Allocation Problem Using Epochs.” Journal of Parallel and Distributed Computing (September 2008.) Impact: 0.86 (top 29.07%) 20 pages. (*)
(*) with studentJeff Sampson
17
Research:Process Oriented Programming
No objects, no pointers, no shared memory; everything isa process, and communication is done though synchronousnon-buffered channels. Code is verifiable for dead-locks,live-locks and race conditions through CSP/FDR.
Conference Publications:
- “Solving the Santa Claus Problem: A Comparison of Various Concurrent Programming Techniques” CPA 2008 (*)
Journal Publications:
“Santa Claus: Formal Analysis of a Process-Oriented Solution” Transactions of Programming Languages and Systems (TOPLAS) Impact: 1.92 (top 3.35%) 46 pages.
Santa Claus Problem: Well known exercise inconcurrent programming by John Trono.
(*) with student Jason Hurt
18
Research: Active ObjectsTopic: Asynchronous active objects; re-implementing object orientationsuch that objects are in control of their own code and state.(Re-engineering the object modelwith inspiration from process orientedprogramming.)New Java compiler for Active Java with new keywords for active object support.
Conference Publication:
- “Active Objects in Java” CPA 2008 (*)
(*) with student George Oprean
19
Research: Model SimplificationTopic: Parallel/distributed simplification of very large polygonal meshes with minimal loss in quality.
Conference Publication:
- “A parallel framework for Simplification of Massive Meshes.” IEEE Symposium on Parallel and Large-Data Visualization and Graphics 2003.
One other publication in this field before UNLV.
20
Research: Sensor NetworksTopic: Where can a senor node move to withoutchanging the connectivity of the network?
In collaboration withDr. Gewali.
Journal Publications:
- “Free Regions of Sensor Nodes.” Systems Science Journal, 2009.
- “Estimating the Free Region of a Sensor Node.” Journal of Combinatorial Mathematics and Combinatorial Computing, 2009.
21
Research: Random NumbersTopic: Are random number generators really random?Are they uniform? How do we test for randomnessand uniformity? Test of randomness using pictures and/or sound.
Picture of the results of arandom number generator.
In collaboration withDr. Yfantis.
Journal Publications:
- “Random Number Generators: Test for Randomness and Uniformity.” Journal of Combinatorial Mathematics and Combinatorial Computing, 2009.
22
Research: ProcessJTopic: Develop a new process oriented languagecalled ProcessJ – syntax like Java and semantics likeoccam-! (CSP and the !-calculus) – and a compilerwith multiple back-ends:
• occam-! for multicore architectures.
• Java/JCSP for portable code.
• C/MPI for distributed shared memory architectures.ProcessJ example code.
Conference Publications:
- “Resumable Java Methods – Process Mobility in ProcessJ.” CPA 2009. (*)
Funding:
2008/2009 Presidents Research Award ($10,000)
Student Collaboration:
- Jason Hurt (unpaid M.Sc. student.) - Brian Kauke (paid undergraduate student.)
(*) with undergraduateBrian Kauke.
23
Research: Cluster ComputingCollege of Engineering’s
Beowulf cluster(300+ nodes)
Funding:
Co-PI on initial ~$500,000 grant to establish this cluster. DOE through UNLV Research Foundation.
General cluster usage:
Radiation simulation of space habitats.
Computer Science Usage:
- Buffer allocation computation (298 days worth of computation done in just 3 days.)- Active object experiments.- Genetic neural network generation.
24
Publication/Graduation Summary
!! ! ! !!2009 UNLV
StudentGraduation
StudentPublishing
JournalPublications
ConferencePublications
Year
0 + (3 + 2) = 50 + (2 + 4) = 60 + (1 + 5) = 67 + (5 + 4) = 16UBC + UNLV
!! ! !!! ! !2008 UNLV
!2007 UNLV
!!! ! !2006 UNLV
! !!!!2005 UNLV
2004 UNLV
!2003 UNLV
! !2002 UBC
! ! !2001 UBC
!2000 UBC
!1999 UBC
Midtenure (Oct. 2006)
25
Service
Member of the UNLV Faculty Senate:2006/2007 " 2008/2009(Senior Senator in 2008/2009).2009/2010 " 2011/2012.
26
Service: Committees
!!!!!!!Reviewer: CPA
!Reviewer: Evolutionary Comp.
!!!!!Reviewer: JPDC
!Reviewer: Jrnl of Super Comp.
!!!!!!!Reviewer: PDPTA
!!!Steering: CPA
!!!!PC: PDPTA
!!!!!!PC: CPA
!!!School: New Degree Programs
!!!!School: Lab/Space
!!!School: Ugrad. Affairs
!!!College: Curriculum
!!!University: Computing
!!!!University: Faculty Senate
2009200820072006200520042003
27
Ongoing Activities
• ProcessJ – the new process orientedlanguage and compiler.
• A new compiler book.
• More journal papers.
28
Future Plans
• Research– Ph.D. student focus.
• Service– National level committees
• NSF invitations (CyberTrust, NeTS, CSR)
• Text book about process orientedprogramming (with P.H.Welch fromUniversity of Kent)
29
Summary
• I have achieved my teaching goals by working closelywith students as shown for high marks in teachingevaluations and a teaching award.
• I have developed research originated from my owninterest and independent thinking. I have alsocollaborated with colleagues to strengthen my skills
• I have served the CS professional community and theuniversity in several capacities.
• I believe I have demonstrated that I have the skills andmotivation to be an associate professor in the CSdepartment and I respectfully ask for your vote for mytenure and promotion.
30
Thank You
• Department & College of Engineeringcolleagues.
• Mid-tenure review committee.
• All the students who inspired me and did goodand solid work.