Improving automated error diagnosis for OOP practice with C++

Autores
Novara, Pablo
Año de publicación
2014
Idioma
inglés
Tipo de recurso
documento de conferencia
Estado
versión publicada
Descripción
This paper describes how to exploit some particular rules about generic programming implementation with C++, to be able to verify at compile-time the existence of symbols such as classes, functions or methods, and the validity of expressions involving those symbols. This validation is done in such a way that the program will always compile and run, even if some expected class or function interface is missing, automatically skipping pieces of code when its compilation is not guaranteed to be successful. This techniques can be easily extended and applied to design and implement programming exercises that will precisely diagnose students errors when are executed, displaying custom run-time messages, and avoiding most compile time errors. This approach produces a selfcontained C++11 code representing a programming assignment, that requires only a standard compliant compiler to be used by the student. No other tool or instrumentation is needed.
III Workshop de Innovación en Educación en Informática (WIEI)
Red de Universidades con Carreras de Informática (RedUNCI)
Materia
Ciencias Informáticas
programming teaching
object oriented programming
C++
generic programming
error diagnosis
Education
Nivel de accesibilidad
acceso abierto
Condiciones de uso
http://creativecommons.org/licenses/by-nc-sa/2.5/ar/
Repositorio
SEDICI (UNLP)
Institución
Universidad Nacional de La Plata
OAI Identificador
oai:sedici.unlp.edu.ar:10915/42127

id SEDICI_837fa9caa9054dddec6fce643b38695c
oai_identifier_str oai:sedici.unlp.edu.ar:10915/42127
network_acronym_str SEDICI
repository_id_str 1329
network_name_str SEDICI (UNLP)
spelling Improving automated error diagnosis for OOP practice with C++Novara, PabloCiencias Informáticasprogramming teachingobject oriented programmingC++generic programmingerror diagnosisEducationThis paper describes how to exploit some particular rules about generic programming implementation with C++, to be able to verify at compile-time the existence of symbols such as classes, functions or methods, and the validity of expressions involving those symbols. This validation is done in such a way that the program will always compile and run, even if some expected class or function interface is missing, automatically skipping pieces of code when its compilation is not guaranteed to be successful. This techniques can be easily extended and applied to design and implement programming exercises that will precisely diagnose students errors when are executed, displaying custom run-time messages, and avoiding most compile time errors. This approach produces a selfcontained C++11 code representing a programming assignment, that requires only a standard compliant compiler to be used by the student. No other tool or instrumentation is needed.III Workshop de Innovación en Educación en Informática (WIEI)Red de Universidades con Carreras de Informática (RedUNCI)2014-10info:eu-repo/semantics/conferenceObjectinfo:eu-repo/semantics/publishedVersionObjeto de conferenciahttp://purl.org/coar/resource_type/c_5794info:ar-repo/semantics/documentoDeConferenciaapplication/pdfhttp://sedici.unlp.edu.ar/handle/10915/42127enginfo:eu-repo/semantics/openAccesshttp://creativecommons.org/licenses/by-nc-sa/2.5/ar/Creative Commons Attribution-NonCommercial-ShareAlike 2.5 Argentina (CC BY-NC-SA 2.5)reponame:SEDICI (UNLP)instname:Universidad Nacional de La Platainstacron:UNLP2025-09-29T11:01:18Zoai:sedici.unlp.edu.ar:10915/42127Institucionalhttp://sedici.unlp.edu.ar/Universidad públicaNo correspondehttp://sedici.unlp.edu.ar/oai/snrdalira@sedici.unlp.edu.arArgentinaNo correspondeNo correspondeNo correspondeopendoar:13292025-09-29 11:01:18.458SEDICI (UNLP) - Universidad Nacional de La Platafalse
dc.title.none.fl_str_mv Improving automated error diagnosis for OOP practice with C++
title Improving automated error diagnosis for OOP practice with C++
spellingShingle Improving automated error diagnosis for OOP practice with C++
Novara, Pablo
Ciencias Informáticas
programming teaching
object oriented programming
C++
generic programming
error diagnosis
Education
title_short Improving automated error diagnosis for OOP practice with C++
title_full Improving automated error diagnosis for OOP practice with C++
title_fullStr Improving automated error diagnosis for OOP practice with C++
title_full_unstemmed Improving automated error diagnosis for OOP practice with C++
title_sort Improving automated error diagnosis for OOP practice with C++
dc.creator.none.fl_str_mv Novara, Pablo
author Novara, Pablo
author_facet Novara, Pablo
author_role author
dc.subject.none.fl_str_mv Ciencias Informáticas
programming teaching
object oriented programming
C++
generic programming
error diagnosis
Education
topic Ciencias Informáticas
programming teaching
object oriented programming
C++
generic programming
error diagnosis
Education
dc.description.none.fl_txt_mv This paper describes how to exploit some particular rules about generic programming implementation with C++, to be able to verify at compile-time the existence of symbols such as classes, functions or methods, and the validity of expressions involving those symbols. This validation is done in such a way that the program will always compile and run, even if some expected class or function interface is missing, automatically skipping pieces of code when its compilation is not guaranteed to be successful. This techniques can be easily extended and applied to design and implement programming exercises that will precisely diagnose students errors when are executed, displaying custom run-time messages, and avoiding most compile time errors. This approach produces a selfcontained C++11 code representing a programming assignment, that requires only a standard compliant compiler to be used by the student. No other tool or instrumentation is needed.
III Workshop de Innovación en Educación en Informática (WIEI)
Red de Universidades con Carreras de Informática (RedUNCI)
description This paper describes how to exploit some particular rules about generic programming implementation with C++, to be able to verify at compile-time the existence of symbols such as classes, functions or methods, and the validity of expressions involving those symbols. This validation is done in such a way that the program will always compile and run, even if some expected class or function interface is missing, automatically skipping pieces of code when its compilation is not guaranteed to be successful. This techniques can be easily extended and applied to design and implement programming exercises that will precisely diagnose students errors when are executed, displaying custom run-time messages, and avoiding most compile time errors. This approach produces a selfcontained C++11 code representing a programming assignment, that requires only a standard compliant compiler to be used by the student. No other tool or instrumentation is needed.
publishDate 2014
dc.date.none.fl_str_mv 2014-10
dc.type.none.fl_str_mv info:eu-repo/semantics/conferenceObject
info:eu-repo/semantics/publishedVersion
Objeto de conferencia
http://purl.org/coar/resource_type/c_5794
info:ar-repo/semantics/documentoDeConferencia
format conferenceObject
status_str publishedVersion
dc.identifier.none.fl_str_mv http://sedici.unlp.edu.ar/handle/10915/42127
url http://sedici.unlp.edu.ar/handle/10915/42127
dc.language.none.fl_str_mv eng
language eng
dc.rights.none.fl_str_mv info:eu-repo/semantics/openAccess
http://creativecommons.org/licenses/by-nc-sa/2.5/ar/
Creative Commons Attribution-NonCommercial-ShareAlike 2.5 Argentina (CC BY-NC-SA 2.5)
eu_rights_str_mv openAccess
rights_invalid_str_mv http://creativecommons.org/licenses/by-nc-sa/2.5/ar/
Creative Commons Attribution-NonCommercial-ShareAlike 2.5 Argentina (CC BY-NC-SA 2.5)
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:SEDICI (UNLP)
instname:Universidad Nacional de La Plata
instacron:UNLP
reponame_str SEDICI (UNLP)
collection SEDICI (UNLP)
instname_str Universidad Nacional de La Plata
instacron_str UNLP
institution UNLP
repository.name.fl_str_mv SEDICI (UNLP) - Universidad Nacional de La Plata
repository.mail.fl_str_mv alira@sedici.unlp.edu.ar
_version_ 1844615879637073920
score 13.070432