Although computer scientists understand the importance of discrete mathematics to the foundations of their field, computer science (CS) students do not always see the relevance. Thus, it is important to find a way to ...
详细信息
Although computer scientists understand the importance of discrete mathematics to the foundations of their field, computer science (CS) students do not always see the relevance. Thus, it is important to find a way to show students its relevance. The concept of program correctness is generally taught as an activity independent of the programming process, hence many CS students perceive it as unnecessary, and even irrelevant. The concept of contracts, on the other hand, is generally taught as an integral part of the programming process. Most CS students have little difficulty understanding the need to establish contracts via preconditions and postconditions. In order to improve teaching program correctness concepts, we implemented ProVIDE, an enhanced integrated development environment (IDE). ProVIDE assists student programmers in contract construction. Rather than asking for both a precondition and postcondition for each of the student's methods, ProVIDE asks the student to simply supply a postcondition. ProVIDE then helps the student construct the appropriate precondition by leading him or her through an axiomatic proof of the method's correctness. Thus, the proof of of the method's correctness is a side-effect of the student's need to construct an appropriate precondition.
Students continue to struggle with learning to program. Not only has there been a significant drop in the number of students enrolling in IT courses, but the attrition rate for these courses continues to be significan...
详细信息
Students continue to struggle with learning to program. Not only has there been a significant drop in the number of students enrolling in IT courses, but the attrition rate for these courses continues to be significant. Introductory programming subjects in IT courses seem to be a stumbling block for many students. How do we best engage students in the learning of a programming language? How can our current teaching and learning methods be improved to provide a better experience for them?Issues that have a detrimental effect on students’ learning outcomes include more than simply the cognitive. Although programming really is complex and difficult to learn, there are also cultural and social influences on students presenting to introductory computer science courses. This paper highlights the advantages of intensive collaboration between students by exploiting the students’ own ability and desire to interact with their peers. Peer interaction can lead to very strong learning *** paper reflects on the current approaches to teaching programming by the Queensland University of Technology (QUT), Australia, with a short summary of the current focus of QUT’s first programming subject and the methods used to teach it. An overview is then given of the web-based Environment for Learning to Program (ELP) which provides scaffolding for students while learning to *** authors propose the introduction of tools to present a collaborative environment for students to actively engage in the course material through interaction with each other.
暂无评论