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.

Good morning (afternoon). My name is Judith Hromcik and I teach AP Computer Science at Arlington High School in Arlington, TX. I have taught computer science since 1989. I am a College Board AP Computer Science consultant, a reader/leader for the AP Computer Science exam, and a former member of the AP Computer Science Development Committee. I want to thank you for the opportunity to speak today in support of Karen North's petition to allow computer science as an option for the fourth year of mathematics and/or the fourth year of science for both the recommended and distinguished achievement high school graduation programs.

 

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 AP Computer Science curriculum.

 

I have included in my handouts a copy of the AP Computer Science A and AB topic outline. The TEKS for Computer Science I and II are aligned very closely to these topics. In fact, if a school is teaching AP and/or IB Computer Science, the TEKS state, "School districts may use the knowledge and skills described in subsection (c) of this section, the computer science course descriptions for the College Board Advanced Placement or International Baccalaureate programs, or a combination thereof." In my school district, as in many others, we use the AP Computer Science topic outline and the IB topic outline. We are teaching equivalent college level computer science courses to high school students.

 

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:

  • Constant
  • Linear
  • Logarithmic
  • N log(N)
  • Quadratic
  • Exponential

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 Science AB students must change the implementations of the environments and study how this affects performance.

 

Thank you again for allowing me to speak to you today.

 

Presented to the Texas State Board of Education (Committee of the Whole) 9/14/06

...back to TA/CS web site