Presentation is loading. Please wait.

Presentation is loading. Please wait.

Group that looked at Miami syllabus. Current Syllabus (with regards to testing) 2: To be able to identify and eliminate errors in programs – 2.1: Describe.

Similar presentations


Presentation on theme: "Group that looked at Miami syllabus. Current Syllabus (with regards to testing) 2: To be able to identify and eliminate errors in programs – 2.1: Describe."— Presentation transcript:

1 Group that looked at Miami syllabus

2 Current Syllabus (with regards to testing) 2: To be able to identify and eliminate errors in programs – 2.1: Describe the difference between a syntax error, run-time error, and logic error – 2.2: Read errors reported by the compiler and use those error messages to correct the syntax – 2.3: Use techniques and tools for debugging programs – 2.4: Design and document a complete set of test cases and use this to identify logic errors Testing is already in course (albeit in a vague manner). We focused on the level at which to put in into this course.

3 Proposed outcome 2.4: Design a set of test cases based on boundary values and equivalence classes and use these to identify logic errors.

4 Idea #1: Test identification Goal: Teach basic testing concepts such as boundary values and equivalence classes Assignment: Give students a method and have them identify test cases Don’t have to worry about confusing students with notation

5 Example: A good party A good party has to have at least 10 people and more than 5 programmers – Okay maybe my criteria for a good party is different than yours Method goodParty(int people, int programmers) What are some tests we should run

6 Idea #2: Test identification Give students.exe and ask them to find errors. Reduces perverse incentives for students in testing their own code Could be extended to code-based testing

7 Idea #3: Writing testers Have students write testers as a main method Give structure to students – Something similar to Junit but more forgiving Example: Put each test in a separate method that begins with test Stagger due dates for project/tester Will make them appreciate Junit later

8 Later Progression CS 2 – Introduce Junit – Introduce statement coverage and tools (EMMA) CS 3 (Data Structures) – Similar tools for C++ Integration Testing/Test Drive Development covered in Software Engineering course – Oftentimes taken concurrently with CS 3

9 Evaluation Plan for CS1 Pre/Post Survey/Assessment – Importance of testing – Simple specification, identify test cases Need rubric Measure grade of final project and compare control vs. experimental – Don’t have students turn test cases in – Survey students if they used testing techniques


Download ppt "Group that looked at Miami syllabus. Current Syllabus (with regards to testing) 2: To be able to identify and eliminate errors in programs – 2.1: Describe."

Similar presentations


Ads by Google