Curriculum Vitæ Jan Bækgaard Pedersen School of Computer Science Phone: (702) 895 2557 University of Nevada, Las Vegas Fax: (702) 895 2639 4505 South Maryland Parkway Email: matt@cs.unlv.edu Las Vegas, NV, 89154 Web: http://www.cs.unlv.edu/~matt (Home address) 8399 Transvaal Blue Street Phone: (702) 792 2580 Las Vegas, NV 89139 Cell: (702) 234 5799 Area of Research Primary area of research is parallel programming. This includes tools for developing parallel programs, in particular message passing programs, tools for debugging message passing programs, parallel and distributed algorithms and language and compiler support for parallel and distributed programming. Other areas of interest include programming language design, compiler construction and optimization and runtime environments. In addition I am very interested in applying parallel programming techniques to the field of graphics, in particular, developing algorithms and programs for utilizing clusters for obtaining fast performance of time consuming tasks. Education 1997 2003 Ph.D. student, Department of Computer Science, University of British Columbia. Supervisor: Dr. Alan Wagner. 1990-1997 M.Sc. (Cand. Scient.) degree in computer science, B.Sc. in computer science, B.Sc. in Mathematics, Department of Computer Science at the Institute of Mathematics, University of Århus, Denmark. Supervisor: Dr. Peter Møller-Nielsen Work Experience University of Nevada, Las Vegas Oct. 2003 Present Assistant Professor, University of Nevada, Las Vegas. In charge of the area of programming language. CSC 326 Programming Languages (Fa04, Fa05, Sp08, Fa08, Sp09) CSC 460 Compilers (Sp04, Sp05, Sp06, Fa06, Sp07, Fa07, Sp08, Sp09) CSC 465 Networks (Sp05, Sp06) CSC 489 Network and Distributed Systems (Sp07) CSC 789 Multiprocessor Programming (Fa04, Fa06, Fa08) CSC 789 Multiparadigmatic Programming (Fa07)
University of British Columbia Summer 2000, Summer 2001, Summer 2002 Spring 2003 Lecturer in computer science, CPSC 124 Principles of Computer Science I Lecturer in computer science, CPSC 218 Computer Organization Lecturer in computer science, CPSC 124 Principles of Computer Science I Summer 2003 Lecturer in computer science, CPSC 128 Summer 2003 Lecturer in computer science, CPSC 126 Fall 2002 Fall 1997 - Present Member of the curriculum development committee. Teaching assistant (Giving tutorials, marking, making assignments, etc.): CPSC 122 Principles of Computer Programming CPSC 124 Principles of Computer Science I CPSC 126 Principles of Computer Science II CPSC 128 Principles of Computer Science CPSC 152 Principles of Software Development CPSC 218 Computer Organization CPSC 311 Definition of Programming Languages CPSC 318 Machine Structures CPSC 411 Introduction to Compiler Construction CPSC 416 Distributed Systems CPSC 418 Advanced Computer Architectures CPSC 520 Language Translation and Analysis Twinsoft/Tele Danmark (TDC) Feb. 1997 - Aug. 1997 System consultant (SQL, Databases, Scripting) University of Århus Sep. 1994 - Dec. 1996 Teaching assistant in computer science (Giving labs and tutorials): Distributed systems (4th year), Introduction to programming (1st year), Algorithms and data structures (1st year) Contract Software Development. Sep. 1990 - Dec. 1996 software). Midtjydsk Revisions Kontor (Time management and billing Herning Taxa (Taxi route planning software). Midtjydsk Autoophug (Inventory and accounting software). Midtjydsk Autokøler Værksted (Production planning software). Scholarships and Awards Spring 2009 Sep. 1997 Aug. 2002 Sep. 2001 & Sep. 2002 Jun. 2001 Best teacher of the College of Engineering, UNLV. Tuition scholarship by the Danish Research Academy. Travel support by the World Transputer User Group (WOTUG) Travel support by the North American Transputer User Group
Sep. 2000 Aug. 2001 Jun. 2000 Sep. 1997 (NATUG) and by the PDPTA conference. Tuition scholarship by the Danish Research Academy. Travel support by the North American Transputer User Group (NATUG). Scholarship by Randers Reb & The Jensen Family Memorial Foundation. Refereed Journal Papers Santa Claus Formal Analysis of a Process Oriented Solution, Peter H. Welch, Jan B. Pedersen in Transactions of Programming Languages and Systems; accepted with minor revisions. Estimating the Free Region of a Sensor Node, Laxmi Gewali, Navin Rongratana, Jan B. Pedersen, in Journal of Combinatorical Mathematics and Combinatorical Computing. Random Number Generators: Metrics and Tests for Uniformity and Randomness, Angelo Yfantis and Jan B. Pedersen, in Journal of Combinatorial Mathematics and Combinatorial Computing. Free Regions of Sensor Nodes. Laxmi Gewali, Navin Rongatana, Henry Selveraj, Jan B. Pedersen, in Journal of Systems Science. Approximating the Buffer Allocation Problem Using Epochs. Jan B. Pedersen, Alex Brodsky, Jeffrey Sampson. in Journal of Parallel and Distributed Computing, Vol. 68, No. 9 (September 2008), pages. 1263-1282. On the Complexity of Buffer Allocation in Parallel Message Passing Systems. Alex Brodsky, Jan B. Pedersen and Alan Wagner, Journal of Parallel and Distributed Computing, Vol. 65, No. 5. (June 2005) pp. 692-713. Refereed Conference Papers Resumable Java Bytecode Process Mobility in ProcessJ for the JVM, Jan B. Pedersen, Brian Kauke, to appear in proceedings of Communicating Process Architectures (CPA 09), Eindhoven, Holland, November 1-4, 2009. Asynchronous Active Objects in Java. George Oprean and Jan B. Pedersen in the proceedings of Communicating Processes Architectures 2008 (CPA'08), York, United Kingdom, September 7-10, 2008. pp. 237-254 Solving the Santa Claus Problem: A Comparison of Various Concurrent Programming Techniques. Jason L. Hurt and Jan B. Pedersen in the proceedings of Communicating Processes Architectures 2008 (CPA'08), York, United Kingdom, September 7-10, 2008. pp. 381-396 Approximating the Buffer Allocation Problem Using Epochs, Jan B. Pedersen and Alex Brodsky. To appear in proceedings of Parallel and Distributed Computing and Systems (PDC 2006), Dallas, Texas, USA, November 2006. [Best paper in the algorithms category] Classification of Programming Errors in Parallel Message Passing Systems, Jan B. Pedersen, Proceedings of Communicating Process Architectures (CPA 2006), Edinburgh, Scotland, September 17-20 2006, pp 363-376. IDLI: An Interactive Message Debugger for Parallel Programs using LAM-MPI, Hoimonti Basu and Jan B. Pedersen, in Proceedings of the International Conference on Parallel and Distributed Techniques and Applications (PDPTA 2006), Las Vegas, Nevada, USA, June 26-29 2006. Millipede: A Multilevel Debugging Environment for Distributed Systems. Erik H. Tribou and Jan B. Pedersen, Proceedings of the International Conference on Parallel and Distributed Processing Techniques (PDPTA 2005), Las Vegas, Nevada, June 2005, pp. 187-193
A Parallel Framework For Simplification of Massive Meshes. Dmitry Brodsky and Jan B. Pedersen, Proceedings of IEEE Symposium of Parallel and Large-Data Visualization and Graphics. Seattle 2003. On the Complexity of Buffer Allocation in Message Passing Systems, Alex Brodsky, Jan B. Pedersen and Alan Wagner, in Proceedings of Communicating Process Architectures (CPA 2002), Reading, United Kingdom, September 2002, pp. 57-75. Parallel Model Simplification of Very Large Polygonal Meshes, Dmitry Brodsky and Jan B. Pedersen, in Proceedings of the International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA 2002), Las Vegas, Nevada, June 24-27, 2002. Protocol Verification in Millipede, Jan B. Pedersen and Alan Wagner, in Proceedings of Communicating Process Architectures (CPA 2001), Bristol, United Kingdom, August 2001, pp. 309-328. Compiling, Assembling and Executing Java Using Java, Jan B. Pedersen and Alan Wagner, in Proceedings of the International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA 2001), Las Vegas, Nevada, June 25-28, 2001, pp. 1821-1826. Correcting Errors in Message Passing Programs, Jan B. Pedersen and Alan Wagner, in Proceedings of the 6ht International Workshop on High Level Parallel Programming Models and Supportive Environments (HIPS 2001), San Francisco, California, April, 2001, pp. 122-137. Sequential Debugging of Parallel Message Passing Programs, Jan B. Pedersen and Alan Wagner, in Proceedings of the International Conference on Communications in Computing (CIC'2000), Las Vegas, Nevada, USA, June 26-29, 2000, pp. 55-61. PVM-Builder A Tool for Parallel Programming, Jan B. Pedersen and Alan Wagner, in Proceedings of the 5th International Euro-Par Conference, Toulouse, France, August/September 1999, pp. 107-112. Contract Software Development Sep. 1990 - Dec. 1996 software). Midtjydsk Revisions Kontor (Time management and billing Herning Taxa (Taxi route planning software). Midtjydsk Autoophug (Inventory and accounting software). Midtjydsk Autokøler Værksted (Production planning software). Theses Multi Level Debugging of Parallel Message Passing Programs A Different Approach to Debugging Parallel Programs, Ph.D. Thesis, University of British Columbia. "PVMBuilder, et grafisk værktøj til parallel programmering" ( PVMBuilder, a Graphical Tool for Parallel Programming ), Masters Thesis, University of Aarhus, 1997. Presentations at Conferences Asynchronous Active Objects in Java. George Oprean and Jan B. Pedersen in the proceedings of Communicating Processes Architectures 2008 (CPA'08), York, United Kingdom, September 7-10, 2008. pp. 237-254 Approximating the Buffer Allocation Problem using Epochs, to be given at Parallel and Distributed Computing and Systems (PCDS 2006), Dallas, Texas, USA, November 2006. Classification of Programming Errors in Parallel Message Passing Systems, Communicating Process Architectures (CPA 2006), Edinburgh, Scotland, 2006.
IDLI: An Interactive Message Debugger for Parallel Message Passing Programs Using LAM_MPI, the International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA 2006), Las Vegas, Nevada, June 26-29, 2006. Protocol Verification in Millipede, Communicating Process Architectures 2001, Bristol, United Kingdom, August 2001. Compiling, Assembling and Executing Java Using Java, the International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA 2001), Las Vegas, Nevada, June 25-28, 2001. Correcting Errors in Message Passing Programs, the 6ht International Workshop on High Level Parallel Programming Models and Supportive Environments (HIPS 2001), San Francisco, California, April, 2001. Sequential Debugging of Parallel Message Passing Programs, the International Conference on Communications in Computing (CIC 2000), Las Vegas, Nevada, USA, June 26-29, 2000. PVM-Builder A Tool for Parallel Programming, the 5 th International Euro-Par Conference, August/September 1999, Toulouse, France. Misc. / Posters / Fringe Presentations Fringe: Santa Claus - with Mobile Reindeer and Elves, P. H. Welch and J. B. Pedersen, abstract published in in Communicating Process Architectures, 2008 (CPA'08), September 7-10, 2008, York, United Kingdom. Conferences Attended Communicating Process Architectures (CPA 2008), York, York, United Kingdom, September 2008. Communicating Process Architectures (CPA 2007), Guilford, Surry, United Kingdom, July 2007 Parallel and Distributed Computing and Systems (PDCS 2006), Dallas, Texas, USA, November 2006 Communicating Process Architectures (CPA 2006), Edinburgh, Scotland, September 2006. Applications (PDPTA 2006), Las Vegas, Nevada, June, 2006. Communicating Process Architectures (CPA 2005), Eindhoven, Holland, September 2005. Applications (PDPTA 2005), Las Vegas, Nevada, June, 2005. Communicating Process Architectures (CPA 2004), Oxford, United Kingdom, September 2004. Applications (PDPTA 2004), Las Vegas, Nevada, June, 2004. Special Interest Group on Graphics (SIGGRAPH 2002), San Antonio, Texas, USA, July 2002. Communicating Process Architectures (CPA 2002), Reading, United Kingdom, September 2002. Applications (PDPTA 2002), Las Vegas, Nevada, June 24-27, 2002. Communicating Process Architectures (CPA 2001), Bristol, United Kingdom, August 2001 Applications (PDPTA 2001), Las Vegas, Nevada, June 25-28, 2001.
The 6ht International Workshop on High Level Parallel Programming Models and Supportive Environments (HIPS 2001), San Francisco, California, April, 2001. The International Conference on Communications in Computing (CIC 2000), Las Vegas, Nevada, USA, June 26-29, 2000 The 5 th International Euro-Par Conference, August/September 1999, Toulouse, France. Program Committees Communicating Process Architectures (CPA), 2004 (since 2007 member of the steering committee) Public Relations Officer for CPA (2008-) International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA), 2005-2008 Referee The Journal of Supercomputing Journal of Parallel and Distributed Computing International Conference on Parallel and Distributed Processing Techniques and Applications Communicating Process Architectures Graduated Students Erik Tribou, M.Sc. Thesis. Millipede: A Graphical Tool for Debugging Distributed Systems With a Multilevel Approach (July 2005) Hoimonti Basu, M.Sc. Thesis. Interactive Message Debugger for Parallel Message Passing Programs Using MPI (November 2005) Kamesh Kanna, M.Sc. Thesis. Ubiquitous Health Monitoring System for Seniors, (May 2007) Jeffrey Sampson, M.Sc. Thesis. Implementation of the an approximation of the buffer allocation problem for MPI programs. (December 2007) George Oprean, M.Sc. Thesis. An Implementation of Active Objects in Java (May 2008) Research Grants Co-PI, college of Engineering Beowulf cluster grant ($500,000) 2008 Research Development Award ($10,000) Course Development During my time as untenured faculty at UNLV I have developed course material for 6 undergraduate and graduate courses. CSC 326 Programming Languages. Developed new curriculum including a 70 page assignment for developing a virtual machine for a Java like Language. CSC 460 Compiler Construction. Developed new curriculum including a 101 page assignment for developing a compiler for a Java like language using state of the art tools. CSC 465 Networks I. Developed new curriculum and assignments.
CSC 489 Networks and Distributed Systems. Develop curriculum and assignments as well as teaching it the first time it was offered. CSC 789 (Multiprocessor programming) CSC 789 (Multiparadigmatic programming) developed curriculum, handouts, and assignments for both of these courses, as well as taught them every time then have ever been taught.