GGrantIndex
← Search

Multilingual Computational Thinking: Teaching Introductory Programming Classes Through Low-Level and High-Level Programming Languages

$300,000FY2020EDUNSF

East Texas A&M University, Commerce TX

Investigators

Abstract

This project aims to serve the national interest by exploring a potentially transformative approach for improving undergraduate computer science education. Student success in computer science directly correlates with their performance in introductory programming courses. Not only do these courses provide students with basic computational skills, but they can also give students the confidence they need to persevere and obtain computer science degrees. This project is based on the hypothesis that learning introductory computer programming languages is like learning a natural language. Research has shown that multilingual children outperform monolingual children when learning English as a foreign language. The project will apply this observation to computer science by concurrently teaching students multiple programming languages, thus helping them become multilingual in computer programming languages. It is expected that multilingual learning in introductory computer programming will support subsequent student confidence and success in computer science. The project team will focus on transforming the Programming I, Programming II, and Data Structure courses to emphasize algorithmic design and computational thinking. Each course will use three different programming languages simultaneously: an assembly language and two high-level programming languages. The learning activities will include interactive videos, simulations, engaging projects, and assignments based on programming for video game development. By simultaneously teaching multiple computer programming languages, the research team expects to remove student dependency on a single programming language as well as strengthen students’ development of a solid foundation in algorithmic design and computational thinking. The research plan will investigate how students learn multiple computer programming languages, and whether it is more effective to learn multiple programming languages simultaneously or sequentially. It will also use Neo-Piagetian cognitive development theory to identify the stages through which students pass as they master algorithmic thinking, from the basics of syntax to an understanding of patterns. These stages can also be used more generally to assess students’ knowledge of programming. This project is supported by the NSF Improving Undergraduate STEM Education Program: Education and Human Resources Program, which supports research and development projects to improve the effectiveness of STEM education for all students. Through the Engaged Student Learning track, the program supports the creation, exploration, and implementation of promising practices and tools. This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.

View original record on NSF Award Search →