skip to main content
10.1145/3159450.3162229acmconferencesArticle/Chapter ViewAbstractPublication PagessigcseConference Proceedingsconference-collections
abstract

Interactive, Language-neutral Flowcharts and Pseudocode for Teaching Core CS0/1 Programming Concepts: (Abstract Only)

Published: 21 February 2018 Publication History

Abstract

Introductory programming courses often use a full-featured programming language, such as Python, Java, or C++, wherein students concurrently learn programming concepts along with language syntax. However, many instructors believe that learning programming concepts first, then learning a specific language's syntax, may be more effective than learning both concurrently. Thus, some courses first teach programming via flowcharts and pseudocode. Some tools and materials support teaching programming via flowcharts, but we felt much improvement was needed. Therefore, we developed a new flowchart language, named Coral-Charts, specifically intended to teach fundamental programming constructs like assignments, branches, loops, functions, and arrays. We developed a web-based graphical simulator for Coral-Charts; no local tool installation is necessary (unlike the most common existing flowchart tool). The simulator always displays the values of variables, which helps students comprehend the impact of statements. The simulator enforces a layout that intentionally mirrors textual code's top-to-bottom execution and sub-statement indentation, easing the transition to a textual language. Furthermore, we defined a new pseudocode-like language, named Coral (corallanguage.org), that is executable and that matches Coral-Charts. Syntax is ultra-simple and only essential constructs are included. Certain features automatically detect or eliminate many new-learner errors. Students can type Coral code, from which a Coral-Charts flowchart is auto-generated, and students can execute both the code and flowcharts. Coral was carefully designed to naturally lead into languages Python, Java, or C++. Coral and Coral-Charts are used in the textbook Fundamental Programming Concepts (zybooks.com/catalog/fundamental-programming-concepts). We welcome feedback on the approach and potential collaborators in implementing experiments.

Cited By

View all
  • (2022)Block-Based Object-Oriented ProgrammingIEEE Transactions on Learning Technologies10.1109/TLT.2022.319031815:4(439-453)Online publication date: 1-Aug-2022
  • (2021)Enhancing problem‐solving skills of novice programmers in an introductory programming courseComputer Applications in Engineering Education10.1002/cae.22450Online publication date: 6-Sep-2021

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SIGCSE '18: Proceedings of the 49th ACM Technical Symposium on Computer Science Education
February 2018
1174 pages
ISBN:9781450351034
DOI:10.1145/3159450
Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author.

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 21 February 2018

Check for updates

Author Tags

  1. cs0
  2. cs1
  3. flowcharts
  4. interactive
  5. language-neutral
  6. programming concepts
  7. pseudocode

Qualifiers

  • Abstract

Conference

SIGCSE '18
Sponsor:

Acceptance Rates

SIGCSE '18 Paper Acceptance Rate 161 of 459 submissions, 35%;
Overall Acceptance Rate 1,595 of 4,542 submissions, 35%

Upcoming Conference

SIGCSE TS 2025
The 56th ACM Technical Symposium on Computer Science Education
February 26 - March 1, 2025
Pittsburgh , PA , USA

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 27 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2022)Block-Based Object-Oriented ProgrammingIEEE Transactions on Learning Technologies10.1109/TLT.2022.319031815:4(439-453)Online publication date: 1-Aug-2022
  • (2021)Enhancing problem‐solving skills of novice programmers in an introductory programming courseComputer Applications in Engineering Education10.1002/cae.22450Online publication date: 6-Sep-2021

View Options

View options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media