Judith
Hromcik is an AP Computer Science teacher at Arlington High School
in Arlington,
Texas. Judy was a member
of the AP Computer Science Development Committee from 2001 to 2005,
has been a Reader
and is currently
a Question Leader
at the AP Computer Science exam reading. She has been a College Board
consultant since 1995 and has conducted many Computer Science Summer
Institutes. Judy is the College Board Southwest Region 2000 recipient
of the Special Recognition Award for Computer Science. Judy earned
a BS in Mathematics and a Masters of Education in Teaching (Mathematics
and Computer Science) from The University of Texas at Arlington. My other colleagues
will speak to about why computer science should count as a fourth science
or fourth mathematics course. My
goal today is to tell you why computer science is a rigorous course
that requires reasoning beyond an Algebra II level and how our courses
correlate to the I have included in
my handouts a copy of the These computer science
courses are rigorous. In computer
science our students are taught how to solve problems, algorithms,
number systems, probabilities with randomness, recursive functions,
iteration, Boolean logic, algorithmic analysis, and much more. Boolean algebra is
the logic of a computer. Answers
are true or false – no maybe. Computer
Science courses are the only math/science courses that formally teach
Boolean algebra. One of our
precalculus books has Boolean algebra in an appendix. For
many students, CS classes will be the only classes that formally teach
Boolean algebra. Iteration, along with
Boolean logic, is a basic building block of the computer science education. We use iteration to find prime numbers, to
compute series, factorial, exponential growth and decay, summations,
to search for data, to sort data, and so on. We
teach recursion to help solve sets of problems that are difficult to
solve iteratively. We teach algorithmic
analysis or Big-Oh analysis of algorithms. To
understand Big-Oh, students must learn and understand many parent functions
that are taught in precalculus and calculus:
It is through understanding
these functions that students learn how the growth in the amount of
data to be processed affects the amount of time it will take an algorithm
to execute. In addition to these
topics, students must learn how to organize the data they are processing. What is the best data structure in which to
store the data given time constraints or space constraints? What is the best data structure to use given
the frequency that you will access any given element in the data structure,
print the elements in order, or find a specific value associated with
an element? Justify your answer. These are not trivial
activities. These are activities
that are a part of computer science education. Our students also
study a large case study, the Marine Biology Simulation. This includes testing the existing program
with different data sets, modifying existing code, making conjectures
and testing again. It includes
creating new species of fish with different properties and actions,
letting them loose in the environment, and seeing how all the species
interact with each other(and testing – more testing). Computer Thank you again for
allowing me to speak to you today. Presented to the |