Ph.D. Mathematics, Univ. California San Diego (1992)
B.S. Math and Computer Science, Virginia Tech (1986)
Algorithms And Complexity
Computer Programming For Non-Majors
Graphical User Interface Programming
Introduction To Computer Programming (lecture)
Computational complexity, design and analysis of algorithms, logic, computer programming pedagogy
Computational complexity theory, logic, computer science pedagogy
* Co-PI on NSF/ESI grant "Computing Education for Every Student in Secondary Schools", $1,600,000, 2001-2005.
* PI on NSF/DUE grant "Redesigning Introductory Computing: The Design Discipline", $500,000, 2007-2012.
* Co-PI on Google "CS4HS" grant, $15,000, 2011-2012.
Showing first 5 of 7.
Bloch, S. (2003), Teaching linked lists and recursion without conditionals or null. Journal of Computing Sciences in Colleges, 18:5, 96-108.
Ambainis, A, Bloch, S, and Schweizer, D. (2002), Delayed binary search, or playing twenty questions with a procrastinator. Algorithmica, 32:4, 641-651.
Bloch, S. (2000), Scheme and Java in the First Year. Journal of Computing in Small Colleges, 15:5, 157-165.
Bloch, S, Buss, J, and Goldsmith, J (1998), Sharply bounded alternation and quasilinear time. Theory of Computing Systems, 31(2), 187-214.
Bloch, S. (1998), On parallel hierarchies and R^i_k. Annals of Pure and Applied Logic, 89(2/3), 231-273.
Bloch, S, Buss, J, and Goldsmith, J (1994), How hard are n^2-hard problems? SIGACT News, 25(2), 83-85.
Bloch, S. (1994), Function-algebraic characterizations of log and polylog parallel time. computational complexity, 4(2), 175-205.
Showing first 5 of 7.
Stephen Bloch (2011). Program By Design: Graphics-First Programming Without Drowning in Syntax. In CS & IT Symposium (pp. 3-hour workshop). Columbia University.
Stephen Bloch (2010). TeachScheme, ReachJava: Introducing Object-Oriented Programming Without Drowning in Syntax. In Consortium for Computing Sciences in Colleges East (pp. 3-hour workshop). Juniata College.
Bloch, S. (2008). TeachScheme, ReachJava: Introducing OOP Without Drowning in Syntax. In Consortium for Computing Sciences in Colleges Northeast (pp. Tutorial workshop). Staten Island, NY.
Bloch, S. (2006). TeachScheme!: a Functional-First Approach to Beginning Programming. In Consortium for Computing Sciences in Colleges East (pp. Tutorial workshop). Fredericksburg, VA.
Bloch, S. (2003). Teaching linked lists and recursion without conditionals or null. In Consortium on Computing Sciences in Colleges Northeast (pp. 96-108). Providence, RI.
Bloch, S, Fisler, K, & Proulx, V. (2003). Introductory computer science with focus on program design. In Consortium for Computing Sciences in Colleges Northeast (pp. Tutorial session). Providence, RI.
Ambainis, A, Bloch, S, and Schweizer, D. (1999). Playing twenty questions with a procrastinator. In Symposium on Discrete Algorithms (pp. S844-S845). Philadelphia.
Sven Dietrich (1997). An A Formal Analysis of the Secure Sockets Layer Protocol. Adelphi.
Other Scholarly/Artistic Work
Book review of Banks, Jon, The Instrumental Consort Repertory of the Late Fifteenth Century; review appeared in Sixteenth Century Journal XL/2 pp. 445-446, 2009.
Publicity co-Chair, CCSCNE conference 2006.
Papers co-Chair, CCSCNE 2008 and CCSCNE 2009.
Licenses & Certifications
Sun Certified Java Programmer, 2004
CompTIA Network+ Certification, 2004