<oai_dc:dc xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
  <dc:creator>Chiodini, Luca</dc:creator>
  <dc:creator>Sorva, Juha</dc:creator>
  <dc:creator>Hauswirth, Matthias</dc:creator>
  <dc:date>2023</dc:date>
  <dc:description xmlns:ns0="xml" ns0:lang="en">Many introductory programming courses employ graphics libraries that promote engagement and enable fun visuals. However, student excitement over graphical outputs is not a guarantee of conceptual understanding of programming, and graphics may even distract from intended learning outcomes. Our contribution is twofold. First, we analyze a selection of existing graphics libraries designed for novice programmers. We consider how these libraries foster clean decomposition, direct students’ attention to key content, and manage complexity; we find shortcomings in these respects. These shortcomings involve the libraries’ support for global coordinates and external graphics, as well as their rich APIs; we argue that these features, although powerful, are also potential pitfalls in student learning. Second, we present the design of a new graphics library, PyTamaro, which avoids the pitfalls with a minimalist design that eschews coordinates; we also outline a pedagogical approach that builds on PyTamaro’s strengths and deliberate limitations. We briefly discuss PyTamaro’s trade-offs in comparison to coordinate-based libraries. The work reported here paves the way for future empirical evaluations of PyTamaro and associated teaching practices.</dc:description>
  <dc:format>application/pdf</dc:format>
  <dc:identifier>https://n2t.net/ark:/12658/srd1334747</dc:identifier>
  <dc:identifier>https://susi.usi.ch/global/documents/334747</dc:identifier>
  <dc:identifier>https://susi.usi.ch/documents/334747/files/2023_SPLASHE-PyTamaro-CameraReady.pdf</dc:identifier>
  <dc:language>eng</dc:language>
  <dc:relation>info:eu-repo/semantics/altIdentifier/doi/10.1145/3622780.3623644</dc:relation>
  <dc:relation>info:eu-repo/semantics/altIdentifier/ark/12658/srd1334747</dc:relation>
  <dc:rights>info:eu-repo/semantics/openAccess</dc:rights>
  <dc:rights>Rights reserved</dc:rights>
  <dc:source>ACM SIGPLAN International Symposium on SPLASH-E. - 2023</dc:source>
  <dc:subject xmlns:ns1="xml" ns1:lang="en">Education</dc:subject>
  <dc:subject xmlns:ns2="xml" ns2:lang="en">Graphics</dc:subject>
  <dc:subject xmlns:ns3="xml" ns3:lang="en">Library</dc:subject>
  <dc:subject xmlns:ns4="xml" ns4:lang="en">Visual</dc:subject>
  <dc:subject xmlns:ns5="xml" ns5:lang="en">Novices</dc:subject>
  <dc:subject xmlns:ns6="xml" ns6:lang="en">Programming</dc:subject>
  <dc:subject xmlns:ns7="xml" ns7:lang="en">Decomposition</dc:subject>
  <dc:subject>info:eu-repo/classification/udc/004</dc:subject>
  <dc:title xmlns:ns8="xml" ns8:lang="en">Teaching programming with graphics : pitfalls and a solution</dc:title>
  <dc:type>http://purl.org/coar/resource_type/c_5794</dc:type>
</oai_dc:dc>
