picture of me

Dr. Stephen Bloch

Department of Math and Computer Science
of Adelphi University
Garden City, NY 11530

* Weekly Schedule
* Contact Information
* Personal Background
* Teaching
* Research
* Student Advising
* Other Adelphi activities
* Real Life

This semester...

... I'm on leave from Adelphi, working at Google Maps. Contact me there at sbloch@google.com.

Contact info at Adelphi

Contact Information I can be reached by telephone at 516-877-4483, or (preferably) by email, sbloch@adelphi.edu. (See GPG key and Adobe Digital ID key). FAXes can be sent to me ("Attn: Dr. Bloch") at 516-877-4499.

Background

I've been at Adelphi since Fall, 1994. I spent 1993-94 at the University of Kentucky and 1992-93 at the University of Manitoba (where I was also a member of the Winnipeg Mountain Morris). I completed my Ph.D. in Mathematics (with a lot of graduate work and research in Computer Science, and a number of music classes) in 1992 at the University of California, San Diego. My undergraduate education (a double major in math and computer science, with a minor in music) was at Virginia Tech, from 1981-1986.

Book: Picturing Programs

My textbook, Picturing Programs: an Introduction to Computer Programming, is available in print from College Publications (at Kings College, London), and is also available for download from the textbook web site (donation requested). It's suitable for a high-school-level first programming course, or a "programming for non-majors" course at the college level, or (with some supplementary material) for a CS1 course at the college level.

Workshop: Program By Design

Since 2001 I've run a series of one-week summer workshops for high school, college, and University faculty on an effective approach to the teaching of introductory computer programming called Program By Design. See what past participants have said about the workshops and the approach. These workshops have been funded by two grants from the National Science Foundation and two from Google's CS4HS Program.

Teaching

Fall, 2014
On leave, working at Google.
Spring, 2014
CSC-MTH 156 "Discrete Structures", CSC-MTH 344 "Algorithms and Complexity", and CMIS 480 "Senior Seminar in Information Systems"
Fall, 2013
CSC 333 "Computer Graphics", CSC 343 "Data Structures", and CSC 371 "Computer Architecture".
Spring, 2013
CSC 160 "Computer Programming for Non-majors", CSC 171 "Introduction to Computer Programming", and CSC 344 "Algorithms and Complexity"
Fall, 2012
CSC 233 "Graphical User Interface Programming", CSC 343 "Data Structures", and CSC 371 "Computer Architecture".
Spring, 2012
CSC 160 "Computer Programming for Non-Majors", CSC 170 "Introduction to Computers and Their Applications", and CSC 272 "Principles of Programming Languages".
Fall, 2011
CSC 160 "Computer Programming for Non-Majors", CSC 270 "Principles of Programming Languages", CSC 271 "Unix and C++", and CSC 333 "Computer Graphics".
Spring, 2011
CSC 160 "Computer Programming for Non-Majors", CSC 272 "Principles of Programming Languages", and CSC 344 "Algorithms and Complexity"
Fall, 2010
CSC 270 "Survey of Programming Languages", CSC 233 "Graphical User Interface Programming", and release time to serve as Capstone Coordinator.
Spring, 2010
CSC 160 "Computer Programming for Non-Majors", CSC 272 "Principles of Programming Languages", CSC 344 "Algorithms and Complexity", CSC 480 "Senior Project"
Fall, 2009
CSC 270 "Survey of Programming Languages", MTH 355 "Symbolic Logic" , and release time to write a book.
Spring, 2009
CSC 171 "Introduction to Computer Programming", CSC 233 "Graphical User Interface Programming", and CSC/MTH 344 "Algorithms and Complexity".
Fall, 2008
CSC 160 "Computer Programming for Non-Majors", CSC 270 "Survey of Programming Languages", and CSC 271 "Software I: Unix".
Spring, 2008
CSC 160 "Computer Programming for Non-Majors", CSC 272 "Principles of Programming Languages", CSC 344 "Algorithms and Complexity", and MTP 621 "Introduction to Mathematical Logic".
Fall, 2007
CSC 270 "Survey of Programming Languages", CSC 271 "Software I: Unix and C", and CSC 170 "Introduction to Computers and Their Applications".
Spring, 2007
CSC 160 "Computer Programming for Non-Majors", CSC 233 "Graphical User Interface Programming", and CSC 344 "Algorithms and Complexity".
Fall, 2006
CSC 172 "Algorithms and Data Structures" (lecture and lab), and CSC 270 "Survey of Programming Languages".
Spring, 2006
CSC 171 "Introduction to Computer Programming" (lecture and lab sections), and CSC 344 "Algorithms and Complexity".
Fall, 2005
CSC 270 "Survey of Programming Languages", CSC 271 "Software I: Unix", and CSC 333 "Computer Graphics and Image Processing".
Summer, 2005
CSC 160 "Computer Programming for Non-majors".
Spring, 2005
CSC 160 "Computer Programming for Non-Majors", CSC 233 "Graphical User Interface Programming", and CSC 344 "Algorithms and Complexity".
Fall, 2004
on sabbatical
Summer, 2004
Computer Programming for Non-Majors (aka A First Course in Computer Programming).
Spring, 2004
Introduction to Computers and their Applications, Introduction to Computer Programming, and Algorithms and Complexity.
Fall, 2003
A First Course in Computer Programming, Survey of Programming Languages, and Symbolic Logic.
Spring, 2003
A First Course in Computer Programming, Introduction to Computers and their Applications, and Algorithms and Complexity.
Fall, 2002
two sections of A First Course in Computer Programming and one of Introduction to Computer Programming
Spring, 2002
A First Course in Computer Programming, Introduction to Algorithms and Data Structures, and Algorithms and Complexity.
Fall, 2001
two sections of A First Course in Computer Programming, one of Introduction to Algorithms and Data Structures, and one of Symbolic Logic.
Spring, 2001
Introduction to Algorithms and Data Structures (2 sections, MWF 10:00-10:50 and MW 2:25-3:40) and Algorithms and Complexity (1 section, MWF 12:00-12:50).
Fall, 2000
Introduction to Computer Programming (2 sections), Introduction to Algorithms and Data Structures (1 section), and Survey of Programming Languages (1 section).
Spring, 2000
Introduction to Algorithms and Data Structures (2 sections) and Algorithms and Complexity.
Fall, 1999
Introduction to Computer Programming (3 sections) and Computer Graphics. I was previously scheduled to teach Survey of Programming Languages and a Freshman Seminar on Computers and Telecommunications in Society, but those courses were reassigned.
Spring, 1999
Introduction to Algorithms and Data Structures and Systems I.
Fall, 1998
Introduction to Computer Programming (3 sections) and Computer Organization and Assembler Language, and supervised an independent study and an Honors thesis.
Spring, 1998
Software II, Systems II, Operating Systems, and directed a couple of graduate students in Design and Analysis of Algorithms.
Fall, 1997
Computer Graphics, Software I, Systems I, and Symbolic Logic.
Summer I, 1997
Programming in Java.
Spring, 1997
Algorithms and Complexity, Software II, and Systems II.
Fall, 1996
Survey of Programming Languages, Software I, and Systems I.
Summer, 1996
the MTP course in Mathematical Logic.
Spring, 1996
Software II, Systems II, Senior Project II, and the Honors Seminar.
Fall, 1995
Software I, Systems I, and Computer Graphics.

Research

Most of my academic research work concerns itself with computational complexity theory, mathematical logic, or computer science pedagogy. A bibliography is available in various formats.

I have an Erdös number of 3, through two paths:
Stephen Bloch -> Jonathan Buss -> Jeff Shallit -> Paul Erdös
Stephen Bloch -> Judy Goldsmith -> Ken Kunen -> Paul Erdös

My academic lineage (from student to doctoral advisor) runs as follows (according to the Mathematics Genealogy Project):
Stephen Bloch -> Sam Buss -> Simon Kuchen -> Alonzo Church -> Oswald Veblen -> E.H. Moore -> H.A. Newton -> Michael Chasles -> Simeon Poisson -> Joseph Lagrange and Pierre-Simon Laplace.
From Lagrange, it runs to Leonhard Euler -> Johann Bernoulli -> Jacob Bernoulli and Nikolaus Eglinger.
Before that, the trail branches a lot, but some other names along the way are Jean Le Rond d'Alembert, Gottfried Wilhelm Leibniz, Nicolaus Copernicus, and Johannes Müller Regiomontanus.

The two preeminent professional societies for computer scientists are the Association for Computing Machinery and the somewhat more academically-focused Computing Research Association. Within the ACM, the Special Interest Group on Algorithms and Computation Theory, or ACM SIGACT, concentrates on my area of theoretical computer science.

One of the main professional societies for mathematicians is the American Mathematical Society. Within my mathematical specialty of mathematical logic, the main professional society is the Association for Symbolic Logic.

Student Advising

I spend a significant amount of my time advising students on course selection, graduate schools, and careers.
For course selection, computer science students are of course welcome to talk to me in my office hours or by appointment, but you can get a lot of the information you need from the CS Program requirements and the department's schedules for upcoming semesters.

Students considering graduate school in computer science should look at the CRA's information resources page, which includes a complete list of Ph.D.-granting computer science programs in North America and a database of information about those departments, so you can decide which would meet your needs.

The Math/CS Department has a job board, maintained by AfterCollege Job Resource, where you can post your resume and look at job postings that employers have brought to our attention. Here's a list of career centers and job recruiters, for the benefit of students looking for jobs. The Association for Computing Machinery also provides a list of (largely, but not entirely, academic) job ads, as well as career counseling and resume-posting services for members (I think; I haven't tried it). For those considering academic jobs, I can also point you to the Computing Research Association and the Chronicle for Higher Education Job Page.

I serve as Faculty Advisor to the Adelphi Computer Club, one of whose current projects is a Web server for Adelphi student organizations. The Club is also planning to become an official Student Chapter of the ACM some day. I'm also Faculty Advisor and Coach for the Adelphi team in the ACM Intercollegiate Computer Programming Contest. We've participated in the Greater New York Regional Contest each year since 1994 (maybe earlier, but I wasn't here then).

Other Adelphi activities


I'm a member of the College of Arts and Sciences Academic Affairs Committee, also known as ASAAC , and co-Chair of the University Assessment Committee.
Since computer science does not exist in a vacuum, I've started taking quite an interest in its social implications, in particular issues of privacy and civil liberties. The leading professional organization dedicated to these issues is ACM SIGCAS, the ACM Special Interest Group on Computers And Society.

An enormous list of related reading is at Herman Tavani's Bibliography of Computing, Ethics, and Social Responsibility, and a series of reports on integrating ethical and social issues into computer science education is at the ImpactCS Page.

In the run-up to the 2004 elections, I did some amateur research on Presidents and budget deficits; here are my latest findings.


Real Life

picture of Deborah and Odo I live in Richmond Hill, Queens, New York; if you're coming to visit, see these directions. On July 8, 1995, I was married to Deborah Peters. At right is a picture of Deborah with Odo, our first retired racing greyhound, who departed this life in October, 2003. Our second, Basbeaux, passed on in August, 2004. We have two more -- Ludo and Thibaut -- but they don't have Web pages yet. We've written a page of pictures and information about our greyhounds.

We started a low-carb diet in April 2003. We both quickly lost a bunch of weight and several clothing sizes, and have kept them off for a year or more; I also saw my blood cholesterol improve (after a brief spike). But I really like baking and eating bread, so I came up with a high-protein, high-fiber, low-carb bread recipe; use it in good health.

Many of my hobbies at the moment involve re-creating various aspects of everyday life in the Middle Ages and Renaissance, particularly music, cooking, dance, and tent design. I serve as Webmaster for the Crown Province of Østgarðr, the greater New York City area chapter of the Society for Creative Anachronism. I'm also a member of the 14th-century living history troupe La Belle Compagnie and the tourneying company The Company of St. Michael (where my wife and I provide shawm music to accompany tourneys and pageants).


You are visitor number 50862 to this page since July 12, 2000. (There were thousands before that, but the counter file got trashed. :-( )
Best Viewed With Any Browser We rated with RSACi
Last modified: Tuesday, 22-Feb-2011 09:25:32 EST
Stephen Bloch / sbloch@adelphi.edu
A PGP key is available by finger.