[email protected] …sedwards/cv.pdf · [33]stephen a. edwards and hiren patel. memocode...

30
Stephen A. Edwards Department of Computer Science, Columbia University 1214 Amsterdam Avenue, MC 0401 New York, NY 10027–7003 (212) 939–7019 [email protected] http://www.cs.columbia.edu/~sedwards/ Research Interests Languages and compilers for Embedded Systems. Computer-Aided Digital Design. Experience Columbia University, New York 2006–present Associate professor, Department of Computer Science; Tenure awarded June, 2008 Columbia University, New York 2001–2006 Assistant professor, Department of Computer Science Google X, Mountain View, California June, July 2018 Visiting Professor. Host: Satnam Singh. École Normale Supérieure, Paris, France June, July 2012 Invited Professor, Computer Science Deparment. Host: Marc Pouzet Microsoft Research, Cambridge, UK July, August 2010 Visiting Researcher. Host: Satnam Singh. Synopsys, Mountain View, California 1998–2001 Senior R&D Engineer Simplex Solutions, Sunnyvale, California 1997–1998 Senior Member of Technical Staff. Interval Research Corporation, Palo Alto, California Summer 1993 Researcher. Vitesse Semiconductor, Camarillo, California Summer 1991 VLSI Design Engineer. Microsoft, Redmond, Washington Summer 1990 Hardware Design Engineer. Education University of California, Berkeley Ph.D in Electrical Engineering 1994–1997 Edward A. Lee, advisor Thesis: The Specification and Execution of Heterogeneous Synchronous Reactive Systems. University of California, Berkeley M.S. in Electrical Engineering. 1992–1994 A. Richard Newton, advisor Thesis: An Esterel Compiler for a Synchronous/Reactive Development System. California Institute of Technology B.S. with Honors, Electrical Engineering 1988–1992 1

Upload: others

Post on 14-Jun-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: sedwards@cs.columbia.edu …sedwards/cv.pdf · [33]Stephen A. Edwards and Hiren Patel. MEMOCODE 2014 software design contest: Space invaders emulator. In Proceedings of the International

Stephen A. EdwardsDepartment of Computer Science, Columbia University

1214 Amsterdam Avenue, MC 0401New York, NY 10027–7003

(212) 939–[email protected]

http://www.cs.columbia.edu/~sedwards/

Research Interests

Languages and compilers for Embedded Systems. Computer-Aided Digital Design.

Experience

Columbia University, New York 2006–presentAssociate professor, Department of Computer Science; Tenure awarded June, 2008

Columbia University, New York 2001–2006Assistant professor, Department of Computer Science

Google X, Mountain View, California June, July 2018Visiting Professor. Host: Satnam Singh.

École Normale Supérieure, Paris, France June, July 2012Invited Professor, Computer Science Deparment. Host: Marc Pouzet

Microsoft Research, Cambridge, UK July, August 2010Visiting Researcher. Host: Satnam Singh.

Synopsys, Mountain View, California 1998–2001Senior R&D Engineer

Simplex Solutions, Sunnyvale, California 1997–1998Senior Member of Technical Staff.

Interval Research Corporation, Palo Alto, California Summer 1993Researcher.

Vitesse Semiconductor, Camarillo, California Summer 1991VLSI Design Engineer.

Microsoft, Redmond, Washington Summer 1990Hardware Design Engineer.

Education

University of California, Berkeley Ph.D in Electrical Engineering 1994–1997Edward A. Lee, advisorThesis: The Specification and Execution of Heterogeneous Synchronous Reactive Systems.

University of California, Berkeley M.S. in Electrical Engineering. 1992–1994A. Richard Newton, advisorThesis: An Esterel Compiler for a Synchronous/Reactive Development System.

California Institute of Technology B.S. with Honors, Electrical Engineering 1988–1992

1

Page 2: sedwards@cs.columbia.edu …sedwards/cv.pdf · [33]Stephen A. Edwards and Hiren Patel. MEMOCODE 2014 software design contest: Space invaders emulator. In Proceedings of the International

Stephen A. Edwards April 22, 2020 2

Honors and Awards

Best paper award March 2006Design Automation and Test in EuropeMunich, Germany (given to 2 of 800+ submissions)

Senior Member 2006IEEE (Institute of Electrical and Electronics Engineers)This is the main professional organization for Electrical Engineers

National Science Foundation Faculty Early Career Development (“CAREER”) Award 2002“Designing Embedded Systems with Domain-Specific Languages”I won this award the first time I applied.

NSF Graduate Research Fellowship 1994–1996Three years tuition & stipend, awarded annually to about 800 of 5000 applicants.

California Fellowship in Microelectronics 1992–1993One year tuition plus stipend.

Caltech Merit Award 1990–1991, 1991–1992One year full tuition, awarded annually to about 45 of 800 undergraduates.

Research Support

DARPA HR0011-19-C-0106: $6.4M (my share $517k) 2019–2024Secure Handling of Isolated Executables without Leaking Data (SHIELD)with Perspecta Labs.

NIH 1RF1MH120034-01: $500k total (my share $260k) 2020–2022Generating a Formal Set of Collaborative Standards for Sharing Behavioral Data and Task Designs toEnable Reproducibility in Neurosciencewith Adam Kepecs of Washington University.

NSF CCF-SHF 1162124: $1.2M total (my share $600k) 2012–2016SHF:Medium:Compiling Parallel Algorithms to Memory Systemswith Martha A. Kim.

NSF CCF-SHF 1065338: $625k total (my share $208k) 2011–2014SHF:Medium:Type-Specific Instruction Processingwith Martha A. Kim and Ken Ross.

NSF CSR-EHS 0720292: $1.2M total (my share $200k) 2007–2010CSR–EHS:PRET: Precision Timed Architectureswith Edward A. Lee et al.

NSF CSR-EHS 0614799: $240k 2006–2008CSR-EHS:SHIM: Developing Embedded Systems with Deterministic Concurrency

Gift from Altera, $20k 2006Hardware Software Co-Synthesis from SHIM,

Joint Semiconductor Research Corporation/Microelectronic Design Center, $300k 2003–2006High-Level Synthesis from the Synchronous Language Esterel

New York State, NYSTAR program, matching funds, $11k 2002

Page 3: sedwards@cs.columbia.edu …sedwards/cv.pdf · [33]Stephen A. Edwards and Hiren Patel. MEMOCODE 2014 software design contest: Space invaders emulator. In Proceedings of the International

Stephen A. Edwards April 22, 2020 3

Hardware grant from Intel, $13k 2002

Gift from Intel: $25k 2002High-level Synthesis from the Synchronous Language Esterel

NSF Faculty Early Career Development (CAREER) Award 0133348: $300k 2002–2007CAREER:Designing Embedded Systems with Domain-Specific Languages

Released Software

The Columbia Esterel Compiler (2003–)

• Only open-source compiler for the Esterel language.

• Generates the most efficient C code for Esterel of any known compiler, including the commercialimplementation.

• Used at Freescale semiconductor, NASA, University of Kiel, and University of Auckland. Cited inabout 15 papers.

• The CEC-Users mailing list has 32 subscribers from companies including Motorola, TI, EsterelTechnologies, Philips, Intel, IBM, and Xilinx

• http://www1.cs.columbia.edu/~sedwards/cec/

The EstBench Esterel benchmark suite (2004)

• Only public benchmark suite for the Esterel language

• Cited in about ten papers

• http://www1.cs.columbia.edu/~sedwards/software.html

The Ext C-code documentation extraction system (1997)

• Used in the widely-distributed VIS and CUDD software packages (at University of Colorado, Boul-der). Cited in a few papers.

• http://www1.cs.columbia.edu/~sedwards/ext/

Page 4: sedwards@cs.columbia.edu …sedwards/cv.pdf · [33]Stephen A. Edwards and Hiren Patel. MEMOCODE 2014 software design contest: Space invaders emulator. In Proceedings of the International

Stephen A. Edwards April 22, 2020 4

PublicationsPatent

US Patent 7,100,164. “Method & Apparatus for Converting a Concurrent Control Flow Graph into aSequential Control Flow Graph.” Filed January 6th, 2000, issued August 29th, 2006.

Books

[1] Dumitru Potop-Butucaru, Stephen A. Edwards, and Gérard Berry. Compiling Esterel. Springer,January 2007.

[2] Stephen A. Edwards. Languages for Digital Embedded Systems. Kluwer, Boston, Massachusetts,September 2000.

Chapters in Books

[3] Stephen A. Edwards. Further experiences teaching an FPGA-based embedded systems class. InRoger Chamberlain, Walid Taha, and Martin Törngren, editors, Cyber Physical Systems. Model-Based Design, number 11615 in Lecture Notes in Computer Science, pages 222–230. Springer, 2019.

[4] Stephen A. Edwards. On determinism. In Patricia Derler, Marten Lohstroh, and Marjan Sirjani,editors, Principles of Modeling: Essays dedicated to Edward A. Lee on the Occasion of his 60thBirthday, volume 10760 of Lecture Notes in Computer Science, pages 240–253. Springer, Berkeley,California, October 2017.

[5] Stephen A. Edwards and Joseph T. Buck. System-level specification and modeling languages. InLuciano Lavagno, Igor L. Markov, Grant Martin, and Louis K. Scheffer, editors, Electronic DesignAutomation for IC System Design, Verification, and Testing, chapter 4, pages 59–74. CRC Press,December 2016.

[6] Stephen A. Edwards and Joseph T. Buck. Design and verification languages. In Luciano Lavagno,Igor L. Markov, Grant Martin, and Louis K. Scheffer, editors, Electronic Design Automation for ICSystem Design, Verification, and Testing, chapter 15, pages 373–400. CRC Press, December 2016.

[7] Stephen A. Edwards and Nalini Vasudevan. Compiling SHIM. In Sandeep K. Shukla and Jean-PierreTalpin, editors, Synthesis of Embedded Software: Frameworks and Methodologies for Correctnessby Construction, chapter 4, pages 121–146. Springer, January 2010.

[8] Stephen A. Edwards. Design and verification languages. In Luciano Lavagno, Grant Martin, andLou Scheffer, editors, Electronic Design Automation for Integrated Circuits Handbook. CRC Press,Boca Raton, Florida, January 2006.

[9] Stephen A. Edwards. Languages for embedded systems. In Richard Zurawski, editor, The EmbeddedSystems Handbook, pages 7–1–7–19. CRC Press, Boca Raton, Florida, January 2005.

[10] Stephen A. Edwards. Languages for embedded systems. In Richard Zurawski, editor, The IndustrialInformation Technology Handbook, pages 85–1–85–18. CRC Press, Boca Raton, Florida, December2004.

Page 5: sedwards@cs.columbia.edu …sedwards/cv.pdf · [33]Stephen A. Edwards and Hiren Patel. MEMOCODE 2014 software design contest: Space invaders emulator. In Proceedings of the International

Stephen A. Edwards April 22, 2020 5

Journal Papers

All journal papers were peer-reviewed. The Proceedings of the IEEE papers were invited, as allpapers in that journal are.

[11] Stephen A. Edwards, Richard Townsend, Martha Barker, and Martha A. Kim. Compositionaldataflow circuits. ACM Transactions on Embedded Computing Systems, 18(1):5, February 2019.

[12] Lisa Wu, Martha A. Kim, and Stephen A. Edwards. Cache impacts of datatype acceleration. Com-puter Architecture Letters, 11(1):21–24, January 2012. Selected as one of the “Best Papers fromComputer Architecture Letters” in 2011.

[13] Nalini Vasudevan and Stephen A. Edwards. Buffer sharing in rendezvous programs. IEEE Trans-actions on Computer-Aided Design of Integrated Circuits and Systems, 29(10):1471–1480, October2010.

[14] Marcio Buss, Daniel Brand, Vugranam Sreedhar, and Stephen A. Edwards. A novel analysisspace for pointer analysis and its application for bug finding. Science of Computer Programming,75(11):921–942, November 2010.

[15] Cristian Soviani, Ilija Hadžic, and Stephen A. Edwards. Synthesis and optimization of pipelinedpacket processors. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Sys-tems, 28(2):231–244, February 2009.

[16] Osama Neiroukh, Stephen A. Edwards, and Xiaoyu Song. Transforming cyclic circuits into acyclicequivalents. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems,27(10):1775–1787, October 2008.

[17] Stephen A. Edwards and Jia Zeng. Code generation in the Columbia Esterel Compiler. EURASIPJournal on Embedded Systems, 2007:Article ID 52651, 31 pages, February 2007.

[18] Cristian Soviani, Olivier Tardieu, and Stephen A. Edwards. Optimizing sequential cycles throughShannon decomposition and retiming. IEEE Transactions on Computer-Aided Design of IntegratedCircuits and Systems, 26(3):456–467, March 2007.

[19] Stephen A. Edwards. The challenges of synthesizing hardware from C-like languages. IEEE Design& Test of Computers, 23(5):375–386, September 2006.

[20] Stephen A. Edwards and Olivier Tardieu. SHIM: A deterministic model for heterogeneous embed-ded systems. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 14(8):854–867,August 2006.

[21] Stephen A. Edwards. Experiences teaching an FPGA-based embedded systems class. ACM SIGBEDReview, 2(4):56–62, October 2005. Originally presented at the Workshop on Embedded SystemsEducation.

[22] Stephen A. Edwards and Edward A. Lee. The semantics and execution of a synchronous block-diagram language. Science of Computer Programming, 48(1):21–42, July 2003. 16 citations onGoogle Scholar.

[23] Stephen A. Edwards. Tutorial: Compiling concurrent languages for sequential processors. ACMTransactions on Design Automation of Electronic Systems, 8(2):141–187, April 2003. 19 citationson Google Scholar.

Page 6: sedwards@cs.columbia.edu …sedwards/cv.pdf · [33]Stephen A. Edwards and Hiren Patel. MEMOCODE 2014 software design contest: Space invaders emulator. In Proceedings of the International

Stephen A. Edwards April 22, 2020 6

[24] Albert Benveniste, Paul Caspi, Stephen A. Edwards, Nicolas Halbwachs, Paul Le Guernic, andRobert de Simone. The synchronous languages 12 years later. Proceedings of the IEEE, 91(1):64–83, January 2003. Invited. 174 citations on Google Scholar.

[25] Stephen A. Edwards. An Esterel compiler for large control-dominated systems. IEEE Transactionson Computer-Aided Design of Integrated Circuits and Systems, 21(2):169–183, February 2002. 37citations on Google Scholar.

[26] Stephen Edwards, Luciano Lavagno, Edward A. Lee, and Alberto Sangiovanni-Vincentelli. De-sign of embedded systems: Formal models, validation, and synthesis. Proceedings of the IEEE,85(3):366–390, March 1997. Invited. 272 citations on Google Scholar.

Conference Papers

All conference papers were peer-reviewed. In my area, conference papers are preferred over jour-nals because conferences are more selective and more widely read.

[27] Andrea Lottarini, João P. Cerqueira, Thomas J. Repetti, Stephen A. Edwards, Kenneth A. Ross,Mingoo Seok, and Martha A. Kim. Master of none acceleration: A comparison of accelerator ar-chitectures for analytical query processing. In Proceedings of the International Symposium on Com-puter Architecture (ISCA), pages 762–773. Association for Computing Machinery, 2019. 62/365 =17%.

[28] Stephen A. Edwards, Richard Townsend, and Martha A. Kim. Compositional dataflow circuits. InProceedings of the International Conference on Formal Methods and Models for Codesign (MEM-OCODE), pages 175–184, Vienna, Austria, September 2017. Association for Computing Machin-ery. 15/48 = 31%.

[29] Andrea Lottarini, Stephen A. Edwards, Kenneth A. Ross, and Martha A. Kim. Network synthesisfor database processing units. In Proceedings of the Design Automation Conference (DAC), Austin,Texas, June 2017. ACM.

[30] Richard Townsend, Martha A. Kim, and Stephen A. Edwards. From functional programs topipelined dataflow circuits. In Proceedings of Compiler Construction (CC), pages 76–86, Austin,Texas, February 2017. ACM. 13/53 = 25%.

[31] Bingyi Cao, Kenneth A. Ross, Martha A. Kim, and Stephen A. Edwards. Implementing latency-insensitive dataflow blocks. In Proceedings of the International Conference on Formal Methodsand Models for Codesign (MEMOCODE), pages 179–187, Austin, Texas, September 2015. TheInstitute of Electrical and Electronics Engineers (IEEE).

[32] Kuangya Zhai, Richard Townsend, Lianne Lairmore, Martha A. Kim, and Stephen A. Edwards.Hardware synthesis from a recursive functional language. In Proceedings of the International Con-ference on Hardware/Software Codesign and System Synthesis (CODES+ISSS), pages 83–93, Am-sterdam, The Netherlands, October 2015. IEEE. 540/1741 = 31%.

[33] Stephen A. Edwards and Hiren Patel. MEMOCODE 2014 software design contest: Space invadersemulator. In Proceedings of the International Conference on Formal Methods and Models for Code-sign (MEMOCODE), page 185, Lausanne, Switzerland, October 2014. The Institute of Electricaland Electronics Engineers (IEEE). Invited.

[34] Stephen A. Edwards. MEMOCODE 2012 hardware/software codesign contest: DNA sequencealigner. In Proceedings of the International Conference on Formal Methods and Models for Code-sign (MEMOCODE), pages 85–90, Arlington, Virginia, July 2012.

Page 7: sedwards@cs.columbia.edu …sedwards/cv.pdf · [33]Stephen A. Edwards and Hiren Patel. MEMOCODE 2014 software design contest: Space invaders emulator. In Proceedings of the International

Stephen A. Edwards April 22, 2020 7

[35] Nalini Vasudevan, Kedar Namjoshi, and Stephen A. Edwards. Simple and fast biased locks. InProceedings of the International Conference on Parallel Architectures and Compilation Techniques(PACT), pages 65–74, Vienna, Austria, September 2010.

[36] Stephen A. Edwards, Sungjun Kim, Edward A. Lee, Isaac Liu, Hiren D. Patel, and Martin Schoe-berl. A disruptive computer design idea: Architectures with repeatable timing. In Proceedings ofthe IEEE International Conference on Computer Design (ICCD), Lake Tahoe, CA, October 2009.

[37] Baolin Shao, Nalini Vasudevan, and Stephen A. Edwards. Compositional deadlock detection forrendezvous communication. In Proceedings of the International Conference on Embedded Software(Emsoft), pages 59–66, Grenoble, France, October 2009. 33/106 = 31%.

[38] Nalini Vasudevan and Stephen A. Edwards. Buffer sharing in CSP-like programs. In Proceedingsof the International Conference on Formal Methods and Models for Codesign (MEMOCODE),Cambridge, Massachusetts, July 2009. 15/42 = 36%.

[39] Nalini Vasudevan and Stephen A. Edwards. A determinizing compiler. In Programming LanguagesDesign and Implementation (PLDI) - Fun Ideas and Thoughts Session, Dublin, Ireland, June 2009.

[40] Nalini Vasudevan, Olivier Tardieu, Julian Dolby, and Stephen A. Edwards. Compile-time analysisand specialization of clocks in concurrent programs. In Proceedings of Compiler Construction(CC), volume 5501 of Lecture Notes in Computer Science, pages 48–62, York, United Kingdom,March 2009.

[41] Nalini Vasudevan and Stephen A. Edwards. Celling SHIM: Compiling deterministic concurrency toa heterogeneous multicore. In Proceedings of the Symposium on Applied Computing (SAC), volumeIII, pages 1626–1631, Honolulu, Hawaii, March 2009. 1084/316 = 29%.

[42] Ben Lickly, Isaac Liu, Sungjun Kim, Hiren D. Patel, Stephen A. Edwards, and Edward A. Lee.Predictable programming on a precision timed architecture. In Proceedings of the InternationalConference on Compilers, Architecture, and Synthesis for Embedded Systems (CASES), pages 137–146, Atlanta, Georgia, October 2008.

[43] Nalini Vasudevan and Stephen A. Edwards. Static deadlock detection for the SHIM concurrentlanguage. In Proceedings of the International Conference on Formal Methods and Models forCodesign (MEMOCODE), pages 49–58, Anaheim, California, June 2008.

[44] Nalini Vasudevan, Satnam Singh, and Stephen A. Edwards. A deterministic multi-way rendezvouslibrary for Haskell. In Proceedings of the International Parallel and Distributed Processing Sym-posium (IPDPS), pages 1–12, Miami, Florida, April 2008. 105/410 = 25%.

[45] Stephen A. Edwards, Nalini Vasudevan, and Olivier Tardieu. Programming shared memory mul-tiprocessors with deterministic message-passing concurrency: Compiling SHIM to Pthreads. InProceedings of Design, Automation, and Test in Europe (DATE), pages 1498–1503, Munich, Ger-many, March 2008.

[46] Marcio Buss, Daniel Brand, Vugranam Sreedhar, and Stephen A. Edwards. Flexible pointer analysisusing assign-fetch graphs. In Proceedings of the Symposium on Applied Computing (SAC), pages234–239, Fortaleza, Ceará, Brazil, March 2008. 384/1307 = 29.3%.

[47] Stephen A. Edwards and Edward A. Lee. The case for the precision timed (PRET) machine. InProceedings of the 44th Design Automation Conference, pages 264–265, San Diego, California,June 2007. 8/54 = 15% (“WACI” track).

Page 8: sedwards@cs.columbia.edu …sedwards/cv.pdf · [33]Stephen A. Edwards and Hiren Patel. MEMOCODE 2014 software design contest: Space invaders emulator. In Proceedings of the International

Stephen A. Edwards April 22, 2020 8

[48] Haim Cohen and Stephen A. Edwards. {sets}—a lightweight constraint programming languagebased on ROBDDs. In Proceedings of the IADIS International Conference on Applied Computing,Salamanca, Spain, February 2007.

[49] Olivier Tardieu and Stephen A. Edwards. Scheduling-independent threads and exceptions in SHIM.In Proceedings of the International Conference on Embedded Software (Emsoft), pages 142–151,Seoul, Korea, October 2006. 31/94 = 33%.

[50] Olivier Tardieu and Stephen A. Edwards. R-SHIM: Deterministic concurrency with recursion andshared variables. In Proceedings of the International Conference on Formal Methods and Modelsfor Codesign (MEMOCODE), page 202, Napa, California, July 2006. 17 papers + 6 posters / 43 =53%.

[51] Nicholas Jun Hao Ip and Stephen A. Edwards. A processor extension for cycle-accurate real-time software. In Proceedings of the IFIP International Conference on Embedded and UbiquitousComputing (EUC), volume 4096 of Lecture Notes in Computer Science, pages 449–458, Seoul,Korea, August 2006. approx. 125/500 = 25%.

[52] Stephen A. Edwards and Olivier Tardieu. Efficient code generation from SHIM models. In Proceed-ings of Languages, Compilers, and Tools for Embedded Systems (LCTES), pages 125–134, Ottawa,Canada, June 2006. 21/83 = 25%.

[53] Cristian Soviani, Ilija Hadžic, and Stephen A. Edwards. Synthesis of high-performance packetprocessing pipelines. In Proceedings of the 43rd Design Automation Conference, pages 679–682,San Francisco, California, July 2006. 180/865 = 20%.

[54] Cristian Soviani, Olivier Tardieu, and Stephen A. Edwards. Optimizing sequential cycles throughShannon decomposition and retiming. In Proceedings of Design, Automation, and Test in Europe(DATE), pages 1085–1090, Munich, Germany, March 2006. 233/834 = 28%, Best paper award.

[55] Osama Neiroukh, Stephen A. Edwards, and Xiaoyu Song. An efficient algorithm for the analysisof cyclic circuits. In Proceedings of the Symposium on VLSI (ISVLSI), pages 303–308, Karlsruhe,Germany, March 2006. 64/151 = 42%.

[56] Jia Zeng and Stephen A. Edwards. Separate compilation for synchronous modules. In Proceedingsof the 2nd International Conference on Embedded Software and Systems (ICESS), volume 3820 ofLecture Notes in Computer Science, pages 129–140, Xi’an, China, December 2005. 140/360 = 39%overall, 63/360 = 17% for proceedings.

[57] Olivier Tardieu and Stephen A. Edwards. Approximate reachability for dead code elimination inEsterel∗. In Proceedings of the Third International Symposium on Automated Technology for Veri-fication and Analysis (ATVA), volume 3707 of Lecture Notes in Computer Science, pages 323–337,Taipei, Taiwan, October 2005. 33/95 = 35%.

[58] Stephen A. Edwards and Olivier Tardieu. SHIM: A deterministic model for heterogeneous em-bedded systems. In Proceedings of the International Conference on Embedded Software (Emsoft),pages 37–44, Jersey City, New Jersey, September 2005. 25/88 = 28%, 10 citations on GoogleScholar.

[59] Stephen A. Edwards and Olivier Tardieu. Deterministic receptive processes are Kahn processes. InProceedings of the International Conference on Formal Methods and Models for Codesign (MEM-OCODE), pages 37–44, Verona, Italy, July 2005. 17/47 = 36%.

Page 9: sedwards@cs.columbia.edu …sedwards/cv.pdf · [33]Stephen A. Edwards and Hiren Patel. MEMOCODE 2014 software design contest: Space invaders emulator. In Proceedings of the International

Stephen A. Edwards April 22, 2020 9

[60] Christopher L. Conway, Kedar S. Namjoshi, Dennis Dams, and Stephen A. Edwards. Incrementalalgorithms for inter-procedural analysis of safety properties. In Proceedings of the 17th Interna-tional Conference on Computer-Aided Verification (CAV), volume 3576 of Lecture Notes in Com-puter Science, pages 449–461, Edinburgh, Scotland, June 2005. 32/123 = 26%.

[61] Stephen A. Edwards. The challenges of hardware synthesis from C-like languages. In Proceedingsof Design, Automation, and Test in Europe (DATE), pages 66–67, Munich, Germany, March 2005.176/825 = 21%. 17 citations on Google Scholar., Invited.

[62] Jia Zeng, Cristian Soviani, and Stephen A. Edwards. Generating fast code from concurrent programdependence graphs. In Proceedings of Languages, Compilers, and Tools for Embedded Systems(LCTES), pages 175–181, Washington, DC, June 2004. 28/120 = 23%.

[63] Christopher L. Conway and Stephen A. Edwards. NDL: A domain-specific language for devicedrivers. In Proceedings of Languages, Compilers, and Tools for Embedded Systems (LCTES), pages30–36, Washington, DC, June 2004. 28/120 = 23%.

[64] Stephen A. Edwards. Making cyclic circuits acyclic. In Proceedings of the 40th Design AutomationConference, pages 159–162, Anaheim, California, June 2003. 152/628 = 24%. 13 citations onGoogle Scholar.

[65] Stephen Jan, Paolo de Dios, and Stephen A. Edwards. Porting a network cryptographic service tothe RMC2000: A case study in embedded software development. In Designers’ Forum: DesignAutomation and Test in Europe Conference and Exhibition, pages 150–155, Munich, Germany,March 2003. 98 long + 54 short + 36 designer’s forum/590 = 32%, Also appears as Chapter 13 ofEmbedded Software for SoC, Jerraya, Yoo, Verkest and Wehn eds., Kluwer, 2003.

[66] Sandeep Shukla, Stephen A. Edwards, Jean-Pierre Talpin, and Rajesh K. Gupta. Tutorial: Highlevel modeling and validation methodologies for embedded systems: bridging the productivity gap.In Proceedings of the 16th International Conference on VLSI Design, pages 9–14, New Delhi, India,January 2003.

[67] Stephen A. Edwards, Tony Ma, and Robert Damiano. Using a hardware model checker to verifysoftware. In Proceedings of the 4th International Conference on ASIC (ASICON), pages 85–90,Shanghai, China, October 2001.

[68] Stephen A. Edwards. Compiling Esterel into sequential code. In Proceedings of the 37th DesignAutomation Conference, pages 322–327, Los Angeles, California, June 2000. Association for Com-puting Machinery. 154/445 = 35%, Cited by 47 in Google Scholar.

[69] Gitanjali Swamy, Stephen Edwards, and Robert Brayton. Efficient verification and synthesis usingdesign commonalities. In Proceedings of the Eleventh International Conference on VLSI Design(VLSI’98), pages 542–551, Chennai, India, January 1998.

[70] Robert K. Brayton, Gary D. Hachtel, Alberto L. Sangiovanni-Vincentelli, Fabio Somenzi, AdnanAziz, Szu-Tsung Cheng, Stephen A. Edwards, Sunil P. Khatri, Yuji Kukimoto, Abelardo Pardo,Shaz Qadeer, Rajeev K. Ranjan, Shaker Sarwary, Thomas R. Shiple, Gitanjali Swamy, and TizianoVilla. VIS. In Formal Methods in Computer-Aided Design (FMCAD), volume 1166, pages 248–256,Palo Alto, California, November 1996.

[71] Robert K. Brayton, Gary D. Hachtel, Alberto Sangiovanni-Vincentelli, Fabio Somenzi, Adnan Aziz,Szu-Tsung Cheng, Stephen Edwards, Sunil Khatri, Yuji Kukimoto, Abelardo Pardo, Shaz Qadeer,Rajeev K. Ranjan, Shaker Sarwary, Thomas R. Shiple, Gitanjali Swamy, and Tiziano Villa. VIS:A system for verification and synthesis. In Proceedings of the 8th International Conference on

Page 10: sedwards@cs.columbia.edu …sedwards/cv.pdf · [33]Stephen A. Edwards and Hiren Patel. MEMOCODE 2014 software design contest: Space invaders emulator. In Proceedings of the International

Stephen A. Edwards April 22, 2020 10

Computer-Aided Verification (CAV), volume 1102 of Lecture Notes in Computer Science, pages428–432, New Brunswick, New Jersey, July 1996. Springer. 32/93 = 34%, 367 citations on GoogleScholar.

Workshop Papers

All workshop papers were peer-reviewed. Those at IWLS have limited distribution.

[72] Stephen A. Edwards. Further experiences teaching an FPGA-based embedded systems class. InProceedings of the Workshop on Embedded Systems Education (WESE), Turin, Italy, October 2018.

[73] Bingyi Cao, Kenneth A. Ross, Stephen A. Edwards, and Martha A. Kim. Deadlock-free joins inDB-Mesh, an asynchronous systolic array accelerator. In Proceedings of the Workshop on DataManagement on New Hardware (DaMoN), Chicago, Illinois, May 2017. Article No. 5.

[74] Richard Townsend, Martha A. Kim, and Stephen A. Edwards. Resource allocation for hardwareimplementations of map. In Proceedings of the Workshop on Architectures and Systems for BigData (ASBD), Minneapolis, Minnesota, June 2014.

[75] Stephen A. Edwards, Alain Girault, and Klaus Schneider. Synchronous Programming (DagstuhlSeminar 13471). Dagstuhl Reports, 3(11):117–143, March 2014.

[76] Martha A. Kim and Stephen A. Edwards. Computation vs. memory systems: Pinning down acceler-ator bottlenecks. In Proceedings of the Workshop on Architectural and Microarchitectural Supportfor Binary Translation (AMAS-BT), Saint-Malo, France, June 2010.

[77] Nalini Vasudevan and Stephen A. Edwards. Determinism should ensure deadlock-freedom. In Pro-ceedings of the 2nd USENIX Workshop on Hot Topics in Parallelism (HotPar), Berkeley, California,June 2010.

[78] Nalini Vasudevan and Stephen A. Edwards. Ensuring deterministic concurrency through compi-lation. In Proceedings of the IEEE International Parallel and Distributed Processing SymposiumWorkshops, Atlanta, USA, April 2010.

[79] Stephen A. Edwards. Concurrency and communication: Lessons from the SHIM project. In Pro-ceedings of the Workshop on Software Technologies for Future Embedded and Ubiquitious Systems(SEUS), volume 5860 of Lecture Notes in Computer Science, pages 276–287, Newport Beach, Cal-ifornia, November 2009. Springer.

[80] Stephen A. Edwards, Sungjun Kim, Edward A. Lee, Hiren D. Patel, and Martin Schoeberl. Recon-ciling repeatable timing with pipelining and memory hierarchy. In Proceedings of the Workshop onReconciling Performance with Predictability (RePP), Grenoble, France, October 2009.

[81] Stephen A. Edwards and Jia Zeng. Static elaboration of recursion for concurrent software. InProceedings of the Workshop on Partial Evaluation and Program Manipulation (PEPM), pages71–80, San Francisco, California, January 2008. 20/74 = 27%.

[82] Cristian Soviani and Stephen A. Edwards. FIFO sizing for high-performance pipelines. In Pro-ceedings of the International Workshop on Logic Synthesis (IWLS), San Diego, California, June2007.

[83] Olivier Tardieu and Stephen A. Edwards. Instantaneous transitions in Esterel. In Proceedings ofthe Workshop on Model-Driven High-Level Programming of Embedded Systems (SLA++P), Braga,Portugal, March 2007. 9/16 = 56%.

Page 11: sedwards@cs.columbia.edu …sedwards/cv.pdf · [33]Stephen A. Edwards and Hiren Patel. MEMOCODE 2014 software design contest: Space invaders emulator. In Proceedings of the International

Stephen A. Edwards April 22, 2020 11

[84] Becky Plummer, Mukul Khajanchi, and Stephen A. Edwards. An Esterel virtual machine for embed-ded systems. In Proceedings of Synchronous Languages, Applications, and Programming (SLAP),Electronic Notes in Theoretical Computer Science, pages 1–14, Vienna, Austria, March 2006.

[85] Jia Zeng, Chuck Mitchell, and Stephen A. Edwards. A domain-specific language for generatingdataflow analyzers. In Proceedings of the Sixth Workshop on Language Descriptions, Tools andApplications, Vienna, Austria, April 2006. 7/21 = 33%.

[86] Stephen A. Edwards. Using program specialization to speed SystemC fixed-point simulation. InProceedings of the Workshop on Partial Evaluation and Program Manipulation (PEPM), pages21–28, Charleston, South Carolina, January 2006. 17/29 = 59%.

[87] Cristian Soviani, Stephen A. Edwards, and Angelos Keromytis. Adding a flow-oriented paradigm tocommodity operating systems. In Proceedings of the Workshop on Interaction between OperatingSystem and Computer Architecture (IOSCA), pages 1–6, Austin, Texas, October 2005.

[88] Marcio Buss, Stephen A. Edwards, Bin Yao, and Daniel Waddington. Pointer analysis for source-to-source transformations. In Proceedings of the 5th International Workshop on Source Code Analysisand Manipulation (SCAM), pages 139–148, Budapest, Hungary, September 2005. 18/48 = 38%.

[89] Cristian Soviani, Olivier Tardieu, and Stephen A. Edwards. High-level optimization by combiningretiming and Shannon decomposition. In Proceedings of the International Workshop on LogicSynthesis (IWLS), pages 16–23, Lake Arrowhead, California, June 2005. 33/67 = 49%.

[90] Cristian Soviani and Stephen A. Edwards. Challenges in synthesizing fast control-dominated cir-cuits. In Proceedings of the International Workshop on Logic Synthesis (IWLS), pages 326–332,Lake Arrowhead, California, June 2005. 34 posters/67 = 51%.

[91] Stephen A. Edwards. SHIM: A language for hardware/software integration. In Proceedings ofSynchronous Languages, Applications, and Programming (SLAP), Electronic Notes in TheoreticalComputer Science, Edinburgh, Scotland, April 2005. 9/17 = 53%.

[92] Stephen A. Edwards. SHIM: A language for hardware/software integration. In Proceedings ofSYNCHRON, Schloss Dagstuhl, Germany, December 2004.

[93] Stephen A. Edwards. The challenges of hardware synthesis from C-like languages. In Proceedingsof the International Workshop on Logic Synthesis (IWLS), pages 509–516, Temecula, California,June 2004. 33 talks/70 = 47%.

[94] Stephen A. Edwards, Vimal Kapadia, and Michael Halas. Compiling Esterel into static discrete-event code. In Proceedings of Synchronous Languages, Applications, and Programming (SLAP),volume 153(4) of Electronic Notes in Theoretical Computer Science, pages 107–121, Barcelona,Spain, March 2004. Elsevier Science. 7/10 = 70%, 12 citations on Google Scholar.

[95] Stephen A. Edwards. High-level synthesis from the synchronous language Esterel. In Proceedingsof the International Workshop on Logic Synthesis (IWLS), New Orleans, Louisiana, June 2002. 22long talks/80 = 28%. 14 citations on Google Scholar.

[96] Stephen A. Edwards. ESUIF: An open Esterel compiler. In Proceedings of Synchronous Languages,Applications, and Programming (SLAP), volume 65(5) of Electronic Notes in Theoretical ComputerScience, page 71, Grenoble, France, April 2002. Elsevier Science. 13/16 = 81%.

[97] Stephen A. Edwards. Compiling Esterel into sequential code. In Proceedings of the 7th Inter-national Workshop on Hardware/Software Codesign (CODES), pages 147–151, Rome, Italy, May1999. Association for Computing Machinery. 20/90 = 22%.

Page 12: sedwards@cs.columbia.edu …sedwards/cv.pdf · [33]Stephen A. Edwards and Hiren Patel. MEMOCODE 2014 software design contest: Space invaders emulator. In Proceedings of the International

Stephen A. Edwards April 22, 2020 12

[98] Gitanjali Swamy, Stephen Edwards, and Robert Brayton. Efficient verification and synthesis usingdesign commonalities. In Proceedings of the International Workshop on Logic Synthesis (IWLS),Tahoe City, California, May 1997.

[99] Arlindo L. Oliveira and Stephen Edwards. Limits of exact algorithms for inference of minimumsize finite state machines. In Proceedings of the Seventh Annual Workshop on Algorithmic LearningTheory (ALT), volume 1160 of Lecture Notes in Computer Science, pages 59–66, Sydney, Australia,October 1996. Springer-Verlag. 16 long + 8 short/41 = 59%.

Theses

[100] Richard Townsend. Compiling Irregular Software to Specialized Hardware. PhD thesis, ColumbiaUniversity, Department of Computer Science, New York, New York, June 2019. Also technical reportCUCS–002–19.

[101] Nalini Vasudevan. Efficient, Deterministic and Deadlock-free Concurrency. PhD thesis, ColumbiaUniversity, New York, New York, USA, March 2011. CUCS–013–11.

[102] Marcio Buss. Summary-Based Pointer Analysis Framework for Modular Bug Finding. PhD thesis,Columbia University, New York, New York, USA, February 2008. CUCS–013–08.

[103] Jia Zeng. Partial Evaluation for Code Generation from Domain-Specific Languages. PhD thesis,Columbia University, New York, New York, USA, November 2007. CUCS–048–07.

[104] Cristian Soviani. High Level Synthesis for Packet Processing Pipelines. PhD thesis, ColumbiaUniversity, New York, New York, USA, October 2007. CUCS–041–07.

[105] Stephen Anthony Edwards. The Specification and Execution of Heterogeneous Synchronous Re-active Systems. PhD thesis, University of California, Berkeley, May 1997. 44 citations on GoogleScholar, Available as UCB/ERL M97/31.

[106] Stephen Edwards. An Esterel compiler for a synchronous/reactive development system. Master’sthesis, University of California, Berkeley, June 1994. Available as UCB/ERL M94/43.

Technical Reports

[107] Stephen A. Edwards. The FHW project: High-level hardware synthesis from Haskell programs.Technical Report CUCS–003–19, Columbia University, Department of Computer Science, NewYork, New York, USA, August 2019.

[108] Richard Townsend, Martha A. Kim, and Stephen A. Edwards. Hardware in Haskell: Implementingmemories in a stream-based world. Technical Report CUCS-017-15, Columbia University, Depart-ment of Computer Science, September 2015.

[109] Kuangya Zhai, Richard Townsend, Lianne Lairmore, Martha A. Kim, and Stephen A. Edwards.Hardware synthesis from a recursive functional language. Technical Report CUCS–007–15,Columbia University, Department of Computer Science, April 2015.

[110] Stephen A. Edwards. Functioning hardware from functional programs. Technical Report CUCS–027–13, Columbia University, Department of Computer Science, New York, New York, USA, Oc-tober 2013.

Page 13: sedwards@cs.columbia.edu …sedwards/cv.pdf · [33]Stephen A. Edwards and Hiren Patel. MEMOCODE 2014 software design contest: Space invaders emulator. In Proceedings of the International

Stephen A. Edwards April 22, 2020 13

[111] Stephen A. Edwards. A finer functional Fibonacci on a fast FPGA. Technical Report CUCS–005–13, Columbia University, Department of Computer Science, New York, New York, USA, February2013.

[112] Stephen A. Edwards. Reconstructing Pong on an FPGA. Technical Report CUCS–0023–12,Columbia University, Department of Computer Science, New York, New York, USA, December2012.

[113] Neil Deshpande and Stephen A. Edwards. Statically unrolling recursion to improve opportunitiesfor parallelism. Technical Report CUCS–011–12, Columbia University, Department of ComputerScience, New York, New York, USA, July 2012.

[114] Stephen A. Edwards. Functional Fibonacci to a fast FPGA. Technical Report CUCS–010–12,Columbia University, Department of Computer Science, New York, New York, USA, June 2012.

[115] Sungjun Kim, Hiren D. Patel, and Stephen A. Edwards. Using a model checker to determineworst-case execution time. Technical Report CUCS–038–09, Columbia University, Department ofComputer Science, New York, New York, USA, September 2009.

[116] Devesh Dedhia. Example application under PRET environment — programming a MultiMedi-aCard. Technical Report CUCS–005–09, Columbia University, Department of Computer Science,New York, New York, USA, January 2009.

[117] Stephen A. Edwards. Retrocomputing on an FPGA. Circuit Cellar, 233:24–35, December 2009.Not peer-reviewed.

[118] Keerti Joshi and Delvin Kellebrew. A MPEG decoder in SHIM. Technical Report CUCS–057–08,Columbia University, Department of Computer Science, New York, New York, USA, December2008.

[119] Nishant R. Shah. Memory issues in PRET machines. Technical Report CUCS–059–08, ColumbiaUniversity, Department of Computer Science, New York, New York, USA, December 2008.

[120] David Lariviere and Stephen A. Edwards. uClinux on the Altera DE2. Technical Report CUCS–055–08, Columbia University, Department of Computer Science, New York, New York, USA, De-cember 2008.

[121] Ravindra Babu Ganapathi and Stephen A. Edwards. SHIM optimization: Elimination of unstruc-tured loops. Technical Report CUCS–054–08, Columbia University, Department of Computer Sci-ence, New York, New York, USA, December 2008.

[122] Dave Aaron Smith, Nalini Vasudevan, and Stephen Edwards. Static deadlock detection in SHIMwith an automata type checking system. Technical Report CUCS–053–08, Columbia University,Department of Computer Science, New York, New York, USA, December 2008.

[123] Nalini Vasudevan, Olivier Tardieu, Julian Dolby, and Stephen A. Edwards. Analysis of clocks inx10 programs (extended). Technical Report CUCS–052–08, Columbia University, Department ofComputer Science, New York, New York, USA, December 2008.

[124] Ben Lickly, Isaac Liu, Sungjun Kim, Hiren D. Patel, Stephen A. Edwards, and Edward A. Lee.Predictable programming on a precision timed architecture. Technical Report UCB/EECS-2008-40,University of California, Berkeley, April 2008.

[125] Marcio Buss, Daniel Brand, Vugranam Sreedhar, and Stephen A. Edwards. A new abstraction forsummary-based pointer analysis. Technical Report RC24104, IBM, New York, July 2007.

Page 14: sedwards@cs.columbia.edu …sedwards/cv.pdf · [33]Stephen A. Edwards and Hiren Patel. MEMOCODE 2014 software design contest: Space invaders emulator. In Proceedings of the International

Stephen A. Edwards April 22, 2020 14

[126] Chen-Chun Huang, Javier Coca, Yashket Gupta, and Stephen A. Edwards. An implementation of aRenesas H8/300 microprocessor with a cycle-level timing extension. Technical Report CUCS–051–06, Columbia University, Department of Computer Science, New York, New York, USA, December2006.

[127] Nalini Vasudevan and Stephen A. Edwards. A JPEG decoder in SHIM. Technical Report CUCS–048–06, Columbia University, Department of Computer Science, New York, New York, USA, De-cember 2006.

[128] Smridh Thapar, Olivier Tardieu, and Stephen A. Edwards. Arrays in SHIM: A proposal. TechnicalReport CUCS–047–06, Columbia University, Department of Computer Science, New York, NewYork, USA, December 2006.

[129] Stephen A. Edwards and Edward A. Lee. The case for the precision timed (PRET) machine.Technical Report UCB/EECS-2006-149, EECS Department, University of California, Berkeley,November 2006.

[130] Neesha Subramaniam, Ohan Oda, and Stephen A. Edwards. Macshim: Compiling matlab to ascheduling-independent concurrent language. Technical Report CUCS–038–06, Columbia Univer-sity, Department of Computer Science, New York, New York, USA, September 2006.

[131] Olivier Tardieu and Stephen A. Edwards. Specifying confluent processes. Technical ReportCUCS–037–06, Columbia University, Department of Computer Science, New York, New York,USA, September 2006.

[132] Olivier Tardieu and Stephen A. Edwards. Scheduling-independent threads and exceptions inSHIM. Technical Report CUCS–036–06, Columbia University, Department of Computer Science,New York, New York, USA, September 2006.

[133] Marcio Buss, Stephen A. Edwards, Bin Yao, and Daniel Waddington. Pointer analysis for C pro-grams through AST traversal. Technical Report CUCS–028–05, Columbia University, Departmentof Computer Science, New York, New York, USA, August 2005.

[134] Christopher L. Conway, Kedar S. Namjoshi, Dennis Dams, and Stephen A. Edwards. Incremen-tal algorithms for inter-procedural analysis of safety properties. Technical Report CUCS–018–05,Columbia University, Department of Computer Science, New York, New York, USA, July 2005.

[135] Stephen A. Edwards and Chun Li. Determining interfaces using type inference. Technical ReportCUCS–052–04, Columbia University, Department of Computer Science, New York, New York,USA, December 2004.

[136] Cristian Soviani, Jia Zeng, and Stephen A. Edwards. Sequential challenges in synthesizing Esterel.Technical Report CUCS–051–04, Columbia University, Department of Computer Science, NewYork, New York, USA, December 2004.

[137] Stephen A. Edwards. Design and verification languages. Technical Report CUCS–046–04,Columbia University, Department of Computer Science, New York, New York, USA, November2004.

[138] Hanoril Estevez and Stephen A. Edwards. Live CD cluster performance. Technical Report CUCS–037–04, Columbia University, Department of Computer Science, New York, New York, USA, Oc-tober 2004.

Page 15: sedwards@cs.columbia.edu …sedwards/cv.pdf · [33]Stephen A. Edwards and Hiren Patel. MEMOCODE 2014 software design contest: Space invaders emulator. In Proceedings of the International

Stephen A. Edwards April 22, 2020 15

[139] Cristian Soviani, Jia Zeng, and Stephen A. Edwards. Improved controller synthesis from Esterel.Technical Report CUCS–015–04, Columbia University, Department of Computer Science, NewYork, New York, USA, March 2004.

[140] Stephen A. Edwards. Design languages for embedded systems. Technical Report CUCS–009–03,Columbia University, Department of Computer Science, New York, New York, USA, May 2003.

Page 16: sedwards@cs.columbia.edu …sedwards/cv.pdf · [33]Stephen A. Edwards and Hiren Patel. MEMOCODE 2014 software design contest: Space invaders emulator. In Proceedings of the International

Stephen A. Edwards April 22, 2020 16

Professional ActivitiesProfessional Society Memberships

Senior Member, IEEE 2006–

Member, ACM 2006–

Member, IEEE 1994–2006

Standarization Committees

Vice Chair, IEEE P1778 Esterel Standardization Committee, 2007–2009

Journal Activities

• IEEE Transactions on Computer Aided Design of Integrated Circuits and SystemsTop journal in my area.Associate Editor 2006–Guest Editor, special section on the Intl. Workshop on Logic and Synthesis May 2006Reviewer 1994, 2001–2003, 2006–2009, 2013, 2017–2018

• ACM Transactions on Embedded Computer SystemsAssociate Editor 2008–Reviewer 2004, 2006–2007, 2009–2011, 2016–2018

• IEEE Transactions on Industrial InformaticsAssociate Editor 2007–Reviewer 2009

• EURASIP International Journal of Embedded SystemsAssociate Editor 2004–Reviewer 2007–2010

• IEEE Embedded Systems LettersReviewer 2010–

• Real-Time SystemsReviewer 2010

• Science of Computer ProgrammingReviewer 2010–2011, 2018, 2019

• Journal of Systems ArchitectureReviewer 2013

• Proceedings of the IEEEReviewer 2015

• Computer Architecture LettersReviewer 2019

Page 17: sedwards@cs.columbia.edu …sedwards/cv.pdf · [33]Stephen A. Edwards and Hiren Patel. MEMOCODE 2014 software design contest: Space invaders emulator. In Proceedings of the International

Stephen A. Edwards April 22, 2020 17

Conference/Workshop Activities

• Design Automation Conference (DAC)Top conference in my area; 15%-20% paper acceptance rateTechnical Subcommittee Chair, Managed four TPC members and 50+ papers. 2006–2007, 2011TPC Member, Responsible for 30+ paper reviews per year. 2004–2006, 2012Reviewer 1996–2004, 2008–

• Design, Automation, and Test in Europe (DATE)Second-to-top conference in my area.Topic Committee Member 2002–2004, 2007

• International Conference on Computer-Aided Design (ICCAD)Third-to-top conference in my area.TPC Subcommittee Chair, Invited to head new embedded systems software track 2011

• International Workshop on Logic and Synthesis (IWLS)Main workshop for logic synthesis, approx. 100 attendeesProgram Chair 2006General Chair 2005Publicity and Publications Chair 2003–2004TPC Member 2003–2009, 2011–2012, 2015, 2017, 2018

• Embedded Systems WeekLocal Arrangements Chair 2005Publicity Chair (EMSOFT conference) 2003–2004TPC Member (EMSOFT conference) 2004–2006, 2010, 2013, 2015TPC Member (CODES+ISSS conference) 2008, 2009, 2010Reviewer (EMSOFT conference) 2008, 2011, 2014, 2016

• Synchronous Languages, Applications, and Programming (SLAP)Steering Committee Member 2006–TPC Member 2002–2006

• Memocode conferenceProgram Chair 2007–2008Design Contest Chair 2012Publicity Chair 2003–2004, 2006TPC Member 2003–2007, 2009, 2011–2012, 2017–2019Panel Organizer 2009

• Languages, Compilers, and Techniques for Embedded Systems (LCTES)TPC Member 2006, 2010

• IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS)TPC Member 2005, 2006

• Forum on Specification & Design Languages (FDL) TPC Member 2016, 2017

• Embedded and Ubiquitous Computing (EUC)TPC Member 2006–2008

Page 18: sedwards@cs.columbia.edu …sedwards/cv.pdf · [33]Stephen A. Edwards and Hiren Patel. MEMOCODE 2014 software design contest: Space invaders emulator. In Proceedings of the International

Stephen A. Edwards April 22, 2020 18

• International Conference on Computer Design (ICCD)TPC Member 2004–2005

• Applications of Concurrency to System Design (ACSD)TPC Member 2004–2008

• Workshop on Modeling, Validation and Heterogeneity (MoVaH)TPC Member 2008

• ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation (PEPM)TPC Member 2008

• International Conference on Hybrid Systems: Computation and Control (HSCC)TPC Member 2008

• Language Descriptions Tools, Analysis (LDTA)TPC Member 2009

• International Conference on Software Language Engineering (SLE)TPC Member 2009, 2010

• Real-time Systems Symposium (RTSS)TPC Member 2009

• IEEE Intl. Conf. on Compilers, Architectures, and Synthesis of Embedded Systems (CASES)TPC Member 2013, 2014

Grant Reviews

NSF: 2002, 2003, 2008, 2010, 2012 (2), 2014 (Panels).

INRIA (French National Research Agency): March 2016

ANR (French National Research Agency): October 2011, March 2013.

DFG (German Excellence Initiative): January 2012.

Paper Reviews

ACM Transactions on Programming Languages and Systems (TOPLAS) 2001Computer-Aided Verification (CAV) 1996, 2001Correct Hardware Design and Verification Methods (CHARME) 1999Design Automation and Test in Europe (DATE) 2001Formal Aspects of Computing (FAC) 2002Formal Methods for Industrial Critical Systems (FMICS) 2001IEEE Transactions on Computers 2003, 2007–2009, 2012, 2015International Conference on Computer-Aided Design (ICCAD) 1999–2003International Conference on Acoustics, Speech, and Signal Processing (ICASSP) 1996IFIP Workshop on Logic & Architecture Synthesis (IWLAS) 1994Semantic Foundations of Engineering Design Languages (SFEDL) 2004Sigmetrics 2004Formal Methods in System Design (FMSD) 2004, 2007

Page 19: sedwards@cs.columbia.edu …sedwards/cv.pdf · [33]Stephen A. Edwards and Hiren Patel. MEMOCODE 2014 software design contest: Space invaders emulator. In Proceedings of the International

Stephen A. Edwards April 22, 2020 19

Integration—The VLSI Journal 2004International Conference on Embedded Software and Systems (ICESS) 2005, 2008, 2009Code Generation and Optimization (CGO) 2005Architectural Support for Programming Languages and Operating Systems (ASPLOS) 2006Principles of Programming Languages (POPL) 2007, 2013, 2018Fundamenta Informaticae 2007–2008Programming Language Design and Implementation (PLDI) 2008IEEE Design and Test of Computers 2008International Colloquium on Automata, Languages and Programming (ICALP) 2008IEEE Conference on Automation Science and Engineering (CASE) 2008Electronics and Telecommunications Research Institute (ETRI) Journal 2008, 2012The 6th IFIP Workshop on Software Technologies for Future Embedded & Ubiquitous Systems (SEUS)2008, 2013IEEE Transactions on Very Large Scale Integration Systems (TVLSI) 2008, 2009IEEE Transactions on Design Automation of Electronic Systems (TODAES) 2008, 2009, 2011, 2012IEEE Transactions on Parallel and Distributed Systems (TPDS) 2018Compiler Construction (CC) 2008Annual Symposium on Parallelism in Algorithms and Architectures (SPAA) 2011Software: Practice and Experience (SPE) 2011IEEE International Symposia on Multiple-Valued Logic (ISMVL) 2011Computer Languages, Systems & Structures (COMLAN) 2012Journal on Computing of the Computer Society of India (CSI) 2013Theoretical Computer Science (TCS, a journal) 2014

Invited Talks

Keynotes

Language Design is LEGO Design and Library Design. September 3, 2019Presented at Forum on Specification and Design Languages. University of Southampton, UK.

Haskell to Hardware and Other Dreams. December 7, 2016Presented at Synchron, Bamberg, Germany.

Functioning Hardware from Functional Specifications June 26, 2014Presented at Applications of Concurrency to System Design (ASCSD), Tunis, Tunisia.

Compiling Parallel Algorithms to Memory Systems June 2, 2012Presented at the 2012 Electronic System Level Synthesis Conf. (ESLsyn), San Francisco, California.

Conferences/Other

Ubiquitous Unix Units. October 22, 2019Presented at Unix50. Nokia Bell Labs, Murray Hill, NJ.

Net Booting/Installing Vintage Computers from a Raspberry Pi. May 3, 2019Presented at Vintage Computer Festival — East. Infoage Science Center, Wall, New Jersey.

The Altair 8800 Computer: The Start of the Personal Computer Revolution. April 11, 2018

Page 20: sedwards@cs.columbia.edu …sedwards/cv.pdf · [33]Stephen A. Edwards and Hiren Patel. MEMOCODE 2014 software design contest: Space invaders emulator. In Proceedings of the International

Stephen A. Edwards April 22, 2020 20

Presented at the CSTA Central NJ Meeting, Princeton, New Jersey.

Functioning Hardware from Functional Specifications November 18, 2014Presented at IBM Programming Languages Day, T. J. Watson Research Center, New York.

Functioning Hardware from Functional Specifications July 22, 2014Presented at the DIMACS Workshop on Multicore and Cryptography, Hoboken, New Jersey.

Functioning Hardware from Functional Specifications November 18, 2013Presented at the SYNCHRON workshop, Schloss Dagstuhl, Germany.

Compiling Parallel Algorithms to Memory Systems May 29, 2012Presented at the Resource-Aware Functional Programming (RAWFP) Workshop, Göteborg, Sweden.

From Recursive Functions to Real FPGAs March 4, 2012Presented at Compiling Complete Programs into Circuits (CCPC), London, UK.

High-level Synthesis from Functional Languages October 19, 2012Presented at Synchronics Days, Paris, France.

What Do We Do With 1012 Transistors? The Case for Precision Timing February 21, 2008Presented at the DSRC TeraChip Workshop, Stanford, California.

Verification Challenges in the SHIM Concurrent Language May 18, 2007Invited talk at the Third Northeast Verification Seminar, NEC, Princeton, New Jersey.

Verification: What Works and What Does Not? May 18, 2007Panel at the Third Northeast Verification Seminar, NEC, Princeton, New Jersey.

Using and Compiling Esterel July 11th, 2005Invited Tutorial, Memocode conference, Verona, Italy.

The Future of Embedded Linux. June 30, 2005Panel at C3Expo, New York, NY.

Languages for Embedded Systems August 2–6, 2004Week-long course at National Chiao Tung University, Hsinchu, Taiwan.

Linux for EDA November 2003Tutorial at the International Conference on Computer-Aided Design (ICCAD), San Jose, California.

High-Level Modeling and Validation Methodologies for Embedded Systems:Bridging the Productivity Gap January 4, 2003

Presented at VLSI Design 2003, New Delhi, India.With Sandeep K. Shukla, Jean Pierre Talpin, and Rajesh K. Gupta.

System-on-a-chip and the Coming Design Revolution November 1, 2002Invited talk at the Emerging Information Technology Conference (EITC), Princeton, New Jersey.

Scaling the Abstraction Cliff: High-level Languages for System Design March 2001Tutorial A2 at the Design, Automation and Test in Europe (DATE 2001) Munich, Germany.

Universities/Industry

CPUs, GPUs, and the Rise of Software Parallelism December 16, 2013Presented at Chalmers University, Göteborg, Sweden, as an introduction to Joel Svensson’s PhD Defense.

Functioning Hardware from Functional Specifications December 17, 2013

Page 21: sedwards@cs.columbia.edu …sedwards/cv.pdf · [33]Stephen A. Edwards and Hiren Patel. MEMOCODE 2014 software design contest: Space invaders emulator. In Proceedings of the International

Stephen A. Edwards April 22, 2020 21

Presented at Chalmers University, Göteborg, Sweden.

Compiling Parallel Algorithms to Memory Systems June 26, 2012Presented to the PARKAS group, DI, École Normale Supérieure.

Compiling Parallel Algorithms to Memory Systems April 16, 2012Presented at Jane Street, New York, NY

Concurrency and Communication: Lessons from the SHIM Project August 6, 2010Cambridge University, UK

Concurrency and Communication: Lessons from the SHIM Project July 23, 2010Microsoft Research, Cambridge, UK

Concurrency and Communication: Lessons from the SHIM Project July 5, 2010University of the Philippines, Manila

Programming Shared Memory Multiprocessors with Deterministic Message-Passing Concurrency:Compiling SHIM to Pthreads August 8, 2008National Taiwan University, Taipei, Taiwan

What Do We Do With 1012 Transistors? The Case for Precision Timing February 20, 2008Google, Mountain View, California

Precision-Timed (PRET) Machines January 9, 2007Altera, San Jose, California

Precision-Timed (PRET) Machines July 6, 2007National Taiwan University, Taipei, Taiwan

SHIM: A Scheduling-Independent Concurrent Language for Embedded Systems May 10, 2007Princeton University, New Jersey

SHIM: A Scheduling-Independent Concurrent Language for Embedded Systems April 27, 2007University of Pennsylvania, Philadelphia

SHIM: A Scheduling-Independent Concurrent Language for Embedded Systems March 16, 2007MIT, Boston, Massachusetts

SHIM: A Scheduling-Independent Concurrent Language for Embedded Systems March 13, 2007CEA, Grenoble, France

SHIM: A Scheduling-Independent Concurrent Language for Embedded Systems November 8, 2006University of California, Berkeley

The Challenges of Hardware Synthesis from C-Like Languages September 18, 2006ECSI-UBS Workshop on High Level Synthesis, Darmstadt, Germany.

SHIM: A Deterministic Language for Embedded Systems August 28, 2006SpringSoft, Hsinchu, Taiwan.

SHIM: A Deterministic Language for Embedded Systems August 28, 2006National Chiao Tung University (NCTU), Hsinchu, Taiwan.

SHIM: A Deterministic Language for Embedded Systems August 23, 2006Microsoft Research, Bangalore, India.

SHIM: A Deterministic Language for Embedded Systems August 11, 2006Tsinghua University, Hsinchu, Taiwan.

Page 22: sedwards@cs.columbia.edu …sedwards/cv.pdf · [33]Stephen A. Edwards and Hiren Patel. MEMOCODE 2014 software design contest: Space invaders emulator. In Proceedings of the International

Stephen A. Edwards April 22, 2020 22

SHIM: A Deterministic Language for Embedded Systems August 10, 2006National Taiwan University, Taipei.

SHIM: A Deterministic Language for Embedded Systems August 4, 2006Seoul National University, Korea.

SHIM: A Deterministic Language for Embedded Systems July 21, 2006University of Kiel, Germany.

SHIM: A Deterministic Model for Heterogeneous Embedded Systems December 9, 2005Verimag, Grenoble, France.

SHIM: A Deterministic Model for Heterogeneous Embedded Systems November 10, 2005University of California at Berkeley.

SHIM: A Deterministic Model for Heterogeneous Embedded Systems November 9, 2005Xilinx, San Jose, California.

SHIM: A Deterministic Model for Heterogeneous Embedded Systems October 7th, 2005National Instruments and the University of Texas at Austin.

SHIM: A Deterministic Model for Heterogeneous Embedded Systems August 16th, 2005Tsinghua University, Hsinchu, Taiwan.

Deterministic Receptive Processes are Kahn Processes. June 22, 2005INRIA, Sophia-Antipolis, France.

SHIM: A Language for Hardware/Software Integration. April 7, 2005University of California, Irvine.

Using and Compiling Esterel August 17, 2004National Chung Cheng University, Chai-Yi, Taiwan.

Making cyclic circuits acyclic March 3, 2003Carnegie Mellon, Pittsburgh.

Compiling Esterel January 13, 2003Indian Institute of Technology, Delhi.

Compiling Esterel into Better Circuits and Faster Simulations. November 5, 2002Intel, Hillsboro, Oregon.

Compiling Esterel October 10, 2002Cambridge University, UK.

Compiling Esterel September 5, 2002University of California, Berkeley.

Compiling Esterel August 26, 2002University of Calgary, Alberta, Canada.

Compiling Esterel August 19, 2002Microsoft Research, Redmond, Washington.

High-level Synthesis from the Synchronous Language Esterel August 8, 2002Intel, Hillsboro, Oregon.

An Overview of the Electronic Design Automation (EDA) Field July 16, 2002Yuan Ze University, Chungli, Taiwan.

Page 23: sedwards@cs.columbia.edu …sedwards/cv.pdf · [33]Stephen A. Edwards and Hiren Patel. MEMOCODE 2014 software design contest: Space invaders emulator. In Proceedings of the International

Stephen A. Edwards April 22, 2020 23

Compiling Esterel July 8, 2002National Taiwan University (Taida), Taipei, Taiwan.

Compiling Esterel April 2002A discussion of my first Esterel compiler along with ongoing work on ESUIF.Princeton, New Jersey.

ESUIF: An Open Esterel Compiler March 2002A work-in-progress description of the ESUIF Esterel compiler.IRISA/INRIA Rennes, France.

Esterel and Other Projects October 2001A summary of existing Esterel work and future plansIntel, Hillsboro, Oregon.

Compiling Esterel into Sequential Code, April 28, 1999University of California, Berkeley, CAD Group Seminar.

Synchronous Reactive Systems. February 1997University of Texas, Austin.

Outreach Activities

Engineering Exploration Experience Workshop March 7, 2020Introductory workshop on Arduino programming for high school girls (about 20) organized by Columbia’sSociety of Women Engineers

NYC CS Fair April 2, 2019Operated a booth advertising Columbia Computer Science at a fair attended by nearly 2100 New Yorkhigh school students.

Engineering Exploration Experience Workshop March 30, 2019Introductory workshop on Arduino programming for high school girls (about 35) organized by Columbia’sSociety of Women Engineers

Science Café at the School at Columbia University January 17, 2019Introductory workshop on Arduino programming for 4th and 5th grade students and their parents

Science Expo at the School at Columbia University April 14, 2018Workshop for K-8 students about the innards of computers

Engineering Exploration Experience Workshop March 24, 2018Introductory workshop on Arduino programming for high school girls (about 45) organized by Columbia’sSociety of Women Engineers

Science Expo at the School at Columbia University February 6, 2016Workshop for K-8 students about the innards of computers

Science Expo at the School at Columbia University February 8, 2014Workshop for K-8 students about the innards of computers

Page 24: sedwards@cs.columbia.edu …sedwards/cv.pdf · [33]Stephen A. Edwards and Hiren Patel. MEMOCODE 2014 software design contest: Space invaders emulator. In Proceedings of the International

Stephen A. Edwards April 22, 2020 24

DepartmentalPh.D Students

Richard Townsend Fall 2013–Spring 2019

Kuangya Zhai Fall 2013–Spring 2016

Baolin Shao Fall 2008–Fall 2010

Sungjun Kim Spring 2008–Fall 2011

Kristina Chodorow Fall 2007

Nalini Vasudevan Spring 2007–Fall 2010

Marcio Buss Spring 2004–Spring 2008

Jia Zeng Fall 2002–Spring 2008

Cristian Soviani Fall 2002–Fall 2007

Christopher L. Conway Summer 2002–Spring 2006

Postdoctoral Researcher

Olivier Tardieu Spring 2005–Fall 2006

External PhD Committees

Adrien Guatto, École Normale Supérieure, Paris, France January 2016

Joel Svensson, Chalmers University, Göteborg, Sweden December 2013

Francesco Leonardi, University of Trento, Italy March 2009

Jan Lukoschus, University of Kiel, Germany July 2006

Matthieu Moy, Verimag, Grenoble, France December 2005

Olivier Tardieu, Ecole des Mines, Sophia-Antipolis, France October 2004

“Jacky” Dumitru Potop-Butucaru, Ecole des Mines, Sophia-Antipolis, France November 2002

Sean Gibb, University of Calgary, Alberta, Canada August 2002

Internal Dissertation Defenses

Leon Wu (Gail Kaiser) September 15, 2014

Richard Neil (Luca Carloni) May 30th, 2013

Rebecca Collins (Luca Carloni) November 23, 2010

Cheng-Hong Li (Luca Carloni) July 22, 2009

Cheoljoo Jeong (Steve Nowick) October 22, 2007

Cristian Soviani August 30, 2007

Page 25: sedwards@cs.columbia.edu …sedwards/cv.pdf · [33]Stephen A. Edwards and Hiren Patel. MEMOCODE 2014 software design contest: Space invaders emulator. In Proceedings of the International

Stephen A. Edwards April 22, 2020 25

Jia Zeng August 30, 2007

Krysta Svore (Al Aho) March 31, 2006

Saravanan Rajapandian (Ken Shepard, EE) May 20, 2005

Tiberiu Chelcea (Steve Nowick) December 8, 2003

Yu Zheng (Ken Shepard, EE) June 9, 2003

Henry Li (Charles Zukowski, EE) Febriary 1, 2002

Michael Theobald (Steve Nowick) December 18, 2001

Internal Thesis Proposal Committees

Andrea Lottarini (Martha Kim) December 5, 2017

Lisa Wu (Martha Kim) Friday 22, 2013

Cheng-Hong Li (Luca Carloni) December 3, 2007

Mark Eaddy (Al Aho) December 13, 2006

Marcio Buss April 27, 2006

Jia Zeng May 2, 2006

Cristian Soviani May 2, 2006

Krysta Svore (Al Aho) March 31, 2006

Chris Conway May 12, 2006

Committees

Ad hoc tenure committees April, December 2013

Class Scheduling Spring 2011–Scheduling all classes taught in the CS department

PhD Committee 2003–

Academic Commitee 2003–

RecruitingHosted one candidate 2002Hosted two candidates 2004Hosted three candidates 2007Hosted one candidate 2008Hosted three candidates 2016

Visibility Committee 2005Revamped CS department web page

Space Committee 2007–2013Assisted Steve Feiner with assigning students and faculty to offices

Page 26: sedwards@cs.columbia.edu …sedwards/cv.pdf · [33]Stephen A. Edwards and Hiren Patel. MEMOCODE 2014 software design contest: Space invaders emulator. In Proceedings of the International

Stephen A. Edwards April 22, 2020 26

Undergraduate/Masters Research Projects Supervised

Student Work resulted in YearTech. Report Published Paper

Neil Deshpande • 2012Yoonji Shin 2011Devesh Dedhia • 2008Delvin Kelleybrew • 2008Keerti Joshi • 2008Nishant R. Shah • 2008Ravindra Babu Ganapathi • 2008Dave A. Smith • 2008Phong Pham 2007Haim Cohen • 2006Chen-Chun Huang • 2006Javier Coca • 2006Yashket Gupta • 2006Wei Chung Hsu • 2006David Lariviere • 2006Smridh Thapar • 2006Nalini Vasudevan • 2006Neesha Subramaniam • 2006Ohan Oda • 2006Bryan Gwin 2006Mukul Khajanchi • 2006Rebecca Plummer • 2005Nicholas Ip • 2005Chun Li • 2004John Shick 2004Erin Adelman 2004Hanoril Estevez • 2004Clarke Landis 2003Noel Vega • 2003Michael Anikin 2003Michael Halas • 2003Vimal Kapadia • 2003Seema Gupta 2003Miquad Mohammad 2003Thomas Heydt-Benjamin • 2003Mikhal Litvin 2003Avi Shinnar • 2002Jose Brunheroto 2001

Page 27: sedwards@cs.columbia.edu …sedwards/cv.pdf · [33]Stephen A. Edwards and Hiren Patel. MEMOCODE 2014 software design contest: Space invaders emulator. In Proceedings of the International

Stephen A. Edwards April 22, 2020 27

TeachingIn 2019, I developed a new course entitled COMS W4995: Parallel Functional Programming in whichI teach students the Haskell functional language and in particular how to utilize its advanced support forefficient parallel computation.

Semester F 2019Enrollment 54

Student comments:

“This school deserves to have and should have a functional programming course; within this institution,Stephen is single-handedly trying to create this representation. He really does care about getting people tounderstand a very different style of programming which should be better known and really is the oppositeof the tendencies you would worry a Haskell class might exhibit.” (Fall 2019)

“I’m very glad that this course was taught this semester. Professor Edwards, as always, is a great in-structor and explains hard concepts in a very lucid manner. I’m glad that Columbia offered an upperlevel course (outside of the classic OS, PLT etc courses) that’s not related to Intelligent Systems. Being apurely project based course in an esoteric programming language, this class exemplifies everything thata good CS course should be. I hope more classes that focus on core CS rather than catering to the currentfad at the time (Intelligent Systems currently) are offered that equip students with a toolbox to tackle anyset of problems.” (Fall 2019)

In 2014, I developed CSEE W4840: Embedded System Design—a new “capstone” lab course forComputer Engineering and Electrical Engineering majors. Seniors are required to take one of three suchcourses. In it, students design and implement embedded systems using state-of-the-art FPGA boards.Projects have included video games, music synthesizers, and robots. In 2017 and 2018, I did not teach4840 because I was needed for 4115 both terms; I resumed in 2019.

Semester Sp 2012 Sp 2014 Sp 2015 Sp 2016 Sp 2019 Sp 2020Enrollment 55 76 85 62 45 23Semester Sp 2004 Sp 2005 Sp 2006 Sp 2007 Sp 2008 Sp 2009 Sp 2010 Sp 2011Enrollment 57 45 40 34 25 28 23 37

Student comments:

“Professor Edwards is awesome! Second-best professor I’ve had at Columbia. And he’s only second bestb/c professor Vallancourt is a god.” (Spring 2012)

“Stephen Edwards has very good teaching skills. He never misses an occasion to help students with theirprojects. He does not count his time. He is always really clear and go straight to the point. We clearlysee that he knows what he is talking about. Excellent professor” (Spring 2012)

“Professor Edwards requires quite a bit from his students, but is always available and expends the nec-essary effort to show you what needs to be done to succeed. I’ve had him for two courses now, and findhim to be a knowledgeable and thoughtful professor.” (Spring 2011)

“Stephen is well prepared during lectures and very helpful with projects. I wouldn’t want anything elsefrom an Embedded Systems professor.” (Spring 2011)

“Prof. Edwards is an amazing teacher. I have always enjoyed his lectures.” (Spring 2007)

“His in class presentation is the best I have seen. He is approachable by students and always gives astraight answer to his students. Finally he takes an interest in what the student is doing though out the

Page 28: sedwards@cs.columbia.edu …sedwards/cv.pdf · [33]Stephen A. Edwards and Hiren Patel. MEMOCODE 2014 software design contest: Space invaders emulator. In Proceedings of the International

Stephen A. Edwards April 22, 2020 28

course.” (Spring 2007)

“Professor Edwards is a very knowledgeable teacher who keeps the classroom interesting and moreoveris very help in one-on-one lab settings. He has a genuine interest in what you are trying to accomplishand this is a first that I have seen among all Columbia professors during my 4 years here. To me he seemslike the epitome of what a teacher should be.” (Spring 2006)

“I’ve always found Prof. Edwards to bring passion and energy to his lectures. He makes it easy to wantto learn more.” (Spring 2006)

“For the time and effort he puts into his presentations and labs. Edwards and his TAs do almost as muchwork as the students.” (Spring 2005)

I also teach COMS W4115: Programming Languages and Translators, a senior/masters compilersclass:

Semester F 2016 Sp 2017 F 2017 F 2018Enrollment 112 141 127 93Semester F 2008 F 2010 F 2011 F 2012 F 2013 F 2014 F 2015 Sp 2016Enrollment 64 61 70 105 86 90 125 83Semester Sp 2002 Sp 2003 F 2003 F 2004 F 2005 F 2006 Sp 2007 F 2007Enrollment 107 86 58 52 59 55 58 68

Student comments:

“Professor Edwards has an amazing way in explaining both the broad concepts as well as in-depth de-tails. His preparation for the course couldn’t have been better. Each homework was just in place (eitherprepared us for the mid-term, final or for starting the project) His presentation skills made one attentivethroughout the lectures. He has an excellent way of delivery.” (Fall 2011)

“Professor Edwards was absolutely incredible and I almost failed.” (Fall 2006)

“Professor Edwards is the most accessible instructor I’ve ever had - and he teaches a class about compil-ers. He’s an amazing man.” (Fall 2006)

“His classes are extremely enjoyable the best course I have taken so far.” (Fall 2006)

“Of the four courses that I took this semester all had good professors but Stephen Edwards was outstand-ing in his delivery, his ability to use wit [made] his material interesting, and in the quality of the notesand management of the course. I would therefore give him my vote for the Distinguished Faculty award.”(Fall 2006)

“This is a course that I did not really want to take and have little aptitude for. Professor Edwards turnedsomething which could have been very uninteresting into something lively and interesting—this is some-thing I really appreciate.” (Fall 2006)

“Great professor made subject interesting and explained difficult concepts well. I felt like I even learnedfrom the exams.” (Fall 2005)

“Now I know why people call [him] one of the best professors. His wit in the class just make everyonefall into the class.” (Fall 2005)

“Prf. Edwards is one of the few lecturers I’ve met who actually makes the classes very interesting. He’salways inserting funny anecdotes and ties in stories with concepts really well. It s been a pleasure to takePLT with him. Even outside the classroom Prof. Edwards is very friendly and fun to talk to. Woulddefinitely be happy to see him get the SEAS Distnguished Faculty Award.” (Fall 2005)

Page 29: sedwards@cs.columbia.edu …sedwards/cv.pdf · [33]Stephen A. Edwards and Hiren Patel. MEMOCODE 2014 software design contest: Space invaders emulator. In Proceedings of the International

Stephen A. Edwards April 22, 2020 29

“Edwards was a great lecturer a great motivator and created a great class. The class was so formativein my CS educational career that I would consider it the most valuable and one of the most interesting.”(Fall 2005)

“His demeanor inside and outside of the classroom is truly one of the greatest I have seen in my four yearsat Columbia. It is one of the few classes in the engineering school I look forward to going to everydayjust to see what he’ll talk about next.” (Fall 2005)

“Prof. Edwards is a great lecturer and really knows his stuff. The class is really well organized.” (Fall2004)

“One of the best and most useful classes I have ever taken in the CS department.” (Fall 2004)

“I really enjoyed the classroom delivery. The professor did a great job in explaining the concepts. I neverfelt lost in the material.” (Fall 2004)

In 2011, I developed the Computer Science/Computer Engineering lab for ENGI E1102, the newGateway class. In it, I teach freshman engineering students how to reprogram an HP calculator to functionin RPN. The students learn basic C programming, simple algorithms and data structures, and some low-level hardware.

Semester F 2011 S 2012 F 2012Enrollment 22 16 27

I teach CSEE 3827: Fundamentals of Computer Systems—an introductory digital design and com-puter architecture course required of all CS, CE, and EE students. ∗Taught jointly with Martha Kim

Semester F 2011 S 2012 F 2012Enrollment 84 114∗ 74∗

Student Comments:

“Professor Edwards is extremely knowledgeable, a great teacher, and very funny. He definitely madeclass more interesting. His questions were extremely fair although challenging as well.” (Spring 2012)

“I would definitely nominate Professor Edwards for a distinguished faculty award, as he made one ofthe less interesting subjects in computer science into quite the engaging course. I very much enjoyed hisbringing in actual systems that had been developed, and used the components we were learning about inclass. His walking us through their design really gave me an appreciation for the difficulties of making acomplex computational system prior to the mid-80s.” (Spring 2012)

“Professor Edwards is one of the best professors that I have had at Columbia. He makes what could bea potentially impossible subject, approachable and easy. He is also hilarious, making lectures not onlyenjoyable at an academic level but also at a comedic one.” (Fall 2011)

“Really freaking good. Made concepts I didn’t understand in previous classes a lot clearer.” (Fall 2011)

“Prof. Edwards was extremely knowledgeable of the material. He made class interesting. His lectureswere matched by thorough powerpoint presentations which were helpful in understanding the material.Prof was extremely helpful during office hours and after class in reviewing material and assignments.Great professor.” (Fall 2011)

“Professor Edwards works to teach in an understandable yet memorable way. He works to come up withnew examples and analogies to drive points home, and he is helpful to the max. A groovy Professor, allaround!” (Fall 2011)

Page 30: sedwards@cs.columbia.edu …sedwards/cv.pdf · [33]Stephen A. Edwards and Hiren Patel. MEMOCODE 2014 software design contest: Space invaders emulator. In Proceedings of the International

Stephen A. Edwards April 22, 2020 30

COMS W4995–02: Languages for Embedded System DesignGraduate-level class of my own devising based on my book.

Semester F 2001 F 2002Enrollment 23 16

Student Teaching

University of California, Berkeley 1995Head teaching assistant.Supervised seven teaching assistants overseeing a 200-student upper-division logic design course (CS150, taught by Richard Newton). Designed and wrote labs. Conducted weekly recitation section, gavesubstitute lectures to entire class, graded tests.

California Institute of Technology 1990–1992Teaching assistant.Wrote assignments and conducted a recitation section for the 30-student microprocessor design course(CS 51, 52, and 53). Designed sound I/O circuitry and PC board for class project.