Dr. Stephen Bloch
-
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
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.
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.
- 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.
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.
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).
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.
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. :-( )
Last modified:
Tuesday, 22-Feb-2011 09:25:32 EST
Stephen Bloch /
sbloch@adelphi.edu
A PGP key is available by finger.