Core Practice: Developing and Using Abstractions
 
 Survey Title:Computer Science Standards Development - Public Survey
 
 Survey Properties:
 
 Total Respondents:1401
 Responses By Question Analysis:
 

 
   Demographic Information
 
 2.  County
  Response Total Response Percent
Apache Response equal to 1 3 1%
Cochise Response equal to 3 11 3%
Coconino Response equal to 2 8 2%
Gila Response equal to 0 2 0%
Graham Response equal to 0 2 0%
Greenlee Visual spacer 0 0%
La Paz Visual spacer 0 0%
Maricopa Response equal to 65 269 65%
Mohave Response equal to 1 3 1%
Navajo Response equal to 2 10 2%
Pima Response equal to 16 65 16%
Pinal Response equal to 3 12 3%
Santa Cruz Response equal to 2 7 2%
Yavapai Response equal to 1 6 1%
Yuma Response equal to 3 11 3%
Out of State Response equal to 2 7 2%
Total Respondents  416 100%
 
 3.  Visitor Role
  Response Total Response Percent
K-12 Teacher Response equal to 65 269 65%
K-12 Administrator Response equal to 8 35 8%
K-12 Parent/Guardian Response equal to 5 19 5%
K-12 Student Visual spacer 0 0%
Higher Education Response equal to 6 26 6%
Retired Educator Response equal to 2 10 2%
Business Representative Response equal to 3 12 3%
Community Member Response equal to 4 18 4%
Elected Official Response equal to 0 1 0%
Media Response equal to 0 1 0%
Other Response equal to 6 25 6%
Total Respondents  416 100%
 
 4.  How important is it to develop standards that include the practice of Developing and Using Abstractions? Standards for Developing and Using Abstractions would help students extract common features from interrelated processes, incorporate existing technological functionalities into new designs, create modules and points of interactions that can reduce complexity, and model processes and simulate systems.
Response TotalResponse Percent
Very Important 12038%
Important 15147%
Unimportant 4314%
Very Unimportant 41%
Total Respondents318
(skipped this question) 1083
 5.  Please add any comments about developing standards that include the practice of Developing and Using Abstractions.
1.I very much value systems knowledge, so think that this would be a great core practice for every student to have knowledge about.
2.In order to have new ideas we must foster an environment that does too.
3.Developing using abstraction is a key problem solving technique and has application far beyond the technical disciplines.
4.Right up there with "recognizing and defining computational problems," abstracting information and patterns from perceptual sets is key in being able to write working code.
5.Only some students would benefit.
6.This is not appropriate at the elementary level.
7.Another major construct of Computational Thinking, like algorithms.
8.This skill helps students apply their foundational knowledge to solve new problems.
9.includes some of the concepts of logical thinking, language acquisition, etc
10.I don't know
11.This is not applicable to elementary age students.
12.Elective.
13.Since I am unfamiliar with this, I almost wish I could put a "not sure".
14.I would think this would connect with mathematics. Discrete Math should be part of this in K-12
15.Yes, this touches upon some of the things I was saying in the "Other" box from the previous page. Students need to be able to abstract away from their code and think logically through a program execution. They need to be designing by contract. They need to be building correct-by-design software.
16.The world is also shifting to a more service-oriented design approach with most applications. Being able to connected these abstracted services into a feasible application is also an essential skill to harness.
17.Encouraging students to create and contribute to open-source projects would greatly help them understand proper development practices and would give them a significant advantage on their college applications.
18.I believe this is what we are doing as we are answering these questions....LOL
19.Would this need to be a subset under areas like networking and programming?
20.This does not seem to be at the K12 level.
21.Good to include but in my experience most high school classes will not be teaching students to develop programs that are complex enough to require this. Better to require that a few things be done well and not to prevent more advanced programs from tackling these issues.
22.I'm not even sure what this is really asking . . . . .
23.This is a ridiculous idea, especially at the younger levels when students aren't developmentally ready to take abstract ideas on.
24.Some of this may differ by content area...
25.Solutions to complex computational problems are often complex themselves. As programs grow, it becomes impossible for one person to hold the entirety of the solution in their head. The only way to understand the immensity of large code bases is to be able to build and apply abstractions, breaking the solution down into chunks and abstracting those chunks once they are solved.
26.The ability to create abstractions is useful for other disciplines than computing, too.
27.Refer to the College Board's and CTSA's standards for APCS Principles
https://www.csteachers.org/
28.In technology change is inevitable, constant, and sometimes instant. In my professional career I can absolutely say that if more attention was given abstractions and a closely related concept of loose coupling that business would be more productive and spend less money. Managing and planning for constant change is a critical skill.
29.This seems targeted at the high school level mainly. Doesn't this go mainly to developmental psychology of the students. Getting them to a point where they can think critically about abstract concepts. Seems like this is just be collecting all the education they've had in language arts, mathematics, and the sciences.

"Use everything you know."

It's great you have it here because this is important, just not purely for CompSci. This really comes up when you are using computers to assist in other scientific fields.

Again, geographer (GIS) bias speaking. We use computers to help us with complex modeling and simluation of geogrpahic events. Be it water flow/sheds and flooding, to the migration and movement of people (including road and traffic management).
30.This practice directly follows from others like developing algorithms and programming. Being able to think abstractly is very important in a computer based profession. Another consideration here would be teaching Model Driven Development as an advanced topic. That is the concept of building model and using those models to generate software or other artifacts.
31.Problem solving requires abstraction if you are looking to develop creative and innovative thinking.
32.[No Answer Entered]
33.This sounds like design thinking.
34.This would align with my recommendation for "
35.only if other standards are mastered first. too complex
36.Is this really a high school standard? It sounded (when reading the descriptors) like a college degree program.
37.Third most important
38.The increasing level of and access to sophisticated computational capacity, creates more need and provides more opportunity for broader application of abstraction capabilities. More jobs and opportunities for skills are moving from rote task areas and job functions to those requiring application of and integration with more abstract functions.
39.I can understand why it is appropriate for a student to learn these higher level computing skills, however, this might be best suited to those students in career pathways that would require the use of these skills.
40.What role will this have in regards to the Arizona State Technology standards that many of us are already teaching?
41.Very difficult for Elementary students.
42.as above
43.I think this skill would be more successful at the middle school and high school levels. Abstractions are difficult for younger students developmentally. However, I could see this being woven into STEM learning.
44.This should be happening as an application of basic computer science skills in electives classes.
45.Ideally, we would integrate this with algebra concepts.
46.Students must always be encouraged to develop new ideas and to create new things.
47.This doesn't seem like it fits under computer science as well as it fits under the content are of science.
48.This is really up to the student and how creative they are, hat has to be learned is how to thing forward by creating. This takes practice and many hour of teaching how to look toward creating.
49.at upper grades
50.These compliments the AP CS Principles requirements and creating portfolios
51.I love well organized and well architect-ed systems; less error-prone, more scalable, easier to understand / better readability
52.Systems thinking and dynamic modeling have a place in the learning, but I am wondering with so many standards, what will be taken out in order to fit all of this in.
53.This would be important for older students, such as high school aged
54.higher grade levels
55.project based learning
56.This is very confusing as written and vague. I do feel this description lacks focus and room for creativity and inspiration within the standard.
57.Key to reuse of code and coding architectures
58.This is another area where it may not be helpful to try to write down specific standards.
If a student can write a program to solve a complex problem using a high level language, they are using abstraction.
Total Respondents  58