Computing education

Last updated
Elementary school children coding in a robotics programme Tallinn Digital Summit. Introduction for elementary school children to coding through a robotics programme (36662719824).jpg
Elementary school children coding in a robotics programme

Computer science education or computing education is the field of teaching and learning the discipline of computer science, [1] [2] [3] [4] [5] [6] and computational thinking. [7] [8] [9] The field of computer science education encompasses a wide range of topics, from basic programming skills to advanced algorithm design and data analysis. It is a rapidly growing field that is essential to preparing students for careers in the technology industry and other fields that require computational skills. [10]

Contents

Computer science education is essential to preparing students for the 21st century workforce. As technology becomes increasingly integrated into all aspects of society, the demand for skilled computer scientists is growing. According to the Bureau of Labor Statistics, employment of computer and information technology occupations is projected to "grow 21 percent from 2021 to 2031", much faster than the average for all occupations. [11]

In addition to preparing students for careers in the technology industry, computer science education also promotes computational thinking skills, which are valuable in many fields, including business, healthcare, and education. By learning to think algorithmically and solve problems systematically, students can become more effective problem solvers and critical thinkers.

Background

In the early days of computer programming, there wasn't really a need for setting up any kind of education system, as the only people working with computers at the time were early scientists and mathematicians. Computer programming wasn't nearly popular enough to warrant being taught, nor was it at a point where anyone who wasn't an expert could get anything out of it. It was soon realized however, that mathematicians were not a good fit for computer science work and that there would be a need for people fully focused around the subject. [12] As time went on, there was a greater need for those who were specifically trained in computer programming to match the demands of a world becoming more and more dependent on the use of computers. Initially, only colleges and universities offered computer programming courses, but as time went on, high schools and even middle schools implemented computer science programs. [12]

In comparison to science education and mathematics education, computer science (CS) education is a much younger field. [13] In the history of computing, digital computers were only built from around the 1940s – although computation has been around for centuries since the invention of analog computers. [14]

Another differentiator of computer science education is that it has primarily only been taught at university level until recently, with some notable exceptions in Israel, Poland and the United Kingdom with the BBC Micro in the 1980s as part of Computer science education in the United Kingdom. [6] [15] Computer science has been a part of the school curricula from age 14 or age 16 in a few countries for a few decades, but has typically as an elective subject.

Primary and secondary computer science education is relatively new in the United States with many K-12 CS teachers facing obstacles to integrating CS instruction such as professional isolation, limited CS professional development resources, and low levels of CS teaching self-efficacy. [16] [17] [18] According to a 2021 report, only 51% of high schools in the US offer computer science. [19] Elementary CS teachers in particular have lower CS teaching efficacy and have fewer chances to implement CS into their instruction than their middle and high school peers. [16] Connecting CS teachers to resources and peers using methods such as Virtual Communities of Practice has been shown to help CS and STEM teachers improve their teaching self-efficacy and implement CS topics into student instruction. [16] [17]

Curriculum

As with most disciplines, computer science benefits from using different tools and strategies at different points in a student's development to ensure they get the most out of the teaching. Visual programming languages like Scratch and MIT App Inventor are effective in elementary and middle schools as a good introduction to how programming languages function with a simple and easy to understand block-based programming structure. [20] Once students have gotten a grasp for the very basics of programming through these languages, usually teachers will move on to an easy to use text-based programming language, such as Python, where syntax is much simpler compared to more complex languages. Generally, students are taught with languages that are popular among professional businesses and programmers so that they can become familiar with languages actually used in the workforce. Thus, in high school and college, classes tend to focus on more complex uses of Python as well as other languages such as Java, C++, and HTML. [21] Despite this, it isn't completely necessary to focus on the most popular or used coding languages as much of computer science is built off of learning good coding practices that can be applied to any language in some form.

Teaching methods

Effective teaching methods in computer science often differ from that of other subjects as the standard slideshow and textbook format often used in schools has been found to be less effective compared to standard academic subjects. [22] Due to the problem-solving nature of computer science, a kind of problem focused curriculum has been found to be the most effective, giving students puzzles, games, or small programs to interact with and create. Rather than applying techniques or strategies learned to tests or quizzes, students must use material learned in class to complete the programs and show they are following the class. [22] On top of this, it has been found that developing teaching methods that seek to improve and guide students problem-solving and creative abilities tend to help them succeed in computer science and other classes. [20] The problem-solving aspect of computer science education is often the hardest part to deal with as many students can struggle with the concept, especially when it is likely they have not had to apply in such a way before this point.

Something else that has become popular in more recent times are online coding courses and coding bootcamps. Due to the nature of computer science as a discipline, there are many who realize there interest for it only later in life, or maybe it wasn't widely available when they attend high school or college. These opportunities often involve rigorous courses that are more geared to getting people ready for the workforce rather than a more academic focus. [23] Coding bootcamps have become a great way for people to break out into the computer science market without having to go to school all over again.

Computing education research

Computing education research (CER) or Computer science education research is an interdisciplinary field that focuses on studying the teaching and learning of computer science. [5] [24] It is a subfield of both computer science and education research, and is concerned with understanding how computer science is taught, learned, and assessed in a variety of settings, such as K-12 schools, colleges and universities, and online learning environments.[ citation needed ]

Background

Computer science education research emerged as a field of study in the 1970s, when researchers began to explore the effectiveness of different approaches to teaching computer programming. Since then, the field has grown to encompass a wide range of topics related to computer science education, including curriculum design, assessment, pedagogy, and diversity and inclusion.[ citation needed ]

Topics of study

One of the primary goals of computer science education research is to improve the teaching and learning of computer science. To this end, researchers study a variety of topics, including:

Curriculum design

Researchers in computer science education seek to design curricula that are effective and engaging for students. This may involve studying the effectiveness of different programming languages, or developing new pedagogical approaches that promote active learning.[ citation needed ]

Assessment

Computer science education researchers are interested in developing effective ways to assess student learning outcomes. This may involve developing new measures of student knowledge or skills, or evaluating the effectiveness of different assessment methods.[ citation needed ]

Pedagogy

Researchers in computer science education are interested in exploring different teaching methods and instructional strategies. This may involve studying the effectiveness of lectures, online tutorials, or peer-to-peer learning.[ citation needed ]

Diversity and inclusion

Computer science education researchers are interested in promoting diversity and inclusion in computer science education. This may involve studying the factors that contribute to under representation of certain groups in computer science, and developing interventions to promote inclusivity and equity.[ citation needed ]

Research communities

Top 50 computer science universities in North America US map top-50-computer-science-universities.svg
Top 50 computer science universities in North America

The Association for Computing Machinery (ACM) runs a Special Interest Group (SIG) on Computer science education known as SIGCSE which celebrated its 50th anniversary in 2018, making it one of the oldest and longest running ACM Special Interest Groups. [26] An outcome of computing education research are Parsons problems.[ citation needed ]

Gender perspectives in computer science education

In many countries, there is a significant gender gap in computer science education. In 2015, 15.3% of computer science students graduating from non-doctoral granting institutions in the US were women while at doctoral granting institutions, the figure was 16.6%. [27] The number of female PhD recipients in the US was 19.3% in 2018. [28] In almost everywhere in the world, less than 20% of the computer science graduates are female. [29]

This problem mainly arises due to the lack of interests of girls in computing starting from the primary level. Despite numerous efforts by programs specifically designed to increase the ratio of women in this field, no significant improvement has been observed. Furthermore, a declining trend has been noticed in the involvement of women in past decades. [30]

The main reason for the failure of these programs is because almost all of them focused on girls in high school or higher levels of education. Researchers argue that by then women have already made up their mind and stereotypes start to form about computer scientists. Computer Science is perceived as a male dominated field, pursued by people who are nerdy and lack social skills. [30] All these characteristics seem to be more damaging for a woman as compared to a man. Therefore, in order to break these stereotypes and to engage more women in computer science, it is crucial that there are special outreach programs designed to develop interest in girls starting at the middle school level and prepare them for an academic track towards the hard sciences. [29]

Evidently, there are a few countries in Asia and Africa where these stereotypes do not exist and women are encouraged for a career in science starting at the primary level, thus resulting in a gender gap that is virtually nonexistent. In 2011, women earned half of the computer science degrees in Malaysia. [31] In 2001, 55 percent of computer science graduates in Guyana were women. [32]

Recently, computational education has had an increased emphasis on incorporating computational knowledge into education on all levels. This is due to the world becoming more and more technologically driven. Organizations like Code.org and initiatives like the Hour of Code and Massive Open Online Courses (MOOCs) have played a significant role in promoting computer science education and making coding accessible to students worldwide; especially making a difference for women, underprivileged and underrepresented communities. These online learning platforms have also made computing education more accessible, allowing individuals to learn coding remotely. Additionally, we see technology increasingly being found in numerous fields like health, business and technology. [33] [34]

Challenges

Over the years, computing education has faced many various issues that have in one way or another contributed to its unpopularity. One of the most impactful of these issues is the equipment cost of effectively teaching the discipline. [35] In the past, there were not many affordable options for providing computers for each and every student that wanted to learn the discipline. Due to this, computing education suffered in many areas with little to no funding left over to adequately teach the subject. [36] This is the main reason why computing education is either extremely lackluster or non-existent in many schools across the United States and UK. The subject's unpopularity for many years mostly stems from it being reserved for those who could afford the necessary equipment and software to effectively teach it. [36]

There have also been issues with finding and training good teachers for the subject. Many schools in the past didn't see the value in paying for training for teachers to be able to teach computer science or get the licenses required. This has led to many schools in disadvantaged areas, or simply areas with not a lot of people, to struggle to hire the teachers necessary to provide a good computer science curriculum. [35] Another issue with the teacher side of the discipline is the nature of computer science itself, and that a standard teaching structure using slides and textbooks has often been found to be ineffective. Computer science is a very problem solving oriented subject and it has often been found that teaching can be more effective when approaching it from this perspective rather than the standard lecture format. [22]

Computer science is also notorious for being a very difficult subject in schools, with high failure and dropout rates over the years it has been taught. [22] This is usually attributed to the fact that computer science as a subject is very problem-solving heavy and a lot of students can struggle with this aspect. This is especially true for high-school, where few other subjects demand as high caliber of problem-solving ability as computer science. This is compounded by the fact that computer science is a very different discipline from most other subjects, meaning that many students who encounter it for the first time can struggle a lot. [22]

Despite the challenges faced by the discipline, computer science continues to grow in popularity as a subject as technology grows and computers become more and more important in the classroom as well as in everyday life.

See also

Related Research Articles

The Association for Computing Machinery (ACM) is a US-based international learned society for computing. It was founded in 1947 and is the world's largest scientific and educational computing society. The ACM is a non-profit professional membership group, reporting nearly 110,000 student and professional members as of 2022. Its headquarters are in New York City.

<span class="mw-page-title-main">Computing</span> Activity involving calculations or computing machinery

Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes, and the development of both hardware and software. Computing has scientific, engineering, mathematical, technological, and social aspects. Major computing disciplines include computer engineering, computer science, cybersecurity, data science, information systems, information technology, and software engineering.

<span class="mw-page-title-main">Computer science</span> Study of computation

Computer science is the study of computation, information, and automation. Computer science spans theoretical disciplines to applied disciplines.

<span class="mw-page-title-main">Edsger W. Dijkstra</span> Dutch computer scientist (1930–2002)

Edsger Wybe Dijkstra was a Dutch computer scientist, programmer, software engineer, mathematician, and science essayist.

<span class="mw-page-title-main">PL/C</span> Programming language developed at Cornell University

PL/C is an instructional dialect of the programming language PL/I, developed at the Department of Computer Science of Cornell University in the early 1970s in an effort headed by Professor Richard W. Conway and graduate student Thomas R. Wilcox. PL/C was developed with the specific goal of being used for teaching programming. The PL/C compiler, which implemented almost all of the large PL/I language, had the unusual capability of never failing to compile a program, through the use of extensive automatic correction of many syntax errors and by converting any remaining syntax errors to output statements. This was important because, at the time, students submitted their programs on IBM punch cards and might not get their output back for several hours. Over 250 other universities adopted PL/C; as one late-1970s textbook on PL/I noted, "PL/C ... the compiler for PL/I developed at Cornell University ... is widely used in teaching programming." Similarly, a mid-late-1970s survey of programming languages said that "PL/C is a widely used dialect of PL/I."

Theoretical computer science is a subfield of computer science and mathematics that focuses on the abstract and mathematical foundations of computation.

A pedagogical pattern is the re-usable form of a solution to a problem or task in pedagogy, analogous to how a design pattern is the re-usable form of a solution to a design problem. Pedagogical patterns are used to document and share best practices of teaching. A network of interrelated pedagogical patterns is an example of a pattern language.

<span class="mw-page-title-main">Peter J. Denning</span> American computer scientist and writer

Peter James Denning is an American computer scientist and writer. He is best known for pioneering work in virtual memory, especially for inventing the working-set model for program behavior, which addressed thrashing in operating systems and became the reference standard for all memory management policies. He is also known for his works on principles of operating systems, operational analysis of queueing network systems, design and implementation of CSNET, the ACM digital library, and codifying the great principles of computing. He has written numerous influential articles and books, including an overview of fundamental computer science principles, computational thinking, and his thoughts on innovation as a set of learnable practices.

The Diploma in Computer Science is a diploma offered by several post-secondary institutions:

<span class="mw-page-title-main">David Gries</span> American computer scientist

David Gries is an American computer scientist at Cornell University, mainly known for his books The Science of Programming (1981) and A Logical Approach to Discrete Math.

<span class="mw-page-title-main">Mark Guzdial</span>

Mark Joseph Guzdial is a Professor in the College of Engineering at the University of Michigan. He was formerly a professor in the School of Interactive Computing at the Georgia Institute of Technology affiliated with the College of Computing and the GVU Center. He has conducted research in the fields of computer science education and the learning sciences and internationally in the field of Information Technology. From 2001–2003, he was selected to be an ACM Distinguished Lecturer, and in 2007 he was appointed Vice-Chair of the ACM Education Board Council. He was the original developer of the CoWeb, one of the earliest wiki engines, which was implemented in Squeak and has been in use at institutions of higher education since 1998. He is the inventor of the Media Computation approach to learning introductory computing, which uses contextualized computing education to attract and retain students.

Computational thinking (CT) refers to the thought processes involved in formulating problems so their solutions can be represented as computational steps and algorithms. In education, CT is a set of problem-solving methods that involve expressing problems and their solutions in ways that a computer could also execute. It involves automation of processes, but also using computing to explore, analyze, and understand processes.

Owen Astrachan is an American computer scientist and professor of the practice of computer science at Duke University, where he is also the department's director of undergraduate studies. He is known for his work in curriculum development and methods of teaching computer science. He was one of the first National Science Foundation CISE Distinguished Education Fellows, and is a recipient of the ACM Outstanding Educator Award. He was the principal investigator on the multi-year NSF/College Board project that led to the release of the AP Computer Science Principles course and exam.

Susan Beth Horwitz was an American computer scientist noted for her research on programming languages and software engineering, and in particular on program slicing and dataflow-analysis. She had several best paper and an impact paper award mentioned below under awards.

<span class="mw-page-title-main">David J. Malan</span> American computer scientist and professor

David Jay Malan is an American computer scientist and professor. Malan is a Gordon McKay Professor of Computer Science at Harvard University, and is best known for teaching the course CS50, which is the largest open-learning course at Harvard University and Yale University and the largest Massive Open Online Course (MOOC) at EdX, with lectures being viewed by over a million people on the edX platform up to 2017.

Valerie Barr is an American computer scientist, and is the Margaret Hamilton Distinguished Professor of Computer Science at Bard College. She formerly held the Jean Sammet endowed chair in the department of Computer Science at Mount Holyoke College in South Hadley, Massachusetts. She is known for her work with women in computing.

Daniel Zingaro is an associate professor at the University of Toronto Mississauga. His main areas of research are in evaluating Computer science education and online learning. He has co-authored over 80 articles in peer-reviewed journals and conferences; and also authored a textbook, "Invariants: a Generative Approach to Programming.

Susan Sentance is a British computer scientist, educator and director of the Raspberry Pi Foundation Computing Education Research Centre at the University of Cambridge. Her research investigates a wide range of issues computer science education, teacher education and the professional development of those teaching computing. In 2020 Sentance was awarded a Suffrage Science award for her work on computing education.

Parsons problems are a form of an objective assessment in which respondents are asked to choose from a selection of code fragments, some subset of which comprise the problem solution. The Parsons problem format is used in the learning and teaching of computer programming.

<span class="mw-page-title-main">Michael E. Caspersen</span> Danish computer scientist

Danish computer scientist Michael Edelgaard Caspersen has spent his academic life furthering computer science education, at all levels. His research interests are computing education, programming didactics, programming methodology, and object-oriented programming. He is best known for his work on computing education research and development, particularly his work to promote informatics as a fundamental discipline for all.

References

  1. Fincher, Sally; Petre, Marian (2004). Computer Science Education Research. London: Taylor & Francis. ISBN   90-265-1969-9. OCLC   54455019.
  2. Sentance, Sue; Barendsen, Erik; Schulte, Carsten (2018). Computer science education : perspectives on teaching and learning in school. London: Bloomsbury. ISBN   978-1-350-05711-1. OCLC   999588195.
  3. Bruckman, Amy; Biggers, Maureen; Ericson, Barbara; McKlin, Tom; Dimond, Jill; DiSalvo, Betsy; Hewner, Mike; Ni, Lijun; Yardi, Sarita (2009). "Georgia computes! Improving the computing education pipeline". ACM SIGCSE Bulletin. 41 (1): 86. doi:10.1145/1539024.1508899. ISSN   0097-8418.
  4. Anon (2017). "Computing education". royalsociety.org.
  5. 1 2 Fincher, Sally A.; Robins, Anthony V. (2019). The Cambridge Handbook of Computing Education Research (PDF). Cambridge University Press. doi:10.1017/9781108654555. ISBN   9781108654555. OCLC   1090781199. S2CID   243000064.
  6. 1 2 Furber, Steve (2017). After the reboot: computing education in UK schools (PDF). London: Royal Society. ISBN   9781782522973.
  7. Guzdial, Mark (2008). "Education: Paving the way for computational thinking". Communications of the ACM. 51 (8): 25–27. doi:10.1145/1378704.1378713. ISSN   0001-0782. S2CID   35737830.
  8. Wing, Jeanette M. (2006). "Computational thinking" (PDF). Communications of the ACM . 49 (3): 33–35. doi:10.1145/1118178.1118215. hdl: 10818/29866 . S2CID   1693513.
  9. Wing, Jeanette M. (2008). "Computational thinking and thinking about computing". Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences. 366 (1881): 3717–3725. Bibcode:2008RSPTA.366.3717W. doi:10.1098/rsta.2008.0118. PMC   2696102 . PMID   18672462.
  10. Fincher, Sally; Petre, Marian, eds. (2005-09-26). Computer Science Education Research. Taylor & Francis. doi:10.1201/9781482287325. ISBN   978-1-4822-8732-5.
  11. "Computer and Information Research Scientists : Occupational Outlook Handbook: : U.S. Bureau of Labor Statistics". www.bls.gov. Retrieved 2023-04-13.
  12. 1 2 Tedre, M., Simon, & Malmi, L. (2018). Changing aims of computing education: a historical survey. Computer Science Education, 28(2), 158-186.
  13. Tedre, Matti; Simon; Malmi, Lauri (2018). "Changing aims of computing education: a historical survey". Computer Science Education. 28 (2): 158–186. Bibcode:2018CSEd...28..158T. doi:10.1080/08993408.2018.1486624. S2CID   52884221.
  14. Tedre, Matti (2015). The science of computing : shaping a discipline. Boca Raton. ISBN   978-1-4822-1769-8. OCLC   870289913.{{cite book}}: CS1 maint: location missing publisher (link)
  15. Rogers, Yvonne; Shum, Venus; Marquardt, Nic; Lechelt, Susan; Johnson, Rose; Baker, Howard; Davies, Matt (2017). "From the BBC micro to micro:bit and beyond". Interactions. 24 (2): 74–77. doi:10.1145/3029601. ISSN   1072-5520. S2CID   24258819.
  16. 1 2 3 Schwarzhaupt, Robert; Liu, Feng; Wilson, Joseph; Lee, Fanny; Rasberry, Melissa (2021-10-08). "Teachers' Engagement and Self-Efficacy in a PK–12 Computer Science Teacher Virtual Community of Practice". Journal of Computer Science Integration. 4 (1): 1. doi: 10.26716/jcsi.2021.10.8.34 . ISSN   2574-108X. S2CID   240864514.
  17. 1 2 Kelley, Todd R.; Knowles, J. Geoffery; Holland, Jeffrey D.; Han, Jung (2020-04-16). "Increasing high school teachers self-efficacy for integrated STEM instruction through a collaborative community of practice". International Journal of STEM Education. 7 (1): 14. doi: 10.1186/s40594-020-00211-w . ISSN   2196-7822. S2CID   216034569.
  18. Yadav, Aman; Gretter, Sarah; Hambrusch, Susanne; Sands, Phil (2016-12-08). "Expanding computer science education in schools: understanding teacher experiences and challenges". Computer Science Education. 26 (4): 235–254. Bibcode:2016CSEd...26..235Y. doi:10.1080/08993408.2016.1257418. ISSN   0899-3408. S2CID   33792019.
  19. "2021 State of computer science education: Accelerating action through advocacy" (PDF). Code.org, CSTA, & ECEP Alliance. 2021.
  20. 1 2 Garneli, V., Giannakos, M. N., & Chorianopoulos, K. (2015, March). Computing education in K-12 schools: A review of the literature. In 2015 IEEE Global Engineering Education Conference (EDUCON) (pp. 543-551). IEEE.
  21. summertj@ufl.edu (2015-09-28). "The Languages of Computer Science". University of Florida Online. Retrieved 2024-08-04.
  22. 1 2 3 4 5 Cheah, C. S. (2020). Factors contributing to the difficulties in teaching and learning of computer programming: A literature review. Contemporary Educational Technology, 12(2), ep272.
  23. Wilson, G. (2017). Building a new mythology: The coding boot-camp phenomenon. ACM Inroads, 8(4), 66-71.
  24. Cooper, Steve; Grover, Shuchi; Guzdial, Mark; Simon, Beth (2014). "A future for computing education research". Communications of the ACM. 57 (11): 34–36. doi:10.1145/2668899. ISSN   0001-0782. S2CID   34034556.
  25. "North America's best Computer Science universities [Rankings]". 11 August 2021.
  26. Morrison, Briana; Settle, Amber (2018). "Celebrating SIGCSE's 50th anniversary!". ACM SIGCSE Bulletin. 50 (1): 2–3. doi:10.1145/3183559.3183560. ISSN   0097-8418. S2CID   19169248.
  27. "The Mixed News on Diversity and the Enrollment Surge". CRA. 2017-02-10. Retrieved 2020-05-05.
  28. 2018 Taulbee Survey, Computing Research Association. https://cra.org/wp-content/uploads/2019/05/2018_Taulbee_Survey.pdf
  29. 1 2 Happe, Lucia; Buhnova, Barbora; Koziolek, Anne; Wagner, Ingo (2021-05-01). "Effective measures to foster girls' interest in secondary computer science education". Education and Information Technologies. 26 (3): 2811–2829. doi: 10.1007/s10639-020-10379-x . ISSN   1573-7608. S2CID   228817008.
  30. 1 2 Vitores, Anna; Gil-Juárez, Adriana (2016-11-01). "The trouble with 'women in computing': a critical examination of the deployment of research on the gender gap in computer science". Journal of Gender Studies. 25 (6): 666–680. doi:10.1080/09589236.2015.1087309. ISSN   0958-9236. S2CID   146570525.
  31. "what [sic!] gender is science" (PDF). Archived from the original (PDF) on September 24, 2015. Retrieved July 20, 2015.
  32. James, Justin (19 September 2023). "IT gender gap: Where are the female programmers?". TechRepublic.
  33. Code Studio Activity (2012). "About Us". code.org.
  34. Brahimi, T., & Sarirete (2015). "Learning outside the classroom through MOOCs". www.sciencedirect.com.{{cite web}}: CS1 maint: multiple names: authors list (link)
  35. 1 2 Morreale, P., & Joiner, D. (2011). Changing perceptions of computer science and computational thinking among high school teachers. Journal of Computing Sciences in Colleges, 26(6), 71-77.
  36. 1 2 Goode, J., & Margolis, J. (2011). Exploring computer science: A case study of school reform. ACM Transactions on Computing Education (TOCE), 11(2), 1-16.