|
Prof. Tim Davis,
P.O. Box 116120 University of Florida Gainesville, FL 32611-6120 phone (352) 392-1481, fax (352) 392-1220 email: my last name AT cise.ufl.edu |
Computational Thinking and Thinking About Computing
Speaker: Dr. Jeannette M. Wing
President's Professor of Computer Science, Computer Science Department,
Carnegie Mellon University.
Assistant Director, Computer and Information Science and Engineering
Directorate, National Science Foundation
Place: Larsen Hall 234
Time: 10:30am - 11:30am, 4/17/2008, Thursday
Abstract: My vision for the 21st Century: Computational thinking will be a fundamental skill used by everyone in the world. To reading, writing, and arithmetic, let's add computational thinking to every child's analytical ability. Computational thinking has already influenced other disciplines, from the sciences to the arts. The new NSF Cyber-enabled Discovery and Innovation initiative in a nutshell is computational thinking for science and engineering. Realizing this vision gives the field of computing both exciting research opportunities and novel educational challenges.
The field of computing is driven by technology innovation, societal demands, and scientific questions. We are often too easily swept up with the rapid progress in technology and the surprising uses by society of our technology, that we forget about the science that underlies our field. In thinking about computing, I have started a list of "Deep Questions in Computing," with the hope of encouraging the community to think about the scientific drivers of our field.
You need to modify the DiGraph.java code and add another "color", call it "color2". (if you modify any file, of course, you need to provide it to us to grade).
There are two kinds of markings the nodes need to have (that is, two "color" variables), and three ways they are used:
Here is the pseudo-code that the book describes, except that I have added two lines that refer to the original "color" (used only within dfsVist and pathConnected):
set color2 of all nodes to WHITE
for each node v in G
if color2 of node v is WHITE
scSet = empty set
set "color" of all nodes to WHITE
R = the set of all nodes from dfsVisit (G,v)
for each node v in R
if color2 of node j is WHITE
set "color" of all nodes to WHITE
if path j to v exists (use your new pathConnected for this)
add j to set scSet
mark color2 of j to BLACK
endif
endif
endfor
add scSet to the result, "components"
endif
endfor
public static <T> void strongComponents (DiGraph<T> g, ArrayList<Set<T>> component)and not:
public static <T> void strongComponents (DiGraph<T> g, ArrayList<T> component)
java Program15_2 42
and which also determines the run time. No other change to
Program15_2.java are needed.