Automatic Detection of Bad Programming Habits in Scratch, A Preliminary StudyJesús Moreno León
This paper shows the preliminary results of a study regarding two bad programming habits we have detected in our work as instructors with high school students learning to program with Scratch. In order to check if these bad habits, which have to do with object naming and code repetition, are also commonly found in the projects shared in the community repository, we downloaded 100 projects and analyzed them with two plug-ins we developed for Hairball, detecting that most of the inspected projects, 79% and 62% respectively, fall into these issues.
Detecting Bad Smells in Source Code using Change History InformationFabio Palomba
Code smells represent symptoms of poor implementation choices. Previous studies found that these smells make source code more difficult to maintain, possibly also increasing its fault-proneness. There are several approaches that identify smells based on code analysis techniques. However, we observe that many code smells are intrinsically characterized by how code elements change over time. Thus, relying solely on structural information may not be sufficient to detect all the smells accurately. We propose an approach to detect five different code smells, namely Divergent Change, Shotgun Surgery, Parallel Inheritance, Blob, and Feature Envy, by exploiting change history information mined from versioning systems. We applied approach, coined as HIST (Historical Information for Smell deTection), to eight software projects written in Java, and wherever possible compared with existing state-of-the-art smell detectors based on source code analysis. The results indicate that HIST’s precision ranges between 61% and 80%, and its recall ranges between 61% and 100%. More importantly, the results confirm that HIST is able to identify code smells that cannot be identified through approaches solely based on code analysis.
A quick-and-dirty introduction to Design Smells, as presented in Robert 'Uncle Bob' Martin book "Agile Software Development". Thought as the first of a series.
Finding Resource Manipulation Bugs in Linux CodeAndrzej Wasowski
Software projects suffer from conceptually simple resource manipulation bugs, such as accessing a de-allocated memory region, or acquiring a non-reentrant lock twice. The VBDB bug database contains entries for 100 such real bugs from several open source projects, including the Linux Kernel project. These historical bugs have been collected with the aim of giving concrete well understood and documented cases to program analysis researchers, in order to boost program verification research. I will discuss simplicity and complexity of real software manipulation bugs on examples selected from VBDB. One way to reduce the amount of such bugs is to use code scanners such as Smatch or Coccinelle. Unfortunately, while very efficient, code scanners are typically based on syntactic pattern matching, which is insufficient for identifying problems that span multiple functions and involve dynamically allocated memory. We have developed a shape-and-effect inference system for C that constructs a lightweight semantic abstraction, more analyzable than syntax. A model checker is then used to match semantic bug patterns over the control flow graph decorated with the shape-and-effect abstractions. Experiments run with our prototype analyzer (EBA) shows better precision and effectiveness than with syntactic bug scanners. We have been so far able to identify 10 previously unknown locking bugs in the Linux kernel. The bugs are confirmed as real by the Kernel developers, and five of them have been already fixed in response to our reports. I will conclude, sketching how we combine EBA with another tool, RECONFIGURATOR, to massively scan Linux kernel code for bugs in atypical source configurations.
Automatic Detection of Bad Programming Habits in Scratch, A Preliminary StudyJesús Moreno León
This paper shows the preliminary results of a study regarding two bad programming habits we have detected in our work as instructors with high school students learning to program with Scratch. In order to check if these bad habits, which have to do with object naming and code repetition, are also commonly found in the projects shared in the community repository, we downloaded 100 projects and analyzed them with two plug-ins we developed for Hairball, detecting that most of the inspected projects, 79% and 62% respectively, fall into these issues.
Detecting Bad Smells in Source Code using Change History InformationFabio Palomba
Code smells represent symptoms of poor implementation choices. Previous studies found that these smells make source code more difficult to maintain, possibly also increasing its fault-proneness. There are several approaches that identify smells based on code analysis techniques. However, we observe that many code smells are intrinsically characterized by how code elements change over time. Thus, relying solely on structural information may not be sufficient to detect all the smells accurately. We propose an approach to detect five different code smells, namely Divergent Change, Shotgun Surgery, Parallel Inheritance, Blob, and Feature Envy, by exploiting change history information mined from versioning systems. We applied approach, coined as HIST (Historical Information for Smell deTection), to eight software projects written in Java, and wherever possible compared with existing state-of-the-art smell detectors based on source code analysis. The results indicate that HIST’s precision ranges between 61% and 80%, and its recall ranges between 61% and 100%. More importantly, the results confirm that HIST is able to identify code smells that cannot be identified through approaches solely based on code analysis.
A quick-and-dirty introduction to Design Smells, as presented in Robert 'Uncle Bob' Martin book "Agile Software Development". Thought as the first of a series.
Finding Resource Manipulation Bugs in Linux CodeAndrzej Wasowski
Software projects suffer from conceptually simple resource manipulation bugs, such as accessing a de-allocated memory region, or acquiring a non-reentrant lock twice. The VBDB bug database contains entries for 100 such real bugs from several open source projects, including the Linux Kernel project. These historical bugs have been collected with the aim of giving concrete well understood and documented cases to program analysis researchers, in order to boost program verification research. I will discuss simplicity and complexity of real software manipulation bugs on examples selected from VBDB. One way to reduce the amount of such bugs is to use code scanners such as Smatch or Coccinelle. Unfortunately, while very efficient, code scanners are typically based on syntactic pattern matching, which is insufficient for identifying problems that span multiple functions and involve dynamically allocated memory. We have developed a shape-and-effect inference system for C that constructs a lightweight semantic abstraction, more analyzable than syntax. A model checker is then used to match semantic bug patterns over the control flow graph decorated with the shape-and-effect abstractions. Experiments run with our prototype analyzer (EBA) shows better precision and effectiveness than with syntactic bug scanners. We have been so far able to identify 10 previously unknown locking bugs in the Linux kernel. The bugs are confirmed as real by the Kernel developers, and five of them have been already fixed in response to our reports. I will conclude, sketching how we combine EBA with another tool, RECONFIGURATOR, to massively scan Linux kernel code for bugs in atypical source configurations.
This talk happened at the University of Tarragona (URV) with a lot of students as attendees. It encourages to strive for a learning culture and being better professionals in software development.
A Bonus to the "Three Interviews About Static Analyzers" Article, or Intervie...Andrey Karpov
About a week ago, I published the "Three Interviews About Static Code Analyzers" article at Habrahabr.
This article presents opinions of three experienced programmers from the companies Acronis,
AlternativaPlatform and Echelon Company concerning software development methodologies as well as
some of their ideas about using static code analyzers.
Since the article was sponsored by the OOO "Program Verification Systems" company, developer of the
PVS-Studio static analyzer, I asked Andrey Karpov (CTO) to answer some questions too. In particular, I
asked him to comment upon the most interesting aspects and ideas of all the three interviews and say a
few words for colleagues and readers, too. Here's what we've got - one more interesting interview.
Breaking Through The Challenges of Scalable Deep Learning for Video AnalyticsJason Anderson
Meetup Link: https://www.meetup.com/Cognitive-Computing-Enthusiasts/events/250444108/
Recording Link: https://www.youtube.com/watch?v=4uXg1KTXdQc
When developing a machine learning system, the possibilities are limitless. However, with the recent explosion of Big Data and AI, there are more options than ever to filter through. Which technologies to select, which model topologies to build, and which infrastructure to use for deployment, just to name a few. We have explored these options for our faceted refinement system for video content system (consisting of 100K+ videos) along with their many roadblocks. Three primary areas of focus involve natural language processing, video frame sampling, and infrastructure deployment.
Konstantin Knizhnik: static analysis, a view from asidePVS-Studio
The article is an interview with Konstantin Knizhnik taken by Andrey Karpov, "Program Verification Systems" company's worker. In this interview the issues of static code analysis, relevance of solutions made in this sphere and prospects of using static analysis while developing applications are discussed.
Everyone wants a better and secure career. As blockchain is now taking over the world, many companies are offering a secured and luxurious career for skilled blockchain engineers. Blockchain is a new type of technology, and there's a lot of opportunity in this field for developing a good career.
Blockchain engineer jobs demand the best of the best experts. They are expected to possess specialized skillsets. These Blockchain engineer skills mainly include knowledge about blockchain basics, blockchain architecture, data structures, cryptography, web development, and so on.
With proper skills, a blockchain engineer's salary can go up to 190k every year! However, completing a course dedicated to blockchain engineers can help in showcasing your skillsets.
This is where 101 Blockchains come into play —101 Blockchain stive to offer educative professionals courses and training specifically for engineers. If you want to become a blockchain engineer, getting a certification from 101 Blockchains can jump-start the process.
Our certification courses are ->
Our Certified Enterprise Blockchain Professional (CEBP)
https://academy.101blockchains.com/courses/blockchain-expert-certification
Our Certified Enterprise Blockchain Architect (CEBA)
https://academy.101blockchains.com/courses/certified-enterprise-blockchain-architect
Certified Blockchain Security Architect (CBSE)
https://academy.101blockchains.com/courses/certified-blockchain-security-expert
Our other courses can help you become the ultimate expert on blockchain. These are ->
How to Build Your Career in Enterprise Blockchains
https://academy.101blockchains.com/courses/career-in-blockchain
Getting Started with Hyperledger Fabric Course
https://academy.101blockchains.com/courses/getting-started-with-hyperledger-fabric/
Beginner's Guide to Corda Development Course
https://academy.101blockchains.com/courses/beginners-guide-to-corda-development
Ethereum Development Fundamentals Course
https://academy.101blockchains.com/courses/ethereum-development-fundamentals
A slide about Pragmatic Approaches, such as, Evils of Duplication, Orthogonality, Reversibility, Tracer Bullets, Prototypes and Post-it Notes, Domain Languages and Estimating.
Source : A Pragmatic Programmer, written by Andrew Hunt and David Thomas.
WordCamp Nashville: Clean Code for WordPressmtoppa
Slides from my talk at WordCamp Nashville, including notes. Covers why clean code is important, and provides 10 tips to make your code cleaner, for WordPress and beyond
Pensamiento computacional e inteligencia artificial en la educaciónJesús Moreno León
Presentación realizada en las Jornadas Iniciales Presenciales de Asesoramiento para PRODIG celebradas en Sevilla el 21 de noviembre de 2019. Se presentan ideas, recursos, resultados de investigaciones y normativa que respalda la introducción del pensamiento computacional y la inteligencia artificial en etapas educativas no universitarias.
Investigación sobre el desarrollo del pensamiento computacional en la escuelaJesús Moreno León
Resumen de las investigaciones principales desarrolladas por el grupo KGBL3 -formado por investigadores de la URJC, la UNED y Programamos- sobre el desarrollo del pensamiento computacional en la educación.
More Related Content
Similar to Analyze your Scratch projects with Dr. Scratch and assess your Computational Thinking skills
This talk happened at the University of Tarragona (URV) with a lot of students as attendees. It encourages to strive for a learning culture and being better professionals in software development.
A Bonus to the "Three Interviews About Static Analyzers" Article, or Intervie...Andrey Karpov
About a week ago, I published the "Three Interviews About Static Code Analyzers" article at Habrahabr.
This article presents opinions of three experienced programmers from the companies Acronis,
AlternativaPlatform and Echelon Company concerning software development methodologies as well as
some of their ideas about using static code analyzers.
Since the article was sponsored by the OOO "Program Verification Systems" company, developer of the
PVS-Studio static analyzer, I asked Andrey Karpov (CTO) to answer some questions too. In particular, I
asked him to comment upon the most interesting aspects and ideas of all the three interviews and say a
few words for colleagues and readers, too. Here's what we've got - one more interesting interview.
Breaking Through The Challenges of Scalable Deep Learning for Video AnalyticsJason Anderson
Meetup Link: https://www.meetup.com/Cognitive-Computing-Enthusiasts/events/250444108/
Recording Link: https://www.youtube.com/watch?v=4uXg1KTXdQc
When developing a machine learning system, the possibilities are limitless. However, with the recent explosion of Big Data and AI, there are more options than ever to filter through. Which technologies to select, which model topologies to build, and which infrastructure to use for deployment, just to name a few. We have explored these options for our faceted refinement system for video content system (consisting of 100K+ videos) along with their many roadblocks. Three primary areas of focus involve natural language processing, video frame sampling, and infrastructure deployment.
Konstantin Knizhnik: static analysis, a view from asidePVS-Studio
The article is an interview with Konstantin Knizhnik taken by Andrey Karpov, "Program Verification Systems" company's worker. In this interview the issues of static code analysis, relevance of solutions made in this sphere and prospects of using static analysis while developing applications are discussed.
Everyone wants a better and secure career. As blockchain is now taking over the world, many companies are offering a secured and luxurious career for skilled blockchain engineers. Blockchain is a new type of technology, and there's a lot of opportunity in this field for developing a good career.
Blockchain engineer jobs demand the best of the best experts. They are expected to possess specialized skillsets. These Blockchain engineer skills mainly include knowledge about blockchain basics, blockchain architecture, data structures, cryptography, web development, and so on.
With proper skills, a blockchain engineer's salary can go up to 190k every year! However, completing a course dedicated to blockchain engineers can help in showcasing your skillsets.
This is where 101 Blockchains come into play —101 Blockchain stive to offer educative professionals courses and training specifically for engineers. If you want to become a blockchain engineer, getting a certification from 101 Blockchains can jump-start the process.
Our certification courses are ->
Our Certified Enterprise Blockchain Professional (CEBP)
https://academy.101blockchains.com/courses/blockchain-expert-certification
Our Certified Enterprise Blockchain Architect (CEBA)
https://academy.101blockchains.com/courses/certified-enterprise-blockchain-architect
Certified Blockchain Security Architect (CBSE)
https://academy.101blockchains.com/courses/certified-blockchain-security-expert
Our other courses can help you become the ultimate expert on blockchain. These are ->
How to Build Your Career in Enterprise Blockchains
https://academy.101blockchains.com/courses/career-in-blockchain
Getting Started with Hyperledger Fabric Course
https://academy.101blockchains.com/courses/getting-started-with-hyperledger-fabric/
Beginner's Guide to Corda Development Course
https://academy.101blockchains.com/courses/beginners-guide-to-corda-development
Ethereum Development Fundamentals Course
https://academy.101blockchains.com/courses/ethereum-development-fundamentals
A slide about Pragmatic Approaches, such as, Evils of Duplication, Orthogonality, Reversibility, Tracer Bullets, Prototypes and Post-it Notes, Domain Languages and Estimating.
Source : A Pragmatic Programmer, written by Andrew Hunt and David Thomas.
WordCamp Nashville: Clean Code for WordPressmtoppa
Slides from my talk at WordCamp Nashville, including notes. Covers why clean code is important, and provides 10 tips to make your code cleaner, for WordPress and beyond
Similar to Analyze your Scratch projects with Dr. Scratch and assess your Computational Thinking skills (20)
Pensamiento computacional e inteligencia artificial en la educaciónJesús Moreno León
Presentación realizada en las Jornadas Iniciales Presenciales de Asesoramiento para PRODIG celebradas en Sevilla el 21 de noviembre de 2019. Se presentan ideas, recursos, resultados de investigaciones y normativa que respalda la introducción del pensamiento computacional y la inteligencia artificial en etapas educativas no universitarias.
Investigación sobre el desarrollo del pensamiento computacional en la escuelaJesús Moreno León
Resumen de las investigaciones principales desarrolladas por el grupo KGBL3 -formado por investigadores de la URJC, la UNED y Programamos- sobre el desarrollo del pensamiento computacional en la educación.
Can we Measure Computational Thinking with Tools? Present and Future of Dr. S...Jesús Moreno León
Slides for the presentation at the Seminar Series on Advanced Techniques & Tools for Software Evolution (SATToSE), which took place in Madrid (Spain) on 7–9 June 2017.
How social are Scratch learners? A comprehensive analysis of the Scratch plat...Jesús Moreno León
How social are Scratch learners? A comprehensive analysis of the Scratch platform for social interactions.
Paper presented at the 'FLOSS education and computational thinking workshop' - 12th International Conference on Open Source Systems. 2 June 2016, Gothenburg, Sweden
La programación informática como vía de emprendimiento. Programamos.Jesús Moreno León
La programación informática como vía de emprendimiento. Presentación en las Jornadas de Inserción Laboral del IES Polígono Sur de Sevilla. 17 de diciembre de 2015.
Dr. Scratch, Análisis de proyectos Scratch para medir el desarrollo del a Pen...Jesús Moreno León
Dr. Scratch, Anáisis de proyectos Scratch para medir el desarrollo del Pensamiento Computacional y mejorar las habilidades de programación.
Seminario eMadrid sobre Pensamiento Computacional.
Embracing GenAI - A Strategic ImperativePeter Windle
Artificial Intelligence (AI) technologies such as Generative AI, Image Generators and Large Language Models have had a dramatic impact on teaching, learning and assessment over the past 18 months. The most immediate threat AI posed was to Academic Integrity with Higher Education Institutes (HEIs) focusing their efforts on combating the use of GenAI in assessment. Guidelines were developed for staff and students, policies put in place too. Innovative educators have forged paths in the use of Generative AI for teaching, learning and assessments leading to pockets of transformation springing up across HEIs, often with little or no top-down guidance, support or direction.
This Gasta posits a strategic approach to integrating AI into HEIs to prepare staff, students and the curriculum for an evolving world and workplace. We will highlight the advantages of working with these technologies beyond the realm of teaching, learning and assessment by considering prompt engineering skills, industry impact, curriculum changes, and the need for staff upskilling. In contrast, not engaging strategically with Generative AI poses risks, including falling behind peers, missed opportunities and failing to ensure our graduates remain employable. The rapid evolution of AI technologies necessitates a proactive and strategic approach if we are to remain relevant.
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdfTechSoup
In this webinar you will learn how your organization can access TechSoup's wide variety of product discount and donation programs. From hardware to software, we'll give you a tour of the tools available to help your nonprofit with productivity, collaboration, financial management, donor tracking, security, and more.
Unit 8 - Information and Communication Technology (Paper I).pdfThiyagu K
This slides describes the basic concepts of ICT, basics of Email, Emerging Technology and Digital Initiatives in Education. This presentations aligns with the UGC Paper I syllabus.
A Strategic Approach: GenAI in EducationPeter Windle
Artificial Intelligence (AI) technologies such as Generative AI, Image Generators and Large Language Models have had a dramatic impact on teaching, learning and assessment over the past 18 months. The most immediate threat AI posed was to Academic Integrity with Higher Education Institutes (HEIs) focusing their efforts on combating the use of GenAI in assessment. Guidelines were developed for staff and students, policies put in place too. Innovative educators have forged paths in the use of Generative AI for teaching, learning and assessments leading to pockets of transformation springing up across HEIs, often with little or no top-down guidance, support or direction.
This Gasta posits a strategic approach to integrating AI into HEIs to prepare staff, students and the curriculum for an evolving world and workplace. We will highlight the advantages of working with these technologies beyond the realm of teaching, learning and assessment by considering prompt engineering skills, industry impact, curriculum changes, and the need for staff upskilling. In contrast, not engaging strategically with Generative AI poses risks, including falling behind peers, missed opportunities and failing to ensure our graduates remain employable. The rapid evolution of AI technologies necessitates a proactive and strategic approach if we are to remain relevant.
Francesca Gottschalk - How can education support child empowerment.pptxEduSkills OECD
Francesca Gottschalk from the OECD’s Centre for Educational Research and Innovation presents at the Ask an Expert Webinar: How can education support child empowerment?
Read| The latest issue of The Challenger is here! We are thrilled to announce that our school paper has qualified for the NATIONAL SCHOOLS PRESS CONFERENCE (NSPC) 2024. Thank you for your unwavering support and trust. Dive into the stories that made us stand out!
Palestine last event orientationfvgnh .pptxRaedMohamed3
An EFL lesson about the current events in Palestine. It is intended to be for intermediate students who wish to increase their listening skills through a short lesson in power point.
Analyze your Scratch projects with Dr. Scratch and assess your Computational Thinking skills
1. Scratch Conference 2015, Amsterdam
Analyze your Scratch projects with Dr. Scratch
and assess your Computational Thinking skills
Jes´us Moreno Le´on, Gregorio Robles
jesus.moreno@programamos.es, grex@gsyc.urjc.es
GSyC/Libresoft, Universidad Rey Juan Carlos
Scratch Conference 2015, Amsterdam
Jes´us Moreno Le´on, Gregorio Robles Analyze your Scratch projects with Dr. Scratch and assess your C
2. Scratch Conference 2015, Amsterdam
(cc) 2015 Gregorio Robles and Jes´us Moreno Le´on
Some rights reserved. This work licensed under Creative Commons
Attribution-ShareAlike License. To view a copy of full license, see
http://creativecommons.org/licenses/by-sa/3.0/ or write to
Creative Commons, 559 Nathan Abbott Way, Stanford,
California 94305, USA.
Some of the figures have been taken from the Internet
Source, and author and licence if known, is specified.
For those images, fair use applies.
Jes´us Moreno Le´on, Gregorio Robles Analyze your Scratch projects with Dr. Scratch and assess your C
3. Scratch Conference 2015, Amsterdam
What is Dr. Scratch?
Jes´us Moreno Le´on, Gregorio Robles Analyze your Scratch projects with Dr. Scratch and assess your C
4. Scratch Conference 2015, Amsterdam
Remixing other researchers’ ideas
Analysis of Scratch projects
Scrape: visual representation of the blocks used (and not
used).
Hairball: static analyzer of Scratch projects to detect errors.
Brennan & Resnick: New frameworks for studying and
assessing the development of CT.
Seiter & Foreman: Progression of Early CT Model.
Wilson, Hainey & Connolly: Evaluation of games to gauge
understanding of programming concepts.
Jes´us Moreno Le´on, Gregorio Robles Analyze your Scratch projects with Dr. Scratch and assess your C
5. Scratch Conference 2015, Amsterdam
Assessment of CT development
CT aspect Basic Developing Proficient
Data representation modifiers of sprites
properties
operations on vars operations on lists
Logical Thinking if if else logic operations
User interactivity green flag key pressed, sprite
clicked, ask and wait,
mouse blocks
when %s is >%s,
video, audio
Algotithmic notions
of flow control
sequence of blocks repeat, forever repeat until
Abstraction and
problem decomposi-
tion
more than one script
and more than one
sprite
def block when I start as clone
Parallelism Two scripts on green
flag
Two scripts on key
pressed, two scripts
on sprite clicked on
the same sprite
Two scripts on when
I receive message,
two scripts when %s
is >%s, two scripts
on when backdrop
change to
Synchronization wait Broadcast, when I re-
ceive message, stop
all, stop program,
stop programs sprite
wait until, when
backdrop change to,
broadcast and wait
Table: Level of development for each CT component.
Jes´us Moreno Le´on, Gregorio Robles Analyze your Scratch projects with Dr. Scratch and assess your C
6. Scratch Conference 2015, Amsterdam
Assessment of CT development: Logical Thinking
Different levels of development of logical thinking: basic (top),
developing (center) and proficient (bottom).
Jes´us Moreno Le´on, Gregorio Robles Analyze your Scratch projects with Dr. Scratch and assess your C
7. Scratch Conference 2015, Amsterdam
Assessment of CT development: Data Representation
Different levels of development of data representation: basic (top),
developing (center) and proficient (bottom).
Jes´us Moreno Le´on, Gregorio Robles Analyze your Scratch projects with Dr. Scratch and assess your C
8. Scratch Conference 2015, Amsterdam
Code smells (I)
Errors or bad programming habits
Dead code
Attribute initialization
Default names
Repeated scripts
Jes´us Moreno Le´on, Gregorio Robles Analyze your Scratch projects with Dr. Scratch and assess your C
9. Scratch Conference 2015, Amsterdam
Code smells (II)
Bad/default naming of sprites
Jes´us Moreno Le´on, Gregorio Robles Analyze your Scratch projects with Dr. Scratch and assess your C
10. Scratch Conference 2015, Amsterdam
Code smells (and III)
Example of repeated code Solution to avoid repeated code
Blocks should be created to
avoid repetition of code
Jes´us Moreno Le´on, Gregorio Robles Analyze your Scratch projects with Dr. Scratch and assess your C
11. Scratch Conference 2015, Amsterdam
Limitations
Teachers should not rely exclusively on Dr. Scratch
Fundamental CT skills not assessed: debugging
and remixing.
Functionality or creativity not evaluated.
Portfolio analysis would be more accurate.
Background picture: Robert Couse-Baker
Jes´us Moreno Le´on, Gregorio Robles Analyze your Scratch projects with Dr. Scratch and assess your C
12. Scratch Conference 2015, Amsterdam
Future Work
1 Does Dr. Scratch foster CT skills?
2 Dr. Scratch vs Expert judgement.
3 Correlations between Dr. Scratch and other CT assessment
tools.
Background picture: Simon Cunningham
Jes´us Moreno Le´on, Gregorio Robles Analyze your Scratch projects with Dr. Scratch and assess your C
13. Scratch Conference 2015, Amsterdam
Analyze your Scratch projects with Dr. Scratch
and assess your Computational Thinking skills
Jes´us Moreno Le´on, Gregorio Robles
jesus.moreno@programamos.es, grex@gsyc.urjc.es
GSyC/Libresoft, Universidad Rey Juan Carlos
Scratch Conference 2015, Amsterdam
Jes´us Moreno Le´on, Gregorio Robles Analyze your Scratch projects with Dr. Scratch and assess your C