Code tracing is fundamental to students’ understanding of a program, and symbolic reasoning that entails learning to use assertions with abstract input and output values, as opposed to concrete values, enhances that understanding. Symbolic reasoning teaches students valuable abstraction and logic skills that will serve them well in all aspects of programming and their softwaredevelopment careers.We use lessons integrated into an online educational tool to supplement classroom instruction to help students learn symbolic reasoning. We explore two ways for students to learn about assertions: Writing assertions to capture the behavior of given code and solving Parsons-style problems in which statements are composed to produce behavior specified...
Given a program and an assertion in that program, determining if the assertion can fail is one of th...
The hallmark of traditional Artificial Intelligence (AI) research is the symbolic representation and...
Symbolic reasoning begot Artificial Intelligence (AI). With the recent advances in Deep Learning, ma...
While testing and tracing on specific input values are useful starting points for students to unders...
Argumentation, as the generation and evaluation of arguments, is critical in our ability to reason. ...
Set-based reasoning and conditional language are two critical components of deductive argumentation ...
Thesis (Ph.D.)--University of Washington, 2021Learning to write programs is hard, but many fail to e...
Today's real-world software systems are often too complex to reason about formally, which can cause ...
The use of automated grading tools to provide feedback to students is common in Computer Science edu...
Abstract programs contain schematic placeholders representing potentially infinitely many concrete p...
This paper describes a research project into undergraduates’ use of a software tool to learn symboli...
Assertions or more generally "Programming by contract" have gained widespread acceptance in th...
Formal methods are used successfully in high-assurance software, but they require rigorous mathemati...
There are various approaches for making a computer system intelligent. However, statistical approach...
This paper contrast the rationales behind semantic and syntactic approaches to teaching an undergrad...
Given a program and an assertion in that program, determining if the assertion can fail is one of th...
The hallmark of traditional Artificial Intelligence (AI) research is the symbolic representation and...
Symbolic reasoning begot Artificial Intelligence (AI). With the recent advances in Deep Learning, ma...
While testing and tracing on specific input values are useful starting points for students to unders...
Argumentation, as the generation and evaluation of arguments, is critical in our ability to reason. ...
Set-based reasoning and conditional language are two critical components of deductive argumentation ...
Thesis (Ph.D.)--University of Washington, 2021Learning to write programs is hard, but many fail to e...
Today's real-world software systems are often too complex to reason about formally, which can cause ...
The use of automated grading tools to provide feedback to students is common in Computer Science edu...
Abstract programs contain schematic placeholders representing potentially infinitely many concrete p...
This paper describes a research project into undergraduates’ use of a software tool to learn symboli...
Assertions or more generally "Programming by contract" have gained widespread acceptance in th...
Formal methods are used successfully in high-assurance software, but they require rigorous mathemati...
There are various approaches for making a computer system intelligent. However, statistical approach...
This paper contrast the rationales behind semantic and syntactic approaches to teaching an undergrad...
Given a program and an assertion in that program, determining if the assertion can fail is one of th...
The hallmark of traditional Artificial Intelligence (AI) research is the symbolic representation and...
Symbolic reasoning begot Artificial Intelligence (AI). With the recent advances in Deep Learning, ma...