Hromcik is an AP Computer Science teacher at Arlington High School
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
...back to TA/CS web site
...back to TA/CS web site