This thesis explores the under-researched area of introductory concurrent programming and data systems education. The lack of pedagogy poses a significant challenge to educators. While these topics are often perceived as complex and require a strong foundation in programming, this thesis presents innovative teaching units based on constructionist learning theory, specifically designed for students with no prior knowledge. It proposes a series of interventions based on domain-specific, real-world and collaborative learning approaches aimed at undergraduate computer science students. In particular, an introduction to concurrency is presented using Sonic Pi, a musical domain-specific language, to intuitively introduce concurrency concepts by exploiting the natural connection between multi-threading and live music coding, through code comprehension and code composition tasks designed to address and explore common concurrency misconceptions. A collaborative learning approach, namely "think-pair-share", is advocated to promote engagement and deeper understanding of logical database design. In addition, an educational Python package based on the Pandas library is presented to simplify data-centric computing pedagogy by providing a less complex notional machine while retaining familiar Pandas-like syntax. Finally, a variety of teaching experiences and proposals are provided to inspire and guide educators. Through these units, the thesis provides suggestions and recommendations for teachers and researchers, offering experiences and formats to effectively equip students with essential skills in introductory concurrent programming and introductory data systems. By demonstrating innovative pedagogical approaches, this thesis contributes to bridging the gap in this critical area of computer science education.
Innovative Teaching Methodologies for University Courses in Computer Science
TRAVERSARO, DANIELE
2024-05-30
Abstract
This thesis explores the under-researched area of introductory concurrent programming and data systems education. The lack of pedagogy poses a significant challenge to educators. While these topics are often perceived as complex and require a strong foundation in programming, this thesis presents innovative teaching units based on constructionist learning theory, specifically designed for students with no prior knowledge. It proposes a series of interventions based on domain-specific, real-world and collaborative learning approaches aimed at undergraduate computer science students. In particular, an introduction to concurrency is presented using Sonic Pi, a musical domain-specific language, to intuitively introduce concurrency concepts by exploiting the natural connection between multi-threading and live music coding, through code comprehension and code composition tasks designed to address and explore common concurrency misconceptions. A collaborative learning approach, namely "think-pair-share", is advocated to promote engagement and deeper understanding of logical database design. In addition, an educational Python package based on the Pandas library is presented to simplify data-centric computing pedagogy by providing a less complex notional machine while retaining familiar Pandas-like syntax. Finally, a variety of teaching experiences and proposals are provided to inspire and guide educators. Through these units, the thesis provides suggestions and recommendations for teachers and researchers, offering experiences and formats to effectively equip students with essential skills in introductory concurrent programming and introductory data systems. By demonstrating innovative pedagogical approaches, this thesis contributes to bridging the gap in this critical area of computer science education.File | Dimensione | Formato | |
---|---|---|---|
phdunige_3677478.pdf
accesso aperto
Tipologia:
Tesi di dottorato
Dimensione
8 MB
Formato
Adobe PDF
|
8 MB | Adobe PDF | Visualizza/Apri |
I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.