Write up on Comic Books utilized in education reading compression and logic models for psychometrics

465093517_10228704190763705_4530919627230395010_n

Significance of the Study

Comics can be an invaluable teaching tool, but aside from the occasional non-serial graphic novel, they are underused. For every Maus, Fun Home, and American Born Chinese, countless superhero comics are disregarded as too superficial for the level of analysis afforded “real” works of literature. But comics can serve three primary roles in the classroom:

  • They can facilitate a better understanding of complex required texts by serving as a preliminary reading activity;
  • They can extend the analysis of a classic work of literature, either by providing examples of derivative fiction or by making strong allusions to the classics;
  • They can replace less-accessible works from the literary canon while still conveying the same messages and using the same literary and rhetorical conventions.

Words and Pictures Together Increase Recall and Problem Solving “…the low-level students receiving the high-level text with the comic strip scored significantly higher than their counterparts receiving the high-level text only.” —Jun Liu. “Effect of Comic Strips on L2 Learners’ Reading Comprehension.” TESOL Quarterly, 2004. http://sfl.ieu.edu.tr/tdu/TESOL_Quarterly_Reading.pdf

“Across the eleven studies, people who learned from words and graphics produced between 55 percent to 121 percent more correct solutions to transfer problems than people who learned from words alone. Across all studies, a median percentage gain of 89 percent was achieved with a median effect size of 1.50.” — Mayer, Richard E. and Clark, Ruth Colvin. e-Learning and the Science of Instruction: Proven Guidelines for Consumers and Designers of Multimedia Learning. Pfeiffer, 2011. “Results of Study 2 find that verbatim recognition was superior with graphic novel texts compared to traditional textbooks.” —McKenny, Aaron, Short, Jeremy, & Randolph-Seng, Brandon. Abstract: “Graphic presentation: an empirical examination of the graphic novel approach to communicate business concepts.” http://www.academia.edu/2210806/Graphic_presentation_an_empirical_examination_of_the_graphic_novel_ approach_to_communicate_business_concepts “

Results document children’s deliberate use of images and point to the important role of images in text processing.” —Arya, Poonam & M. Feathers, Karen. (2015). “Exploring Young Children’s Use of Illustrations in a Picturebook.” Language and Literacy. 17. 42-62. 10.20360/G2630C. Comics Aid Comprehension “A graphic adaptation of a traditionally taught text (Poe’s “The Cask of Amontillado”) was explored as (a) a replacement text and (b) a supplemental text. The study design utilized a factorial analysis of variance with three independent variables: text type, grade level, and gender.

A reading comprehension test was developed to serve as the dependent variable. Findings indicated significant effects for all factors.” —Cook, M.P. (in press). Now I “see”: Graphic novels promoting reading comprehension in high school English classrooms. Literacy Research & Instruction. 10.1080/19388071.2016.1244869 “…24 mixed-ability fifth grade students chose to read six novels: two traditional novels, two highly illustrated novels and two graphic novels. …

In this study, reading of graphic novels stimulated more student discussion using the structure of thinking skills and greater story comprehension. … The mean number of student responses to the de Bono thinking skill prompts initiated by students was higher for the graphic novels than for either of the other two novel forms. …Graphic novels also increased student comprehension as measured by the midterm assessment writing prompts and final project scores. …Student midterm assessment responses for graphic novels showed higher assessment scores than either of the other two novel forms. …The survey results showed that the students reading graphic novels reported greater enjoyment of reading and stronger interest in the story than when reading either of the other two novel forms. —Jennings, K. A., Rule, A. C., & Zanden, S. M. V. (2014). “Fifth Graders’ Enjoyment, Interest, and Comprehension of Graphic Novels Compared to Heavily-Illustrated and Traditional Novels.” International Electronic Journal of Elementary Education, 6(2), 257–274. https://scholarworks.uni.edu/cgi/viewcontent.cgi?referer=https://www.google.com/&httpsredir=1&article=1013 &context=ci_facpub “…a diverse group of second grade students during a nine week unit of study focused on graphic stories. …Images, written text, and dialog are utilized to scaffold reading comprehension and to practice fluency. Then, students construct their own graphic stories based on characters from books, popular culture, and personal experiences. …The results indicate student growth in the areas of comprehension and fluency.” —Brown, S. (2013). “A Blended Approach to Reading and Writing Graphic Stories.” The Reading Teacher, 67(3), 208–219. https://doi.org/10.1002/TRTR.1211

Comics Have a High Average Vocabulary Level Comic books average 53.5 rare words per thousand, while children’s books average 30.9, adult books average 52.7, expert witness testimony averages 28.4, and the conversations of college graduates with friends average 17.3. —“Big Ideas in Beginning Reading: Vocabulary.” University of Oregon Center on Teaching and Learning. http://reading.uoregon.edu/big_ideas/voc/voc_what.php

                                              Learning Coaches can prompt students to delve into their reading analyses by using the questions below. Also, the questions can be tailored to fit a student’s level of academic progress. Here are some question ideas based on the 5 Ws (and How).

Who

  • Who is the main character and what are their traits?
  • Who is the antagonist and what are their characteristics?
  • Who are the supporting characters and how would you describe them?
  • Who is your favorite character and why? 
  • Who is your least favorite character and why?
  • Who do you think is responsible for the conflict?

What

  •  
  • What happened in this chapter?
  • What is at stake for the protagonist? What is being risked?
  • What does the protagonist want and why?
  • What does the antagonist want and why? 
  • What do you think is going to happen next?
  • What are some themes in the story?
  • What do you feel is the story’s overall message?

Where

  • Where does this story take place?
  • Does the location impact the characters or the storyline?
  • Could this story take place at any other location? Why or why not?

When

  •  
  • When does this story take place?
  • Does the time period impact the story or characters?
  • Could this story take place at any other time? Why or why not?
  • When is the inciting incident? 
  • When does the story’s arc take place?
  • When does the story’s resolution take place?

Why

  • Why are the protagonist and antagonist at odds with one another?
  • Do you sympathize with the protagonist? Why or why not?
  • Do you sympathize with the antagonist? Why or why not?
  • Why do you think the author created this story? 
  • Why is this an enjoyable/unenjoyable story for you?

How

  •  
  • How does the protagonist overcome obstacles?
  • How does the protagonist resolve the conflict?
  • How does the antagonist create obstacles for the protagonist?
  • How do you feel about the story’s ending? 
  • How does the author use literary devices such as metaphor, symbolism, and simile?
  • If you could, how would you change the story?

Psychometric Model

Most reading comprehension assessments are analyzed using classical test theory methodology, where examinees’ scores are total number of correct answers or some scaling thereof Psychometric Model Most reading comprehension assessments are analyzed using classical test theory methodology, where examinees’ scores are total number of correct answers or some scaling thereof

                                              Visual texts, which are increasingly prevalent in our daily lives, also play a crucial role in reading comprehension assessments such as SAT, TOEFL, PISA, and PIRLS. These assessments specifically measure students’ ability to make inferences, conclude, and critically analyze the relationship between textual and visual information, thereby assessing higher-level skills (Cahalan et al., 2002; Cohen & Upton, 2006; Unsworth, 2014; Mullis et al., 2017; OECD, 2019). Additionally, well-constructed visual texts with captivating visual stimuli enhance students’ motivation for exams (Glenberg & Langston, 1992; Hoyt, 1992). However, creating visual texts and writing visual reading comprehension items can be challenging and time-consuming compared to other item types (Author, 2023). Visual texts demand effective integration of visual elements with accompanying text, including selecting appropriate visuals that align with the content and purpose of the item. Balancing textual and visual components coherently and meaningfully can be more complex than writing text-only items (Daly & Unsworth, 2011; Sabatini et al., 2014). The images used in visual texts must accurately represent the information presented in the text be clear, appealing, and effectively convey the intended message. Additionally, factors such as layout, design, and readability of visuals should align with the objectives of the item and support comprehension for the target audience (Hoyt, 1992). Furthermore, the integration of visual and auditory elements has become a compelling feature of computer-based tests, making them highly appealing and widely used in modern educational settings. Sayın, 2024 382 As a result, computer-based testing is shown to be an effective method for assessing students’ visual reading comprehension skills. Computer-based tests offer flexible testing options and rapid score calculation, benefiting educators and students alike (Chen et al., 2019; Gierl et al., 2021). This flexibility is particularly advantageous in classroom practice, where traditional paper-and-pencil exams can be time-consuming to score due to large class sizes and other responsibilities (Chen et al., 2019). It provides swift feedback, allowing teachers to identify individual learning needs promptly and facilitate targeted support (Weber et al., 2003). Moreover, the use of multimedia elements, such as photos and videos, in electronic tests enhances assessment opportunities and supports diverse item types (Gierl et al., 2021; Kosh et al., 2019). However, digital assessments or computer-based tests also face challenges, particularly in the context of distance education (Arrend, 2007). Security concerns and the need to create a substantial item pool are noteworthy issues. To prevent the disclosure of items before exams, synchronous test administrations have been adopted, but this approach sacrifices the flexibility that computer-based tests can offer (ÖSYM, 2020). Furthermore, the practice effect, where repeated test performance influences scores, can compromise the validity and reliability of measurement (Hausknecht et al., 2007). To ensure diverse items for inclass follow-up tests and personalized assessments, a substantial item pool with established psychometric properties is essential (Hausknecht et al., 2007). For that, creating an item pool with scalable difficulty is crucial, and it applies not only to the textual components but also to visuals in visual reading comprehension items. Ensuring that visuals are adaptable to difficulty levels adds flexibility to computer-based tests, allowing students to take the test at different times and locations, such as over three days. However, it’s worth knowing that this process is challenging and resource intensive. To address this challenge, the field of AIG has emerged, combining computer technology with cognitive and psychometric theories (Arendasy & Sommer, 2012; Embretson & Yang, 2006; Gierl & Haladyna, 2012b). Automatic item generation Automatic item generation (AIG) is the process of automatically generating tests, exams, or items for educational and assessment purposes. It leverages cognitive and psychometric theories along with computer technology to produce high-quality items efficiently (Embretson & Yang, 2006; Gierl et al., 2019; Gierl & Lai, 2018; Gierl et al., 2012; Irvine & Kyllonen, 2013). AIG aims to continuously generate and diversify new items to assess student’s various abilities and learning styles. It ensures items meet assessment criteria such as objectivity, reliability, and validity (Gierl & Haladyna, 2012a). AIG enables the creation of item pools for individual-specific tests, facilitates adaptation to updated curricula and learning objectives, and saves time and costs compared to traditional item writing processes (Gierl et al., 2019; Kosh et al., 2019

 Children can learn to form images to accompany the words they read if we teach them to do that. We don’t need complicated procedures, expensive technology, fancy organizational charts, or anything other than a very clear focus, humor, and relaxed time with the children

Visual processing is the brain’s ability to interpret and make sense of visual information from the environment (different from visual acuity which measures how sharp your vision is at distance). In the context of reading, visual processing involves recognizing letters, decoding words, and understanding the spatial arrangement of text on a page. Good visual processing is necessary for these important reading skills:

  1. Letter Recognition: One of the fundamental skills in reading is the ability to recognize letters. Efficient visual processing allows individuals to quickly identify and distinguish between different letters, which forms the basis for word recognition.
  2. Word Decoding: Decoding involves translating written symbols (letters) into their corresponding sounds to pronounce words. Efficient visual processing facilitates rapid and accurate decoding, which helps to read fluently.
  3. Visual Tracking: Reading requires smooth and accurate eye movements to track text from left to right across a page. Strong visual processing skills help to maintain focus and prevent skipping or repeating lines while reading.
  4. Visual Memory: Remembering and recalling visual information, such as the shapes of letters and words, is essential for building vocabulary and comprehending text. A strong visual memory enables readers to recognize words encountered previously which helps us to read fluently. 

Here are some important foundations of visual processing abilities:

  1. Visual Discrimination: being able to recognize the differences and similarities between objects, symbols or shapes (in this case letters).
  2. Visual Memory: being able to remember what something looks like, which helps remember letters, sight words, and spelling rules.
  3. Visual Form Constancy: knowing that letters can exist in different contexts and being able to identify them across contexts.
  4. Visual Sequential Memory: being able to understand the sequence of order of words after viewing them. This helps with spelling and decoding words (ordering letters in a particular sequence). Difficulties here can result in meaning of words being changed and impacting understanding. 
  5. Visual Figure-Ground: ability to distinguish and find a particular object (or word) which helps with scanning text to find a particular piece of information.
  6. Visual Closure: being able to recognise a word when only a part of it is shown which helps to recognise a word without having to fully decode it each time it is encountered.

What is Auditory Processing?

Auditory processing is the brain’s ability to interpret and make sense of sounds. In reading, auditory processing skills are important for skills in phonemic awareness, understanding spoken language, and recognizing the letter-sound correspondence. Efficient auditory processing is necessary for these reading skills:

  1. Phonemic Awareness: Phonemic awareness involves the ability to identify and manipulate individual sounds (phonemes) in spoken words. Good auditory processing skills enable children to identify subtle differences in sounds, which is crucial for phonemic awareness and phonics instruction.
  2. Letter-Sound Correspondence: Understanding the relationship between sounds and written symbols is fundamental to learning to read. Strong auditory processing skills facilitate the association between spoken sounds and their corresponding letters or letter combinations, which aids in recognising and decoding words.
  3. Oral Language Comprehension: Reading comprehension relies on the ability to understand spoken language. Effective auditory processing enables individuals to extract meaning from oral language, which translates to improved comprehension when reading written text.

Here are some important foundations of auditory processing abilities:

  1. Auditory Awareness: ability to detect where a sound is coming from
  2. Auditory Discrimination: ability to detect differences in specific sounds. This helps to identify differences such as /th/ and /f/.
  3. Auditory Identification: ability to attach meaning to particular sounds which aids in having good letter-sound association

Visual and Auditory Processing and Reading Comprehension – The Workshop Reading Centre

Data Collection

Discuss the Science of formulating Psychometric Questions based on Logic compared to Discrete Mathematics and Pedagogy Science’s Logic all the same theory of Decision Making

Discrete Mathematics in Psychometrics Logical Programming Questions for Reading Comprehension questions based on formulating questions after the text:

Discussed at a Later timeData Collection

Discuss the Science of formulating Psychometric Questions based on Logic compared to Discrete Mathematics and Pedagogy Science’s Logic all the same theory of Decision Making

Discrete Mathematics in Psychometrics Logical Programming Questions for Reading Comprehension questions based on formulating questions after the text:

Discussed at a Later time

A logic Program is typically, a collection of Clauses that consist of preconditions for running the clause and a should be taken. Matching exercises in a Cognitive Compression way to develop a child’s brain to think Logically and Mathematically even about Reading Compression.

Designed for Fuzzy Logic in A.I in advanced way to train Human Interactions and Brain Cognitive and Generally how Programming works

#35. In context which of the following would NOT improve sentence 14

Whatever their experience, I believe that more and more women are playings, sports today, than ever before did play sports, and I think that is has many positive consequences for LARGER SOCIETY

  1. Delete “ I believe that:
  2. Delete “than ever before did play sports.”
  3. Delete: I think that “
  4. Insert the word” trend: after “this.:
  5. Replace “many” with : alot of .”

Imagine if utilized Daydreamin Comics with a computational abstraction: in OCR( optical character recognition) a child’s imagination of reading a comic book or literature give a survey of comments to what the context of the story was about, not knowing it , training for great reading compression. example

COMMENT BOX AND ABOVE IS THE FOLLOWING:

  1. Delete “ I believe that:
  2. Delete “than ever before did play sports.”
  3. Delete: I think that “
  4. Insert the word” trend: after “this.:
  5. Replace “many” with : alot of .”

Computational Abstractions

Introduction

Pupils should be taught to: design, use and evaluate computational abstractions that model the state and behavior of real-world problems and physical systems.

In computer science, abstraction is the process by which data and programs are defined with a representation similar in form to its meaning (semantics), while hiding away the implementation details. Abstraction tries to reduce and factor out details so that the programmer can focus on a few concepts at a time. A system can have several abstraction layers whereby different meanings and amounts of detail are exposed to the programmer refines the definition of computational thinking to six concepts: a thought process, abstraction, decomposition, algorithmic design, evaluation, and generalization. All of these concepts are employed in problem solving processes. Again, the emphasis in this list of concepts is on thought processes, not the production of artefacts or evidence.

The Computing Progression Pathways (Dorling and Walker, 2014) is an example of a non-statutory assessment framework. It was produced by a small team of authors and reviewers, all teachers, based on their classroom experiences. It is an interpretation of the breadth and depth of the content in the 2014 national curriculum for computing program of study. It includes the dependencies and interdependencies between concepts and principles. This may help non-specialist teachers and inexperienced teachers to understand what should be taught in the classroom. It is publicly available at this link:

Evidence of assessing computational thinking Given that computational thinking concepts have been defined (Selby and Woollard, 2013) and an assessment framework for the computing program of study has been proposed (Dorling and Walker, 2014), a mapping can be developed to illustrate how computational thinking can be assessed over the full breadth and depth of the computing programme of study.

2.3. Problem solving techniques.

2.3.1. Introduction Now, it’s easy to write down these stages but harder to see how they apply in practical problem solving for programming.

Significance of the Study:

Logo is a programming language that was developed in the late 1960s by a team of researchers at Bolt, Beranek and Newman (BBN) led by Wally Feurzeig, Seymour Papert, and Cynthia Solomon.

The language was designed to be a simple and intuitive tool for teaching children the principles of computer programming. The development of Logo was closely tied to the field of artificial intelligence (AI) and the broader movement to make computers more accessible to the general public.

Feurzeig, Papert, and Solomon were all influenced by the work of the pioneering AI researcher Marvin Minsky, who believed that children could learn to think logically and computationally if they were given the right tools.

At the time, most programming languages were designed for use by professional programmers, and were considered too difficult for children to learn. Logo was different in that it was designed to be simple and intuitive, with a focus on using graphics and turtle-based commands to create simple programs and animations.

The first version of Logo was implemented on a DEC PDP-1 computer, using a turtle as a visual representation of the cursor. The turtle could be moved around the screen by giving it commands in Logo, allowing children to create simple drawings and animations.

This innovative approach to teaching programming quickly gained popularity, and by the early 1970s, Logo was being used in schools around the world.

In the 1980s, it was adapted for use on home computers, including the Apple II and the Commodore 64, and became widely accessible.

One of the key features of Logo is its use of English-like commands, which made it easy for children to learn and use. This was a major departure from other programming languages of the time, which were often difficult for non-experts to understand.

Over the years, Logo has evolved and been implemented on a variety of different platforms, including personal computers and mobile devices.

One of the most famous uses of Logo was the development of the first widely-used educational robotics platform, the LEGO Mindstorms system. Using the Logo programming language, students were able to create simple programs that could control LEGO robots and make them move, turn, and interact with their environment.

In the decades since its inception, the Logo programming language has evolved and grown in complexity, but it remains a popular choice for educators looking to introduce children to the world of computer programming.

The Logo Programming Language, a dialect of Lisp, was designed as a tool for learning. Its features — modularity, extensibility, interactivity, and flexibility — follow from this goal.

For most people, learning Logo is not an end in itself, and programming is always about something. Logo programming activities are in mathematics, language, music, robotics, telecommunications, and science. It is used to develop simulations, and to create multimedia presentations and games. Logo is designed to have a “low threshold and no ceiling”: It is accessible to novices, including young children, and also supports complex explorations and sophisticated projects by experienced users.

The most popular Logo environments have involved the Turtle, originally a robotic creature that sat on the floor and could be directed to move around by typing commands at the computer. Soon the Turtle migrated to the computer graphics screen where it is used to draw shapes, designs, and pictures.

Some turtle species can change shape to be birds, cars, planes, or whatever the designer chooses to make them. In Logo environments with many such turtles, or “sprites” as they are sometimes called, elaborate animations and games are created.

Out Into the World

Widespread use of Logo began with the advent of personal computers during the late 1970s. The MIT Logo Group developed versions of Logo for two machines: The Apple ][ and the Texas Instruments TI 99/4. The Logo language itself was similar in both versions, but the video game hardware of the TI 99/4 lent itself to action-oriented projects, while the Apple version was best suited to turtle graphics, and language projects.

In 1978 a pilot project sponsored by MIT and Texas Instruments was begun at the Lamplighter School in Dallas, Texas with 50 computers and a student population of 450. In 1980 the Computers in Schools Project was initiated by the New York Academy of Sciences and Community School Districts 2, 3, and 9 in New York City, and supported by Texas Instruments and MIT. Twelve TI 99/4 computers were placed in six New York City Public Schools. These were later joined by a few Apple ][s.

Both projects offered teachers extensive training and support through intensive two-week Summer Institutes and follow-up workshops during the school year.

These projects have had lasting results. Theresa Overall, who was a leader in both the Dallas and New York workshops, continued to teach Logo at Lamplighter and to offer summer workshops. Michael Tempel, then of the New York Academy of Sciences is now President of the Logo Foundation, a nonprofit organization that provides Logo professional development and support services to schools and districts throughout the world, including New York City Community School District 3. Two of the teachers who represented that district in the original project, Peter Rentof and Steve Siegelbaum, went on to form the Computer School, one of the District’s alternative middle schools where Logo is still in use today.

The prototype Logo implementations used in those pioneering projects evolved into commercial products. TILOGO was released by Texas Instruments. Terrapin Software, a company that was set up in 1977 to distribute robot floor Turtles, licensed the Apple ][ version of MIT Logo and has marketed it and upgraded it to this day.

A new company, Logo Computer Systems, Inc. (LCSI) was formed in 1980. Many of the researchers, teachers, programmers, and writers who were involved in this venture have played major roles in the subsequent development of Logo. Seymour Papert is LCSI’s chairman. Brian Silverman was Director of Research and guided the development of all of LCSI’s products. Cynthia Solomon, who was on the team that created the original Logo in 1967, headed up LCSI’s first development office in Boston and later directed the Atari Cambridge Research Center. Michael Tempel provided educational support services from LCSI’s New York City office for ten years until he started the Logo Foundation in 1991.

LCSI developed Apple Logo, followed by versions for a host of other computers. With commercial availability, Logo use spread quickly.

Another important event occurred in 1980 – the publication of Seymour Papert’s Mindstorms . Teachers throughout the world became excited by the intellectual and creative potential of Logo. Their enthusiasm fueled the Logo boom of the early 1980s.

New versions of Logo were implemented in more than a dozen spoken languages on a variety of machines, many with video game style graphics and sound capabilities. Logo for MSX computers was popular in Europe, South America, and Japan. Atari Logo and Commodore Logo were popular in North America.

Logo received considerable support from mainstream computer manufacturers. Apple Computer marketed LCSI’s Apple Logo and, at one point, bundled it with the computers given away to each school in California. IBM marketed LCSI’s IBM Logo and Logo Learner.

Atari not only distributed Atari Logo, but set up the ambitious Atari Cambridge Research Center under the direction of Cynthia Solomon.

By the mid 1980’s the computers with video game capabilities had dropped off the market and taken their versions of Logo with them. MSDOS machines increasingly dominated the world of educational computing, except in the United States where Apple was the school favorite. Logo developers concentrated on these machines. Although new implementations added features and took advantage of the increased speed and memory of newer computers, the most popular versions of Logo in use in 1985 were similar to those of 1980.

Around this time there was also some interest in using Logo as a “serious” programming language, especially for the new Macintosh computer. MacLogo from LCSI added new functionality to the Logo environment. Coral Software, developed an object-oriented version of Logo called Object Logo. It included a compiler which allowed programs to run at higher speed, and stand-alone applications could be created. But Logo did not become popular among applications programmers.

Innovation

In 1985 Logo Computer Systems, Inc. introduced LogoWriter, which was novel in several ways. First, it included word processing capability – hence the name. Second, the user interface was simplified and made more intuitive. LogoWriter also included, as the earlier “sprite” Logos had, multiple turtles that could take on different shapes, although in this area the Apple and IBM computers on which LogoWriter ran were no match for the earlier game machines. LogoWriter was implemented in many spoken languages and became popular throughout the world.

Another innovation of the mid-eighties was LEGO Logo. Mitchel Resnick and Steve Ocko, working at the MIT Media Lab, developed a system which interfaced Logo with motors, lights and sensors that were incorporated into machines built out of LEGO bricks and other elements. Robotics systems with Logo were not new, but the popular and well-supported LEGO TC Logo was a commercial success which reached thousands of teachers and their students.

It was around this time that a unique series of Logo conferences took place at MIT. Beginning with LOGO ’84 and continuing for two more years with LOGO ’85 and LOGO ’86, these meetings brought a worldwide community together at Logo’s unofficial home.

In 1988 the Programa Informática Educativa was initiated in Costa Rica by the Omar Dengo Foundation, the Ministry of Public Education, and IBM Latin America. This project put Logo in the hands of most of Costa Rica’s elementary school students and their teachers. A similar project was initiated in Costa Rica’s secondary schools.

The Costa Rican projects have provided extensive teacher education and support with a strong emphasis on Logo’s contructionist educational approach. They have been taken as models for similar endeavors in a dozen other Latin American countries. Through the 1990s Latin American Logo enthusiasts came together every two years in a different country for the Congreso Logo.

In Japan, Logo saw growing acceptance in the country’s schools where the original LogoWriter, then the enhanced LogoWriter2, and then LogoWriter Win were the most popular versions.

In England, Logo was a mandated part of the national curriculum. This guaranteed that Logo was widely, if not necessarily well used. England is also the birthplace of the extinct Valiant Turtle and the Roamer.

There are Logo hot spots throughout Europe where there is a biennial EuroLogo conference. Now renamed, this conference was most recently held in Vienna, Austria as Constructionism 2014. European Logo software developments have included WinLogo in Spain and Comenius Logo from Slovakia.

New Developments during the 1990s

A new version of Logo called MicroWorlds was released in 1993 by LCSI. It embodied major changes both in the Logo environment and the Logo language. It included many extra-Logo features – drawing tools, a shape editor, a melody maker, the ability to import graphics and sounds – that work along with Logo to support the creation of multimedia projects, games, and simulations. Microworlds has been upgraded several times and is available today as MicroWorlds EX.

MicroWorlds Logo includes a number of changes, the most significant being multi-tasking, or parallel processing. Several processes can be launched independently. This is invaluable when creating animations with more than one actor – the car can drive off a cliff while the dog wags its tail while the fat lady sings. This sort of thing is possible in a non-parallel Logo environment but it is far easier and more natural in MicroWorlds.

Control Lab and Control System were LEGO Logo products whose multi-tasking software was built on the same core as MicroWorlds.

Another LEGO Logo innovation was the Programmable Brick , a research project at MIT spearheaded by Fred Martin. Unlike earlier LEGO Logo products where the robot received instructions through wires connected to a computer, the Programmable Brick had a computer inside. A program written on a desktop or laptop computer could be downloaded to the Brick, which could then be detached from the host computer and run its program autonomously.

LEGO commercialized the programmable brick as the RCX and later the NXT, and now the EV3 in products called LEGO Mindstorms. Smaller versions of the Programmable Brick, called crickets, where also developed commercially as the Handy Cricket and PICO Cricket .

As part of the Programmable Brick project at the MIT Media Lab a new version of Logo called Logo Blocks was created.  Instead of writing lines of code in text, programs were built by snapping together jigsaw-like puzzle pieces.

A radically different Logo called StarLogo was introduced in 1994. It is a massively parallel version that was developed by Mitchel Resnick at MIT. Thousands of turtles can carry on independent processes and interact with each other and with patches of background. The system is specifically designed to facilitate the exploration of decentralized systems, emergent phenomena, and self organizing behavior. Resnick’s Turtles, Termites, and Traffic Jams is the source book on StarLogo and the ideas underlying its conception.

A similar program called NetLogo was developed by Uri Wilensky, who now heads the Center for Connected Learning at Northwestern University.

The 21st Century

In 2004 a new Logo programming environment called Scratch emerged from the Lifelong Kindergarten Group at the MIT Media Lab. It uses the blocks programming paradigm that was originally implemented as Logo Blocks.  Scratch is well suited to designing and building interactive stories, animations, games, music, and art. It can gather information from the outside world via a sensor board connected to the computer. The Scratch Web site provides the focal point for a community of millions of users who have shared more than nine million projects.

Following from the popularity of Scratch, blocks programming has become widespread and is used in a number of other Logo applications including Turtle Art, Scratch for Arduino, Snap!, and StarLogo TNG .

Meanwhile, traditional versions of Logo continue to be used.Brian Harvey, author of the three-volume classic Computer Science Logo Style wrote UCBLogo, a public domain version for Macintosh, MSDOS, and Unix.George Mills used the core of UCBLogo as the basis for his MSWLogo which runs under Windows with many enhancements that are possible in that operating system. FMSLogo is a more recent version of Logo based on MSWLogo.

After more than four decades of growth, Logo has undergone dramatic changes in step with the rapid pace of development in computer technology. The family of Logo environments is more divers than ever before.

Pavel Boytchev, who created Elica, has compiled the Logo Tree, which lists all the versions of Logo, past and current, that he has information about. There are more than 300 of them.

Logo is a growing family of programming languages and a learning environments, and a worldwide community of people drawn together by a shared commitment to a constructivist educational philosophy.

To find out more about Logo you can continue to wander around this website and check out the links to other sites.

Today, it is still widely used in schools and other educational settings as a tool for teaching computational thinking and problem-solving skills.

There are many different versions of Logo available, including versions that run on personal computers and mobile devices. Overall, the Logo programming language has played a significant role in the history of personal computing, and continues to be an important tool for teaching the next generation of computer programmers.

Despite its age, Logo remains an important part of the history of programming and continues to inspire new generations of programmers and computer scientists. It stands as a testament to the power of simple, intuitive tools for teaching complex concepts and encouraging children to think critically and creatively.

The Logo Programming Language, a dialect of Lisp, was designed as a tool for learning. Its features — modularity, extensibility, interactivity, and flexibility — follow from this goal.

For most people, learning Logo is not an end in itself, and programming is always about something. Logo programming activities are in mathematics, language, music, robotics, telecommunications, and science. It is used to develop simulations, and to create multimedia presentations and games. Logo is designed to have a “low threshold and no ceiling”: It is accessible to novices, including young children, and also supports complex explorations and sophisticated projects by experienced users.

The most popular Logo environments have involved the Turtle, originally a robotic creature that sat on the floor and could be directed to move around by typing commands at the computer. Soon the Turtle migrated to the computer graphics screen where it is used to draw shapes, designs, and pictures.

Some turtle species can change shape to be birds, cars, planes, or whatever the designer chooses to make them. In Logo environments with many such turtles, or “sprites” as they are sometimes called, elaborate animations and games are created.

Content of Problem:

Computational Abstractions

1.0

Pupils should be taught to:

design, use and evaluate computational abstractions that model the state and behaviour of real-world problems and physical systems.

In computer science, abstraction is the process by which data and programs are defined with a representation similar in form to its meaning (semantics), while hiding away the implementation details. Abstraction tries to reduce and factor out details so that the programmer can focus on a few concepts at a time. A system can have several abstraction layers whereby different meanings and amounts of detail are exposed to the programmer

refines the definition of computational thinking to six concepts: a thought process, abstraction, decomposition, algorithmic design, evaluation, and generalisation. All of these concepts are employed in problemsolving processes. Again, the emphasis in this list of concepts is on thought processes, not the production of artefacts or evidence

Computing Progression Pathways and describes how it can be used to acknowledge progression and reward performance in mastering both the computing programme of study content and computational thinking skills.

There is some debate about whether it is important that the arbitrary values of progression be standardized across schools. Naace (Harrison, 2014), in their guidance, indicate “…a school approach to assessment will need to be tailored to match their approach to the curriculum” (p. 1).

Alternatively, the National Association of Head Teachers (NAHT) propose when translating the national curriculum into assessment criteria “… there is little room for meaningful variety, we suggest this job be shared between schools” (2014, p. 10).

Whether it is designed by a single school or a collection of interested parties, an assessment framework is required by classroom practitioners.

The Computing Progression Pathways (Dorling and Walker, 2014) is an example of a non-statutory assessment framework. It was produced by a small team of authors and reviewers, all teachers, based on their classroom experiences.

 It is an interpretation of the breadth and depth of the content in the 2014 national curriculum for computing programme of study.

 It includes the dependencies and interdependencies between concepts and principles. This may help non-specialist teachers and inexperienced teachers to understand what should be taught in the classroom. It is publicly available at this link:

The framework is grid-based.

Five of the six strands, represented as columns, are aligned with the range and content categories from the Computing at School curriculum (Computing at School, 2012) and the requirements of applicants to initial teacher training courses (DfE, 2012).

 These include algorithms, programming and development, data and data representation, hardware and processing, communication and networks.

The sixth strand incorporates the more traditional concept of information technology. This breadth affords an opportunity to view the subject of computing as a whole, rather than the separate subjects of Computer Science, Digital Literacy, and Information Technology.

 Each row represents a level of pupil progression. Annotation of the framework suggests that key stages 1-2 cover the first four levels (pink, yellow, orange, and blue), that key stages 3-4 cover the next four levels (purple, red, and black), and that GCSE covers the final level (white).

As an example, the purple cell under the “Hardware and Processing” strand states that a pupil “Recognises and understands the function of the main internal parts of basic computer architecture” (Dorling and Walker, 2014).

The colour-coded rows may aid teachers in assessing whether pupils are exhibiting competences at different levels and in recognizing achievement and attainment. In addition, adherence to the colour-coded statements can provide standardization across schools as identified by the NAHT (2014).

Institutions planning to use this assessment framework with existing assessment or reporting systems may: • assign values or levels to the coloured rows, • agree the benchmark value, level, or entry point for a particular key stage, assign the benchmark value or level to the appropriate progression statements.

The Computing Progression Pathways also affords opportunities to celebrate achievement in computing. There is a growing interest in badges as an informal recognition of skill, knowledge, understanding, or attitude.

They are made and awarded by commercial organisations, educational suppliers, websites, schools, teachers, and pupils (Hamilton and Henderson, 2013; Mozilla, 2014; Radiowaves Schools, 2014).

Recognizing and rewarding pupil achievement in each strand can be accomplished via coloured digital badges. Each strand can be assigned a separate digital badge. There may be two-tone badges for pupils working between coloured progression levels. Currently, there are no digital badge designs for the strands.

 Teachers and pupils who will be using the digital badge system are better placed to design and create them. The process of designing and creating the digital badges might promote learner ownership and student-centeredness (Reigeluth, 2013).

The computational thinking concepts of abstraction, decomposition, algorithmic design, evaluation, and generalisation have been abbreviated to the first two letters. Care has been taken by 3 iterations of expert evaluation of the statements to avoid making assumptions about how the teaching might afford opportunities for computational thinking rather than strictly interpreting what is explicitly stated in the Computing Curriculum Pathways.

 For example, an exercise in a classroom might afford opportunities to identify suitability for purpose and efficiency of input and output devices.

Table 1: Computational thinking and progression pathways in computing (Based on Dorling and Walker, 2014) Using this strategy of identifying computational thinking concepts associated with the pathways’ statements enables computational thinking to be assessed using the same framework as the programme of study. From a practitioner’s perspective, there is no additional assessment or progression tracking required to fulfil the broad aim of the computing programme of study to incorporate computational thinking.

Conclusion The computing programme of study (DfE, 2013b) includes the broad aim of incorporating computational thinking into the classroom.

The subject content is detailed in the document, but the connection to computational thinking and its meaning is not. Removal of the statutory assessment frameworks, which did not assess computational thinking, leaves a void in assessing pupils’ attainment.

Both of these shortcomings have been addressed in this paper. An understanding of 9 computational thinking, based on the work of Selby and Woollard (2013), has been established. An assessment framework, the Computing Progression Pathways, has been used to illustrate the dependencies and interdependencies between the concepts and principles of the programme of study (Dorling and Walker, 2014). This work has demonstrated how the Computing Progression Pathways can be used to evidence the assessment of computational thinking directly. By using the assessment framework to evidence progression, with its underlying support for computational thinking concepts, it is possible for the classroom practitioner to assess computational thinking without introducing additional complexity to the assessment process. However, this does raise questions around the provision for teachers of a framework for the pedagogy of computational thinking that aligns to this assessment approach

2.3. Problem solving techniques 2.3.1. Introduction Now, it’s easy to write down these stages but harder to see how they apply in practical problem solving for programming. It’s really not clear where to begin. Programming isn’t hard when you know how to solve the problem. It then becomes a matter of battling with the vagaries of language‐specific syntax, semantics and tools. For people new to programming, this language specific detail can become overwhelming, leading to a plethora of tiny, low level concerns at the expense of understanding how to solve an original problem. And there is curiously little material on problem solving and programming.

For example, Wienberg’s (1971) classic study of the psychology of programming assumes that programming is an activity based on a specification that is elaborated from analysis, but says nothing about analysis itself. This echoes the then prevalent waterfall model of software development with distinct stages which are never revisited.

 One of the few books that ostensibly focuses on problem solving and programming, Dromey’s How to solve it by computer (Dromey, 1982), draws explicitly on Polya’s 1950 foundational study How to solve it (Polya, 1990) and on later work by Wickelgren (1974). Polya (pp5 & 6) characterises problem solving as a four stage process of: understanding the problem; linking unknowns to data to make a plan; carrying out the plan; looking back and reviewing the solution. He offers a long list of problem solving heuristics, many of which correspond to different aspects of CT (e.g. analogy, auxiliary problem, decomposing and recombining, do you know a related problem, specialisation) but doubts any systematic way of deploying them: ‘Rule of discovery. The first rule of discovery is to have brains and good luck.

 The second rule of discovery is to sit tight and wait till you get a bright idea. … To find unfailing rules applicable to all sorts of problems is an old philosophical dream; but this dream will never be more than a dream.’ (p172)

Nonetheless, Wickelgren attempts to provide a methodical approach to solving what he terms formal problems that is those couched in some formal notation, typically logical or mathematical. Wickelgren sees a problem as being specified as a starting state, a set of allowable operations over states, and a goal state. Thus, a solution is found by a sequence of state to state transitions leading from the start state to the goal state. Much of the book focuses on techniques for pruning the space of transitions, in particular reasoning backwards from the goal, but there is little on problem formulation. Dromey (1982) is a proponent of top down design and stepwise refinement, linking decomposition to algorithm, which we will consider briefly below. He also uses logical statements to capture properties of program stages, typically loop invariants.

While he acknowledges the central role of the choice of data structures in programming, he largely focuses on algorithm design, suggesting that structures are somehow chosen from a menu of JPD: 5:1:55

 Journal of Pedagogic Development Volume 5, Issue 1 options. Despite acknowledging Polya’s and Winkelgren’s influences, Dromey has little to say about problem formulation. Still, we already have tried and tested techniques for teaching programming so why can’t we retrofit CT to what we do already? Let us now consider a range of these in slightly more detail, in inconsistently chronological order. Please note that much of the following is partial, anecdotal and superficial.

Effective Tool of Logical Programming in Curriculums for Highschool, and Middle Schools:

1.1  Learning Outcomes

In our LP course, we decided not to put emphasis into Prolog knowledge per-se (although

basic elements of the language should be taught), but to focus on all the above aspects. We

believe the students appreciate more the skills acquired through this course, which can be

used to change the mind-set of the programming task as a whole. By the end of the course

should be able to:

•  understand the basic principles of logic programming theory and symbolic reasoning,

•  demonstrate  good knowledge of the basic Prolog language by constructing small

programs,

•  make sense of more complicated Prolog programs, predict and describe what they do,

•  modify existing code to perform a similar task,

•  identify the advantages of declarative programming and evaluate its shortcomings in

comparison with imperative languages,

•  comprehend the basic principles of programming languages, like procedural abstraction,

program design and development, parameter passing, recursion, variable binding etc.,

•  adapt declarative programming techniques to other programming paradigms.

These learning outcomes are assessed through coursework and final examinations.

1.2 Discrete Mathematics Preparation

Discrete Mathematics

Discrete mathematics is foundational material for computer science: Many areas of computer science require the ability to work with concepts from discrete mathematics, specifically material from such areas as set theory, logic, graph theory, combinatorics, and probability theory.

1.3 Common Lisp

The material in discrete mathematics is pervasive in the areas of data structures and algorithms but appears elsewhere in computer science as well. For example, an ability to create and understand a proof is important in virtually every area of computer science, including (to name just a few) formal specification, verification, databases, and cryptography.  Graph theory concepts are used in networks, operating systems, and compilers. Set theory concepts are used in software engineering and in databases.  Probability theory is used in artificial intelligence, machine learning, networking, and a number of computing applications.

Consequently, a Common Lisp program tends to provide a much clearer mapping between your ideas about how the program works and the code you actually write. Your ideas aren’t obscured by boilerplate code and endlessly repeated idioms. This makes your code easier to maintain because you don’t have to wade through reams of code every time you need to make a change. Even systemic changes to a program’s behavior can often be achieved with relatively small changes to the actual code. This also means you’ll develop code more quickly; there’s less code to write, and you don’t waste time thrashing around trying to find a clean way to express yourself within the limitations of the language.2

Common Lisp is also an excellent language for exploratory programming–if you don’t know exactly how your program is going to work when you first sit down to write it, Common Lisp provides several features to help you develop your code incrementally and interactively.

For starters, the interactive read-eval-print loop, which I’ll introduce in the next chapter, lets you continually interact with your program as you develop it. Write a new function. Test it. Change it. Try a different approach. You never have to stop for a lengthy compilation cycle.3

Other features that support a flowing, interactive programming style are Lisp’s dynamic typing and the Common Lisp condition system. Because of the former, you spend less time convincing the compiler you should be allowed to run your code and more time actually running it and working on it,4 and the latter lets you develop even your error handling code interactively.

Another consequence of being “a programmable programming language” is that Common Lisp, in addition to incorporating small changes that make particular programs easier to write, can easily adopt big new ideas about how programming languages should work. For instance, the original implementation of the Common Lisp Object System (CLOS), Common Lisp’s powerful object system, was as a library written in portable Common Lisp. This allowed Lisp programmers to gain actual experience with the facilities it provided before it was officially incorporated into the language.

Literature Review:

A logic Program is typically, a collection of Clauses that consist of preconditions for running the clause and a should be taken. Matching exercises in a Cognitive Compression way to develop a child’s brain to think Logically and Mathematically even about Reading Compression.

Designed for Fuzzy Logic in A.I in advanced way to train Human Interactions and Brain Cognitive and Generally how Programming works

#35. In context which of the following would NOT improve sentence 14

Whatever their experience, I believe that more and more women are playings, sports today, than ever before did play sports, and I think that is has many positive consequences for LARGER SOCIETY

  1. Delete “ I believe that:
  2. Delete “than ever before did play sports.”
  3. Delete: I think that “
  4. Insert the word” trend: after “this.:
  5. Replace “many” with : alot of .”

Imagine if utilized Daydreamin Comics with a computational abstraction: in OCR( optical character recognition) a child’s imagination of reading a comic book or literature give a survey of comments to what the context of the story was about, not knowing it , training for great reading compression. example

COMMENT BOX AND ABOVE IS THE FOLLOWING:

  1. Delete “ I believe that:
  2. Delete “than ever before did play sports.”
  3. Delete: I think that “
  4. Insert the word” trend: after “this.:
  5. Replace “many” with : alot of .”

Computational Abstractions

Introduction

Pupils should be taught to: design, use and evaluate computational abstractions that model the state and behavior of real-world problems and physical systems.

In computer science, abstraction is the process by which data and programs are defined with a representation similar in form to its meaning (semantics), while hiding away the implementation details. Abstraction tries to reduce and factor out details so that the programmer can focus on a few concepts at a time. A system can have several abstraction layers whereby different meanings and amounts of detail are exposed to the programmer refines the definition of computational thinking to six concepts: a thought process, abstraction, decomposition, algorithmic design, evaluation, and generalization. All of these concepts are employed in problem solving processes. Again, the emphasis in this list of concepts is on thought processes, not the production of artefacts or evidence.

The Computing Progression Pathways (Dorling and Walker, 2014) is an example of a non-statutory assessment framework. It was produced by a small team of authors and reviewers, all teachers, based on their classroom experiences. It is an interpretation of the breadth and depth of the content in the 2014 national curriculum for computing program of study. It includes the dependencies and interdependencies between concepts and principles. This may help non-specialist teachers and inexperienced teachers to understand what should be taught in the classroom. It is publicly available at this link:

Evidence of assessing computational thinking Given that computational thinking concepts have been defined (Selby and Woollard, 2013) and an assessment framework for the computing program of study has been proposed (Dorling and Walker, 2014), a mapping can be developed to illustrate how computational thinking can be assessed over the full breadth and depth of the computing programme of study.

2.3. Problem solving techniques.

2.3.1. Introduction Now, it’s easy to write down these stages but harder to see how they apply in practical problem solving for programming.

Content of Problem:

Computational Abstractions

1.0

Pupils should be taught to:

design, use and evaluate computational abstractions that model the state and behaviour of real-world problems and physical systems.

In computer science, abstraction is the process by which data and programs are defined with a representation similar in form to its meaning (semantics), while hiding away the implementation details. Abstraction tries to reduce and factor out details so that the programmer can focus on a few concepts at a time. A system can have several abstraction layers whereby different meanings and amounts of detail are exposed to the programmer

refines the definition of computational thinking to six concepts: a thought process, abstraction, decomposition, algorithmic design, evaluation, and generalisation. All of these concepts are employed in problemsolving processes. Again, the emphasis in this list of concepts is on thought processes, not the production of artefacts or evidence

Computing Progression Pathways and describes how it can be used to acknowledge progression and reward performance in mastering both the computing programme of study content and computational thinking skills.

There is some debate about whether it is important that the arbitrary values of progression be standardized across schools. Naace (Harrison, 2014), in their guidance, indicate “…a school approach to assessment will need to be tailored to match their approach to the curriculum” (p. 1).

Alternatively, the National Association of Head Teachers (NAHT) propose when translating the national curriculum into assessment criteria “… there is little room for meaningful variety, we suggest this job be shared between schools” (2014, p. 10).

Whether it is designed by a single school or a collection of interested parties, an assessment framework is required by classroom practitioners.

The Computing Progression Pathways (Dorling and Walker, 2014) is an example of a non-statutory assessment framework. It was produced by a small team of authors and reviewers, all teachers, based on their classroom experiences.

 It is an interpretation of the breadth and depth of the content in the 2014 national curriculum for computing programme of study.

 It includes the dependencies and interdependencies between concepts and principles. This may help non-specialist teachers and inexperienced teachers to understand what should be taught in the classroom. It is publicly available at this link:

The framework is grid-based.

Five of the six strands, represented as columns, are aligned with the range and content categories from the Computing at School curriculum (Computing at School, 2012) and the requirements of applicants to initial teacher training courses (DfE, 2012).

 These include algorithms, programming and development, data and data representation, hardware and processing, communication and networks.

The sixth strand incorporates the more traditional concept of information technology. This breadth affords an opportunity to view the subject of computing as a whole, rather than the separate subjects of Computer Science, Digital Literacy, and Information Technology.

 Each row represents a level of pupil progression. Annotation of the framework suggests that key stages 1-2 cover the first four levels (pink, yellow, orange, and blue), that key stages 3-4 cover the next four levels (purple, red, and black), and that GCSE covers the final level (white).

As an example, the purple cell under the “Hardware and Processing” strand states that a pupil “Recognises and understands the function of the main internal parts of basic computer architecture” (Dorling and Walker, 2014).

The colour-coded rows may aid teachers in assessing whether pupils are exhibiting competences at different levels and in recognizing achievement and attainment. In addition, adherence to the colour-coded statements can provide standardization across schools as identified by the NAHT (2014).

Institutions planning to use this assessment framework with existing assessment or reporting systems may: • assign values or levels to the coloured rows, • agree the benchmark value, level, or entry point for a particular key stage, assign the benchmark value or level to the appropriate progression statements.

The Computing Progression Pathways also affords opportunities to celebrate achievement in computing. There is a growing interest in badges as an informal recognition of skill, knowledge, understanding, or attitude.

They are made and awarded by commercial organisations, educational suppliers, websites, schools, teachers, and pupils (Hamilton and Henderson, 2013; Mozilla, 2014; Radiowaves Schools, 2014).

Recognizing and rewarding pupil achievement in each strand can be accomplished via coloured digital badges. Each strand can be assigned a separate digital badge. There may be two-tone badges for pupils working between coloured progression levels. Currently, there are no digital badge designs for the strands.

 Teachers and pupils who will be using the digital badge system are better placed to design and create them. The process of designing and creating the digital badges might promote learner ownership and student-centeredness (Reigeluth, 2013).

The computational thinking concepts of abstraction, decomposition, algorithmic design, evaluation, and generalisation have been abbreviated to the first two letters. Care has been taken by 3 iterations of expert evaluation of the statements to avoid making assumptions about how the teaching might afford opportunities for computational thinking rather than strictly interpreting what is explicitly stated in the Computing Curriculum Pathways.

 For example, an exercise in a classroom might afford opportunities to identify suitability for purpose and efficiency of input and output devices.

Table 1: Computational thinking and progression pathways in computing (Based on Dorling and Walker, 2014) Using this strategy of identifying computational thinking concepts associated with the pathways’ statements enables computational thinking to be assessed using the same framework as the programme of study. From a practitioner’s perspective, there is no additional assessment or progression tracking required to fulfil the broad aim of the computing programme of study to incorporate computational thinking.

Conclusion The computing programme of study (DfE, 2013b) includes the broad aim of incorporating computational thinking into the classroom.

The subject content is detailed in the document, but the connection to computational thinking and its meaning is not. Removal of the statutory assessment frameworks, which did not assess computational thinking, leaves a void in assessing pupils’ attainment.

Both of these shortcomings have been addressed in this paper. An understanding of 9 computational thinking, based on the work of Selby and Woollard (2013), has been established. An assessment framework, the Computing Progression Pathways, has been used to illustrate the dependencies and interdependencies between the concepts and principles of the programme of study (Dorling and Walker, 2014). This work has demonstrated how the Computing Progression Pathways can be used to evidence the assessment of computational thinking directly. By using the assessment framework to evidence progression, with its underlying support for computational thinking concepts, it is possible for the classroom practitioner to assess computational thinking without introducing additional complexity to the assessment process. However, this does raise questions around the provision for teachers of a framework for the pedagogy of computational thinking that aligns to this assessment approach

2.3. Problem solving techniques 2.3.1. Introduction Now, it’s easy to write down these stages but harder to see how they apply in practical problem solving for programming. It’s really not clear where to begin. Programming isn’t hard when you know how to solve the problem. It then becomes a matter of battling with the vagaries of language‐specific syntax, semantics and tools. For people new to programming, this language specific detail can become overwhelming, leading to a plethora of tiny, low level concerns at the expense of understanding how to solve an original problem. And there is curiously little material on problem solving and programming.

For example, Wienberg’s (1971) classic study of the psychology of programming assumes that programming is an activity based on a specification that is elaborated from analysis, but says nothing about analysis itself. This echoes the then prevalent waterfall model of software development with distinct stages which are never revisited.

 One of the few books that ostensibly focuses on problem solving and programming, Dromey’s How to solve it by computer (Dromey, 1982), draws explicitly on Polya’s 1950 foundational study How to solve it (Polya, 1990) and on later work by Wickelgren (1974). Polya (pp5 & 6) characterises problem solving as a four stage process of: understanding the problem; linking unknowns to data to make a plan; carrying out the plan; looking back and reviewing the solution. He offers a long list of problem solving heuristics, many of which correspond to different aspects of CT (e.g. analogy, auxiliary problem, decomposing and recombining, do you know a related problem, specialisation) but doubts any systematic way of deploying them: ‘Rule of discovery. The first rule of discovery is to have brains and good luck.

 The second rule of discovery is to sit tight and wait till you get a bright idea. … To find unfailing rules applicable to all sorts of problems is an old philosophical dream; but this dream will never be more than a dream.’ (p172)

Nonetheless, Wickelgren attempts to provide a methodical approach to solving what he terms formal problems that is those couched in some formal notation, typically logical or mathematical. Wickelgren sees a problem as being specified as a starting state, a set of allowable operations over states, and a goal state. Thus, a solution is found by a sequence of state to state transitions leading from the start state to the goal state. Much of the book focuses on techniques for pruning the space of transitions, in particular reasoning backwards from the goal, but there is little on problem formulation. Dromey (1982) is a proponent of top down design and stepwise refinement, linking decomposition to algorithm, which we will consider briefly below. He also uses logical statements to capture properties of program stages, typically loop invariants.

While he acknowledges the central role of the choice of data structures in programming, he largely focuses on algorithm design, suggesting that structures are somehow chosen from a menu of JPD: 5:1:55

 Journal of Pedagogic Development Volume 5, Issue 1 options. Despite acknowledging Polya’s and Winkelgren’s influences, Dromey has little to say about problem formulation. Still, we already have tried and tested techniques for teaching programming so why can’t we retrofit CT to what we do already? Let us now consider a range of these in slightly more detail, in inconsistently chronological order. Please note that much of the following is partial, anecdotal and superficial.

Effective Tool of Logical Programming in Curriculums for Highschool, and Middle Schools:

1.1  Learning Outcomes

In our LP course, we decided not to put emphasis into Prolog knowledge per-se (although

basic elements of the language should be taught), but to focus on all the above aspects. We

believe the students appreciate more the skills acquired through this course, which can be

used to change the mind-set of the programming task as a whole. By the end of the course

should be able to:

•  understand the basic principles of logic programming theory and symbolic reasoning,

•  demonstrate  good knowledge of the basic Prolog language by constructing small

programs,

•  make sense of more complicated Prolog programs, predict and describe what they do,

•  modify existing code to perform a similar task,

•  identify the advantages of declarative programming and evaluate its shortcomings in

comparison with imperative languages,

•  comprehend the basic principles of programming languages, like procedural abstraction,

program design and development, parameter passing, recursion, variable binding etc.,

•  adapt declarative programming techniques to other programming paradigms.

These learning outcomes are assessed through coursework and final examinations.

1.2 Discrete Mathematics Preparation

Discrete Mathematics

Discrete mathematics is foundational material for computer science: Many areas of computer science require the ability to work with concepts from discrete mathematics, specifically material from such areas as set theory, logic, graph theory, combinatorics, and probability theory.

1.3 Common Lisp

The material in discrete mathematics is pervasive in the areas of data structures and algorithms but appears elsewhere in computer science as well. For example, an ability to create and understand a proof is important in virtually every area of computer science, including (to name just a few) formal specification, verification, databases, and cryptography.  Graph theory concepts are used in networks, operating systems, and compilers. Set theory concepts are used in software engineering and in databases.  Probability theory is used in artificial intelligence, machine learning, networking, and a number of computing applications.

Consequently, a Common Lisp program tends to provide a much clearer mapping between your ideas about how the program works and the code you actually write. Your ideas aren’t obscured by boilerplate code and endlessly repeated idioms. This makes your code easier to maintain because you don’t have to wade through reams of code every time you need to make a change. Even systemic changes to a program’s behavior can often be achieved with relatively small changes to the actual code. This also means you’ll develop code more quickly; there’s less code to write, and you don’t waste time thrashing around trying to find a clean way to express yourself within the limitations of the language.2

Common Lisp is also an excellent language for exploratory programming–if you don’t know exactly how your program is going to work when you first sit down to write it, Common Lisp provides several features to help you develop your code incrementally and interactively.

For starters, the interactive read-eval-print loop, which I’ll introduce in the next chapter, lets you continually interact with your program as you develop it. Write a new function. Test it. Change it. Try a different approach. You never have to stop for a lengthy compilation cycle.3

Other features that support a flowing, interactive programming style are Lisp’s dynamic typing and the Common Lisp condition system. Because of the former, you spend less time convincing the compiler you should be allowed to run your code and more time actually running it and working on it,4 and the latter lets you develop even your error handling code interactively. Another consequence of being “a programmable programming language” is that Common Lisp, in addition to incorporating small changes that make particular programs easier to write, can easily adopt big new ideas about how programming languages should work. For instance, the original implementation of the Common Lisp Object System (CLOS), Common Lisp’s powerful object system, was as a library written in portable Common Lisp. This allowed Lisp programmers to gain actual experience with the facilities it provided before it was officially incorporated into the language

Leave a Comment

Your email address will not be published. Required fields are marked *