1 / 9

Group that looked at Miami syllabus

Group that looked at Miami syllabus. Current Syllabus (with regards to testing). Testing is already in course (albeit in a vague manner). We focused on the level at which to put in into this course. 2: To be able to identify and eliminate errors in programs

lavi
Download Presentation

Group that looked at Miami syllabus

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Group that looked at Miami syllabus

  2. Current Syllabus (with regards to testing) Testing is already in course (albeit in a vague manner). We focused on the level at which to put in into this course. • 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

  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

More Related