NotesFAQContact Us
Collection
Advanced
Search Tips
Showing all 6 results Save | Export
Peer reviewed Peer reviewed
PDF on ERIC Download full text
Haglund, Pontus; Strömbäck, Filip; Mannila, Linda – Informatics in Education, 2021
Controlling complexity through the use of abstractions is a critical part of problem solving in programming. Thus, becoming proficient with procedural and data abstraction through the use of user-defined functions is important. Properly using functions for abstraction involves a number of other core concepts, such as parameter passing, scope and…
Descriptors: Computer Science Education, Programming, Programming Languages, Problem Solving
Peer reviewed Peer reviewed
PDF on ERIC Download full text
Sbaraglia, Marco; Lodi, Michael; Martini, Simone – Informatics in Education, 2021
Introductory programming courses (CS1) are difficult for novices. Inspired by "Problem solving followed by instruction" and "Productive Failure" approaches, we define an original "necessity-driven" learning design. Students are put in an apparently well-known situation, but this time they miss an essential ingredient…
Descriptors: Programming, Introductory Courses, Computer Science Education, Programming Languages
Peer reviewed Peer reviewed
PDF on ERIC Download full text
Judith Galezer; Smadar Szekely – Informatics in Education, 2024
Spark, one of the products offered by MyQ (formerly Plethora), is a game-based platform meticulously designed to introduce students to the foundational concepts of computer science. By navigating through logical challenges, users delve into topics like abstraction, loops, and graph patterns. Setting itself apart from its counterparts, Spark boasts…
Descriptors: Learning Management Systems, Game Based Learning, Computer Science Education, Teaching Methods
Peer reviewed Peer reviewed
Direct linkDirect link
Statter, David; Armoni, Michal – ACM Transactions on Computing Education, 2020
Abstraction is one of the most fundamental ideas in computer science (CS), and as such, according to Bruner, it should be taught spirally, starting as early as possible and revisited at every level of education. However, teaching CS abstraction to novices is a very challenging task, and CS educational research has often demonstrated students'…
Descriptors: Middle School Students, Grade 7, Computer Science Education, Abstract Reasoning
Lewis, Colleen Marie – ProQuest LLC, 2012
To meet a growing demand and a projected deficit in the supply of computer professionals (NCWIT, 2009), it is of vital importance to expand students' access to computer science. However, many researchers in the computer science education community unproductively assume that some students lack an innate ability for computer science and…
Descriptors: Computer Science Education, Prior Learning, Novices, Programming
Peer reviewed Peer reviewed
Direct linkDirect link
Nikula, Uolevi; Sajaniemi, Jorma; Tedre, Matti; Wray, Stuart – Journal of Information Technology Education, 2007
Students often find that learning to program is hard. Introductory programming courses have high drop-out rates and students do not learn to program well. This paper presents experiences from three educational institutions where introductory programming courses were improved by adopting Python as the first programming language and roles of…
Descriptors: Programming Languages, Programming, Abstract Reasoning, Introductory Courses