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
- Institución
- Universidad Nacional de La Plata
- OAI Identificador
- oai:sedici.unlp.edu.ar:10915/42127
Ver los metadatos del registro completo
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 |