Curriculum Vitae - Ed Harcourt

Contact

Dr. Ed Harcourt
Department of Mathematics, Computer Science, and Statistics
St. Lawrence University
Canton, NY 13617
USA
e-mail: edharcourt@stlawu.edu
phone: +1 315-229-5444

Education

Ph.D. Computer Science, August 1994. North Carolina State University. Raleigh, NC. Dissertation title: Formal Specification of Instruction Set Processors and the Derivation of Instruction Schedulers. Adviser: Dr. Jon Mauney
M.S. Computer Engineering, May 1989. North Carolina State University. Raleigh, NC. Thesis title: Concurrent Compilation via the Parallel Evaluation of Attribute Grammars.
B.S. Computer Science, May 1986. State University of New York. Plattsburgh, NY.

Work History

Chair of the Department of Mathematics, Computer Science, and Statistics. St. Lawrence University, Canton, NY (2010 - Present)

Associate Professor, St. Lawrence University, Canton, NY (2009 - Present)

Assistant Professor, St. Lawrence University, Canton, NY (2003 - 2009)

Department of Mathematics, Computer Science and Statistics. Courses taught include Introduction to Programming, Technique of Computer Science, Data Structures, Computer Organization, Software Engineering, Programming Languages, Algorithms, Web Programming, Database Systems.

Software Architect, Cadence Design Systems, Chelmsford, MA (1996 - 2003)

During this period I served as a system architect, software engineer, project lead, and manager. Products worked on include Verilog, VLHD, SystemVerilog, and SystemC.

Research Fellow, Chalmers University of Technology, Gothenburg, Sweden (1994 - 1995)

Department of Computer Science. Conducted research in formal specification and verification of concurrent real-time systems.

Instructor, North Carolina State University, Raleigh, NC (1986 - 1994)

Taught various undergraduate courses in the Department of Computer Science including; Introduction to Programming in Pascal, Introduction to Programming in FORTRAN, Computer Architecture and Assembly Language, Discrete Mathematics, Programming in C and C++, Data Structures, Programming in Scheme, Digital Electronics lab.

Private Consultant

Publications (peer reviewed)

[1] Ed Harcourt and Jamie Perconti. A SystemC library for specifying pipeline abstractions. Microprocessors and Microsystems, 38(1):76-81, February 2014. [ link ]
[2] Richard Sharp and Ed Harcourt. Design and construction of general purpose computing resources for Linux based computer science education. Journal of Computing Science in Colleges, 26(1):150-156, October 2010. [ pdf ]
[3] Ed Harcourt. Policies of system level pipeline modeling. Electronic Notes in Theoretical Computer Science, 238(2):13-23. Elsevier, 2009. [ pdf ]
[4] Ed Harcourt. Simulation, design abstraction, and SystemC. Computer Science Education, 17(2):87-96, June 2007. [ pdf  ]
[5] Ed Harcourt. Teaching computer organization and architecture using SystemC. The Journal of Computing Science in Colleges, 21(2):27-39, December 2005. [ pdf ]
[6] Brian Ladd and Ed Harcourt. Student competitions and bots in an introductory computer programming course. The Journal of Computing Science in Colleges, 20(5):274-284, May 2005. [ pdf ]
[7] Paolo Giusto, Grant Martin, and Ed Harcourt. Reliable estimation of the execution time of embedded software. In Proceedings of the Design Automation and Test Europe (DATE), pages 580-588. IEEE Press, March 2001. [ pdf ]
[8] Jwahar Bammi, Ed Harcourt, Wido Kruitzer, Luciano Lavagno, and Mihai Lazarescu. Software performance estimation strategies in a system level design tool. In Proceedings of the Eighth International Workshop on Hardware/Software Codesign (CODES). IEEE Press, March 2000. [ pdf ]
[9] Gérard Berry, Ed Harcourt, Luciano Lavagno, and Ellen Sentovich. ECL: A Specification Environment for System-Level Design, pages 205-212. CHDL. Kluwer Academic Publishers, 2001. [  http ] [  pdf ]
[10] M. T. Lazarescu, J. R. Bammi, E. Harcourt, L. Lavagno, and M. Lajolo. Compilation-based software performance estimation for system level design. In HLDVT '00: Proceedings of the IEEE International High-Level Validation and Test Workshop (HLDVT'00). IEEE Computer Society, 2000.
[11] Mark R. Hartoog, James A. Rowson, Prakash D. Reddy, Soumya Desai, Douglas D. Dunlop, Edwin A. Harcourt, and Neeti Khullar. Generation of software tools from processor descriptions for hardware/software codesign. In DAC '97: Proceedings of the 34th annual conference on Design automation, pages 303-306, New York, NY, USA, 1997. ACM. [ pdf ]
[12] Ed Harcourt, Jon Mauney, and Todd Cook. From processor timing specifications to static instruction scheduling. In Proceedings of the International Symposium on Static Analysis, number 864 in Lecture Notes in Computer Science. Springer, 1994. [ pdf ]
[13] Edwin A. Harcourt, Jon Mauney, and Todd Cook. Formal specification and simulation of instruction-level parallelism. In EURO-DAC '94: Proceedings of the conference on European design automation, pages 296-301. IEEE Computer Society Press, 1994. [ pdf ]
[14] Todd Cook and Ed Harcourt. A functional specification language fior instruction set architectures. In Proceedings of the 1994 International Conference on Computer Languages, pages 11-19. IEEE Computer Society, May 1994.
[15] E. Harcourt, J. Mauney, and T. Cook. Functional specification and simulation of instruction set architectures. In Proceedings of the International Conference on Simulation and Hardware Description Languages. SCS Press, 1994. [ pdf ]
[16] Todd A. Cook, Paul D. Franzon, Edwin A. Harcourt, and Thomas K. Miller III. System-level specification of instruction sets. In International Conference on Computer Design, pages 552-557, 1993. [ pdf ]
[17] Todd A. Cook, Paul D. Franzon, Edwin A. Harcourt, and Thomas K. Miller III. Behavioral modeling of processors from instruction set specifications. In Proceedings of the 2nd International Verilog HDL Conference, 1993.
[18] Todd A. Cook, Paul D. Franzon, Edwin A. Harcourt, and Thomas K. Miller III. LISAS: a language for instruction set architecture specification. In Proceedings of the First International Conference on Hardware/Software Co-design, 1992.
[19] J. Mauney, D.P. Agrawal, Y.K. Choe, E.A. Harcourt, S. Kim, and W.J. Staats. Computational models and resource allocation for parallel computers. Proceedings of the IEEE, 77(12), 1989. [ pdf ]

Software Tools

StatKey (developed with Kevin Angstadt and Rich Sharp)

Awarded Grants

  1. National Science Foundation. MRI-R2: Acquisition of High Performance Computer and Microarray Scanner for Interdisciplinary Research in Computer Science and Biology at St. Lawrence University. Duration: July 1, 2010 - June 30, 2013. Richard Sharp, Ana Y. Estevez, Edwin Harcourt, Emily H. Dixon, Lorraine C. Olendzenski. Award amount $179,336.
  2. Project PI. New York State Education Department. Duration: May 1, 2008 - October 31, 2008. Project Title: Summer Institutes for Teachers in Mathematics and Science. Level 2 Lego/Vex Curriculum Development Workshop. Co-PI's Jim Carroll (Clarkson University), Donna Kennedy (SLU, SUNY Potsdam), Glenn Simonelli (SUNY Potsdam). Award amount: $98,319.

Patents

  1. Method and System for Simulation of Mixed-Language Circuit Designs , U.S. Patent 7,424,703. September 9, 2008. [pdf]
  2. Performance Level Modeling and Simulation of Electronic Systems Having Both Hardware and Software, U.S. Patent 7,069,204. June 27, 2006. Also published under the Patent Cooperation Treaty, International Publication Number WO 02/027565 A1. [pdf]

Published Reviews

  1. Ed Harcourt, Review of The Semantic Web: Real World Applications from Industry, by Cardoso J., Hepp M., Lytras M. (Springer) ACM Computing Reviews (reviews.com) December 2007.
  2. Ed Harcourt, Review of Agile principles, patterns, and practices in C#, by Martin R., Martin M. (Prentice Hall) ACM Computing Reviews (reviews.com) March 2007.
  3. Ed Harcourt, Review of The Wisdom of Crowds, by Surowiecki J. (Anchor) ACM Computing Reviews (reviews.com) June 2006.
  4. Ed Harcourt, Review of Toward alternative metrics of journal impact: a comparison of download and citation data, by Bollen J., Van de Sompel H., Smith J., Luce R. (Information Processing and Management: an International Journal 41:6) ACM Computing Reviews (reviews.com) April 2006.
  5. Ed Harcourt, Review of DHTML and CSS Advanced, by Teague J. (Peachpit Press) ACM Computing Reviews (reviews.com) September 2005.
  6. Ed Harcourt, Review of Comparison and evaluation of multiple objective genetic algorithms for the antenna placement problem , by Raisanen L., Whitaker R. (Mobile Networks and Applications Vol. 10) ACM Computing Reviews (reviews.com) September 2005.
  7. Ed Harcourt, Review of Pro .NET 1.1 network programming , by Krowczyk A., Kumar V., Laghari N., Mungale A., Nagel C., Parker T., Sivakumar S. (APress) ACM Computing Reviews (reviews.com) May 2005.
  8. Ed Harcourt, Review of Support software evolution with abstration rules and programming knowledge patterns , by Teng G., Liu X. (in Focus On Computational Neurobiology) ACM Computing Reviews (reviews.com) April 2005.
  9. Ed Harcourt, Review of A common multi-platform hardware object model, by Armstrong J., Kreissig A. (in OOPSLA 2002) ACM Computing Reviews (reviews.com) January 2004.
  10. Ed Harcourt, Review of C++ Templates, by Vandevoorde D., Josuttis N. (Addison Wesley) IEEE Software May 2004.
  11. Ed Harcourt, Review of Distributed algorithms for finding the unique minimum distance dominating set in directed split-stars, by Armstrong J., Kreissig A. (in OOPSLA 2002) ACM Computing Reviews (reviews.com) September 2003.

Talks

  1. Understanding Microbial Diversity in an Unusual Lake (with Lorraine Olendzenski, Department of Biology, St. Lawrence University) November 18,2011.
  2. SystemC, Design Abstraction, and System Level Pipelines. Guest Lecture, Department of Electrical and Computer Engineering, Clarkson University, November 20, 2008.
  3. Policies of System Level Pipeline Modeling Presented at the Workshop on Generative Technologies April 6, 2008. Budapest, Hungary. [.ppt]
  4. A Linux Compute Cluster on a Shoestring (with Lorraine Olendzenski), Bioinformatics Practicum II, July 2007 Bates College. NITLE, the National Institute for Technology and Liberal Education.
  5. What are all these spots? : A Relational Database for C. elegans microarrays (with Lorraine Olendzenski), Bioinformatics Practicum II, July 2007 Bates College. NITLE, the National Institute for Technology and Liberal Education.
  6. Language Based Hardware Design and SystemC. Invited lecture, SUNY Plattsburgh Department of Computer Science. October 27, 2006.
  7. Teaching computer organization and architecture using SystemC. The Twenty-first Annual CCSC Eastern Conference. Iona College, New Rochelle, N.Y. October 14-15, 2005.
  8. Infinite Graphs and Infinite Automata, Graph Theory Day 50, St. Lawrence University, Canton, N.Y. The Mathematical Section of the New York Academy of Sciences, November 2005.
  9. System Level Design with VCC (Virtual Component Co-design), Chalmers University of Technology. Gothenburg, Sweden. April 2000.
  10. Specification of Instruction-Level Parallelism, The North American Process Algebra Workshop, Cornell University, 1993.

Other Conference and Workshop Participation

  1. Robotics for School Teachers
    • July 14-18, 2008 FIRST Robotics for Elementary and High School Teachers
    • July 21-25, 2008 Level2 Robotics for High School teachers
    • July 21-25, 2009 FIRST Robotics for Elementary and High School Teachers
  2. CCSC Northeast, April 16-17, Hartford, CT
  3. CCSC Northeast, April 24-25, Plattsburgh, NY
  4. HRUMC XV, Hudson River Undergraduate Math Conference, April 19, 2008. St. Lawrence University, Canton, NY.
  5. ETAPS 2008 (European Conference on the Theory and Practice of Software). April 1 - April 6, 2008. Budapest, Hungary.
  6. Embedded Systems Week. September 30 - October 5, 2007. Salzburg, Austria.
  7. HRUMC XIV, the Hudson River Undergraduate Math Conference. April 17, 2007. Siena College, Loudonville, NY.
  8. PKAL, Project Kaleidoscope Summer Institute. June 13-16, 2007. Washington, D.C.
  9. NSF Workshop on Multimedia Computation. June 11-13, 2007. Georgia Tech, Atlanta Georgia.
  10. PKAL, Project Kaleidoscope Leadership Initiative. November 17-19 2006. Kansas City, Missouri.
  11. Bioinformatics Practicum, Bates College. NITLE, the National Institute for Technology and Liberal Education. June 19-20, 2006, Lewiston, Maine.
  12. CCSC 2005 Eastern Conference, April 22-23, 2005. Providence, Rhode Island.
  13. PKAL, Project Kaleidoscope Leadership Initiative. April 2005. Hope College, Holland, Michigan.
  14. HRUMC XI, Hudson River Undergraduate Math Conference, April 3, 2004. Mount Holyoke College.
  15. PKAL, Project Kaleidoscope Leadership Initiative. October 8-10, 2004. RPI, Troy, New York.
  16. CCSC 2003 Eastern Conference, October 17-18, 2003. Upper Montclair, New Jersery.
  17. TACAS, Workshop on Tools and Algorithms for the Construction and Analysis of Systems, May 19-20, 1995. Åarhus, Denmark.

Technical Reports

  1. Joergen Andersen, K.V.S. Prasad, Ed Harcourt. A Machine Verified Distributed Sorting Algorithm. BRICS Report RS-96-4, Dept. of Computer Science, Univ. of Åarhus, 1996. [.pdf]
  2. Ed Harcourt, An Extensible Interpreter for Value Passing CCS. Chalmers University of Technology, 1995. [.pdf]
  3. Ed Harcourt, Pawel Paczkowski, and K.V.S. Prasad, A Framework for Representing Parameterised Processes, Chalmers University of Technology, 1995. [.pdf]
  4. Ed Harcourt, Jon Mauney, and Todd Cook, Specification of Instruction Level Parallelism. In Proceedings of the North American Process Algebra Workshop 1993. Cornell University, Ithaca, N.Y. Technical Report TR93-1369. August 1993. [.pdf]

Professional Service

St. Lawrence University Service