Empirical Determination of Competence Areas to Computer Science Education
The authors discuss empirically determined competence areas to K-12 computer science education, emphasizing the cognitive level of competence. The results of a questionnaire with 120 professors of computer science serve as a database. By using multi-dimensional scaling and cluster analysis, four competence areas to computer science education characterized by the degree of process-related coverage and educational accessibility can be defined: Information technology, computer communication and cooperation, model building, and software engineering. These competence areas consist of central content concepts of computer science (e.g., algorithm, system, and process) combined with central process concepts of computer science (e.g., analyzing, classifying, problem solving, and posing).
- Research Article
- 10.5861/ijrsc.2014.932
- Dec 2, 2014
- International Journal of Research Studies in Computing
In this article empirically determined, process-related competence areas to computer science education at primary and secondary school levels are discussed. Based on the results of interviews with 120 professors of computer science and using multi-dimensional scaling and cluster analysis, six process-related competence areas to computer science education characterized by the degree of content-related coverage and educational accessibility can be defined: critical thinking, ordering, abstracting, problem solving, analyzing and collaborative construction. These competence areas consist of central process concepts of computer science (e.g., classifying, problem solving and posing) combined with central content concepts of computer science (e.g., algorithm, system, process).
- Research Article
1268
- 10.1137/0210055
- Nov 1, 1981
- SIAM Journal on Computing
We show that it is NP-complete to determine the chromatic index of an arbitrary graph. The problem remains NP-complete even for cubic graphs.
- Research Article
220
- 10.1137/0208008
- Feb 1, 1979
- SIAM Journal on Computing
The problem of finding a total ordering of a finite set satisfying a given set of in-between restrictions is considered. It is shown that the problem is $NP$-complete.
- Research Article
2
- 10.34190/icgr.7.1.2260
- Apr 18, 2024
- International Conference on Gender Research
Computer science is a higher education domain that still show a significant male dominance. Many research studies have highlighted the importance of diversity and gender balance in computer science related areas such as software engineering and system development. However, there is still a well-identified problem that university programmes and courses on computer science fail to attract the female audience. The objective of this study is to investigate the concept of gender-inclusive computer science (CS) education with the aim of broadening participation in CS courses and programs. This is conducted through a literature study, initially focusing on keywords and research areas, and subsequently searching into existing research. The research question that guided the study was: "What concepts can be found in literature to make computer science education more gender-inclusive?". Data were analysed thematically in a two-step analysis process inspired by the grounded theory methods of Open coding and Axial coding. Findings suggest that there is significant room for learning in this field, particularly from Critical CS education studies. The Open coding analysis showed that the findings can be categorised into eight main themes. In the Axial coding the themes were merged, refined, renamed, and centred around the main axial theme of 'Epistemological pluralism'. Other essential themes that all are related to the axial main theme were: 'Design and creativity', 'Bias awareness and ethics', 'Collaboration and communication', 'Self-regulated learning', 'Real-world applications', and 'Role models and mentorship'. The result of this study is presented through a visual model that illustrates essential aspects of inclusive computer science education. The paper also proposes various directions for future research.
- Research Article
130
- 10.1145/2160547.2160551
- Apr 1, 2012
- ACM Transactions on Computing Education
Many students hold incorrect ideas and negative attitudes about computer science (CS). In order to address these difficulties, a series of learning activities called Computer Science Unplugged was developed by Tim Bell and his colleagues. These activities expose young people to central concepts in CS in an entertaining way without requiring a computer. The CS Unplugged activities have become more and more popular among CS educators and several activities are recommended in the ACM K-12 curriculum for elementary schools. CS Unplugged is used worldwide and has been translated into many languages. We examined the effect of the CS Unplugged activities on middle-school students’ ideas about CS and their desire to consider and study it in high school. The results indicate that following the activities the ideas of the students on what CS is about were partially improved, but their desire to study CS lessened. In order to provide possible explanations to these results, we analyzed the CS Unplugged activities to determine to what extent the objectives of CS Unplugged were addressed in the activities. In addition, we checked whether the activities were designed according to constructivist principles and whether they were explicitly linked to central concepts in CS. We found that only some of the objectives were addressed in the activities, that the activities do not engage with the students’ prior knowledge and that most of the activities are not explicitly linked to central concepts in CS. We offer suggestions for modifying the CS Unplugged activities so that they will be more likely to achieve their objectives.
- Conference Article
- 10.1145/2157136.2157394
- Feb 29, 2012
Auburn University's Robo Camp K12 outreach program integrates various robotics platforms to maximize students' critical thinking and creativity development. This work presents how robotics could be used to teach students computer science concepts and skills through implementing the Computer Science Unplugged (CSU) activities. CSU provide an insightful learning environment where students learn computer science concepts through some playful, coordinated and stress free activities. Implementing such activities using robots resulted in multiple benefits: 1) students acquired advanced computer science notions without undergoing the high stress levels associated with such activities and 2) students maintained high levels of motivation and concentration during the entire six weeks of the camp.
- Book Chapter
1
- 10.1007/978-3-319-09958-3_6
- Jan 1, 2014
Vocational and general computer science education in Germany use different teaching approaches in some areas to educate their students. Despite all differences of the school types and their goals of education, there are concepts and ideas which have separately developed, but cover similar pedagogical, basic concepts. The concept of “Learning Field-orientated Computer Science Education” (LFCS – “Lernfeldkonzept”) in vocational computer science education and “Computer Science in Context” (CSiC – “Informatik im Kontext”) in secondary education are such related concepts, as both follow the idea of teaching computer science in an activity-orientated and multidimensional way by developing suitable contexts and learning situations. In this paper we first explore the different aspects of both concepts. Afterwards we compare the similarities and differences of the concepts of “Learning Field-orientated Computer Science Education” and “Computer Science in Context”. As result of this comparison, we derive requirements for a general model of these situated and activity-orientated teaching concepts in computer science education.KeywordsVocational EducationSecondary EducationComputer Science EducationLearning FieldsContextualisationSituated LearningComputer Science in ContextActivity-orientated Learning
- Research Article
27
- 10.1109/te.2010.2062184
- Aug 1, 2011
- IEEE Transactions on Education
Constructivist approaches to computer science education emphasize that as well as knowledge, thinking skills and processes are involved in active knowledge construction. K-12 computer science curricula must not be based on fashions and trends, but on contents and processes that are observable in various domains of computer science, that can be taught at every intellectual level, that will stay relevant in the longer term, and that are related to everyday language and/or thinking. Only recently, two empirically determined lists, one of central content concepts (algorithm, computer, data, system, etc.) and another of central process concepts (problem solving and problem posing, analyzing, classifying, generalizing, etc.), have become available for computer science education. This paper tackles the problem of finding content and process concepts to be taught in combination. Computer science experts are surveyed in order to identify combinations of content and process concepts-so-called blocks-that are relevant to computer science education. By using cluster analyses, 15 central blocks for teaching computer science in schools are determined. The results of this study may serve as a reference system for the systematic design of instruction in K-12 computer science education.
- Research Article
17
- 10.28945/1604
- Jan 1, 2012
- Issues in Informing Science and Information Technology
Introduction The computing sciences are complex fields that combine both theoretical and practical components. Students successfully completing an undergraduate computer science program should have instruction in both the mathematical and theoretical foundations of computing as well as the more practical aspects of how to effectively use computers to solve problems. Software engineering, as its name implies, is more directed toward the practical aspects of how to successfully develop complex systems that meet user requirements and are reliable, usable, and maintainable. Computing Curricula 2005 recognizes the need for more extensive education to produce professional engineers than what can be reasonably provided in a typical computer science program (ACM, 2005). As such, they propose engineering be treated as a totally separate discipline within computer science education. However, while there has been some debate about the exact role engineering should have in a computer science program (Curran, 2003), the ACM Curricula has maintained the importance of engineering to all computer science students and has kept it as a core element in computer science education (ACM, 2008). For purposes of this paper, we will focus on the teaching of engineering within the computer science discipline. Unlike other topics in the computer science major, the techniques and principles taught in engineering are often first developed and refined in industry before arriving in the classroom. As commercial development techniques and tools evolve, so pedagogical methodologies change. Computer science educators have taken different approaches to teaching engineering over the years, both as a result of changing methodologies as well as individual beliefs about what teaching methods work best in a particular academic environment. This paper is a case study in applying current productivity tools (specifically Redmine) in a engineering course at our institution. The objectives of the study are to investigate how to integrate the tools into the existing structure and evaluate their impact. We describe our experience in recently changing our approach to teaching engineering to be more aligned with current tools and how to effectively use them in an academic environment. The paper begins with an overview of engineering teaching methods, then describes our traditional approach and motivation for changing, how the new approach was integrated into the course, our experience with the change, and, finally, our plans for the future Software Engineering Education Background Software Engineering is defined as the application of a systematic, disciplined, quantifiable approach to the development, operation and maintenance of software (Petkovic, Thompson, & Todtenhoefer, 2006, p. 294). The need to teach engineering in colleges has been identified for decades. Stiller & LeBlanc (2002) point out as far back as the early 1990's, ACM Computing Curricula suggested that the at least one engineering course should be required in accredited computer science programs. They point out that the number of large projects in industry demand this and suggest that the proof of the success of these accredited computer science programs should be seen in the reduction of failure in the design and operation of large computer programs. Software engineering programs can be thought of as a replacement for the old apprenticeship programs which taught the trades to workman (Stroulia, Bauer, Craig, Reid, & Wilson, 2011). The issue, however, is how to bring this effect into the classroom. Many educators feel that current practices of teaching engineering are not adequately preparing students for the real world of development. Nurkkala & Brandle (2011) summarize the problems with current teaching approaches: * No product--students are creating projects, not commercial grade products * Short duration--single semester, or two-semester, courses impose an artificial time constraint * High turnover--new students each semester means the talent pool remains shallow and student skills are not developing based on previous experience * Low complexity--by necessity given time constraints and skill sets * No maintenance--as a result of short duration, students do not experience a key aspect of development, the maintenance phase * No customer--most engineering projects do not interface with a real customer To address these shortcomings, different approaches to teaching engineering have emerged and been proposed in the literature. …
- Book Chapter
1
- 10.1007/bfb0030583
- Jan 1, 1997
T e c h n i q u e s a n d C o n t i n u o u s S o f t w a r e E n g i n e e r i n g The notion of abstract data types, developed and formalized already in the 70'ies, is still one of the most important concepts in Computer Science, especially in Theoretical Computer and Software Development Science. In fact, abstract data types have been extended by various parameterization, transformation and modularization concepts which are most important for horizontal and vertical structuring of software systems. More recently abstract data types, mainly used to model static aspects, have been extended by state-oriented and dynamic aspects, leading to the concept of dynamic algebras and dynamic abstract data types. On the other hand the object-oriented paradigm has turned out to be one of the most important concepts for architectural design and programming of all kinds of software systems, especially supported by the commercial success of C++. In fact, there are several formal concepts, like classical and dynamic abstract types, process algebras, co-algebras, actor systems and attributed graph transformations, which have the capability of modelling certain aspects of objectoriented techniques. But it is still open and considered as an important future trend by Horst Reichel, Gerhard Goos and others, to develop a widely accepted formal model for the object-oriented design and programming paradigm. Another important aspect in the area of software engineering, database and information systems as well as communication technology and computer networks is the problem of continuous change of requirements for already existing software systems in all areas of administration, commercial services and industry. This means that today maintenance of software includes re-engineering and hence continuous software engineering. Although this problem is known and faced in practice since the very beginning it has become a matter of research only recently. Unfortunately, formal methods for software development have been almost ne-
- Research Article
4
- 10.1080/0899340960070107
- Jan 1, 1996
- Computer Science Education
Industrial software development today requires a fundamental education in computer science as well as the ability to work productively and collaboratively in a team environment. Employers will therefore favor graduates who have mastered computer science and software engineering concepts and can apply them while developing a software system. To produce computer science graduates possessing the skills necessary to succeed in the workplace, team‐oriented software engineering courses with real projects (and with real clients) are increasingly emphasized. It is, however, difficult to successfully present a software engineering course that covers software engineering concepts and offers opportunities to apply them during a project in a team environment. The difficulties lie in project selection, team formation, team and project organization, process management, and, finally, grading. The objective of this article is to discuss these difficulties and provide suggestions for alleviating or avoiding them.
- Conference Article
1
- 10.1145/3641554.3701920
- Feb 12, 2025
- SIGCSE TS 2025 - Proceedings of the 56th ACM Technical Symposium on Computer Science Education
Computer Science (CS) education is becoming increasingly important in K-12 schooling, with some U.S. states now requiring educators to integrate CS into various disciplinary courses. The CS for Social Studies project supports the integration of CS into Social Studies (SS) classes in rural middle schools. Twenty-five teachers, working mostly in pairs (one SS teacher and one CS or instructional technology teacher), participated in professional learning workshops and received coaching support to design and implement integrated lessons that address both SS and CS learning standards. The current analysis examines the corpus of year-end, project-based integrated CS-SS lessons (n=8), to illuminate how integrated CS-SS lessons can address learning goals across both disciplines. Data sources included teacher-created lesson materials, classroom observations/video, implementation logs, teacher interviews, and student work. Utilizing a framework created to characterize integrated CS-SS lessons, analysis of lessons (as designed and enacted) focuses on three dimensions: (1) depth of CS concepts, (2) integration of CS-SS, and (3) alignment of instructional tools/resources with integration objectives. All lessons addressed standards-aligned CS concepts such as variables, conditionals, branching, and computational thinking skills (e.g., decomposition), and a variety of SS topics including the Civil War, the Great Migration, and personal finance. However, lessons varied in the extent to which they leveraged students' CS knowledge to explicitly enhance SS learning (or vice versa). This analysis suggests there are multiple approaches to using CS concepts to support disciplinary learning, including creating new learning experiences to explore SS content.
- Research Article
16
- 10.21585/ijcses.v2i3.30
- Aug 22, 2018
- International Journal of Computer Science Education in Schools
Studying computer science (CS) in elementary schools has gained more and more popularity during recent years. However, students at such an early age face difficulties when first engaging with CS. Robotics has been proposed as a medium for teaching CS to young students, because it reifies concepts in a tangible object and because of the excitement of working with robots. We asked: What CS concepts can elementary-school students learn and understand from the participation in a robotics-based CS course?Students from four second-grade classes (ages 7-8) were taught CS concepts using Thymio educational robot and its graphical software development environment. The syllabus was based on existing learning materials that were adapted to the cognitive level of the students. A taxonomy of six levels was created to characterize the learning outcomes of the course. The students' abilities were investigated using four questionnaires that were based on the taxonomy. In addition, field observations of the lessons were recorded.The analysis showed that the students were very engaged with the robotics activities and were highly motivated. They did learn basic CS concepts, although they found it difficult to create and run their own programs. There was a gap between the students' abilities regarding advanced concepts as reflected in the classroom activities and their performance on the questionnaires that they answered without the robot.Â
- Conference Article
17
- 10.1145/3446871.3469766
- Aug 16, 2021
Motivation: Recent efforts to expand K-12 computer science education highlight the great need for well-prepared computer science (CS) teachers. Teacher identity theory offers a particular conceptual lens for us to understand computer science teacher preparation and professional development. The emerging literature suggests that teacher identity is central to sustaining motivation, efficacy, job satisfaction, and commitment, and these attributes are crucial in determining teacher retention. While the benefits associated with a strong sense of teacher identity are great, teachers face unique challenges and tensions in developing their professional identity for teaching computer science. Objectives: This exploratory study attempts to operationalize computer science teacher identity through discussing the potential domains, proposing and testing a quantitative instrument for assessing computer science teachers’ professional identity. Method: We first discussed the potential domains of computer science teacher identity based on recent teacher identity literature and considerations on some unique challenges for computer science teachers. Then we proposed the computer science teacher identity scale, which was piloted through a national K-12 computer science teacher survey with 3,540 completed responses. The survey results were analyzed with a series of factor analyses to test the internal structure of the computer science teacher identity scale. Results: Our analyses reveal a four-factor solution for the computer science teacher identity scale, which is composed of CS teaching commitment, CS pedagogical confidence, confidence to engage students, and sense of community/belonging. There were significant differences among the teachers with different computer science teaching experiences. In general, teachers with more computer science teaching experience had higher computer science teacher identity scores on all four factors. Discussion: The four-factor model along with a large national dataset invites a deeper analysis of the data and can provide important benchmarks. Such an instrument can be used to explore developmental patterns in computer science teacher identity, and function as a pedagogical tool to provoke discussion and reflection among teachers about their professional development. This study may also contribute to understanding computer science teachers’ professional development needs and inform efforts to prepare, develop, and retain computer science teachers.
- Research Article
6
- 10.2190/ec.46.2.c
- Mar 1, 2012
- Journal of Educational Computing Research
The significance of computer science for economics and society is undisputed. In particular, computer science is acknowledged to play a key role in schools (e.g., by opening multiple career paths). The provision of effective computer science education in schools is dependent on teachers who are able to properly represent the discipline and whose in-depth knowledge of the subject encompasses recent advances in the research. This article examines the assessment of content and process concepts relevant for K-12 computer science education by computer science teachers and computer science professors. The findings show that computer science professors attach more importance to content concepts of computer science (e.g., algorithm, model, system) in terms of several process concepts (e.g., analyzing, problem solving, investigating) than computer science teachers. These results should be taken into account by training programs for both pre-service and in-service teachers of computer science.