CS 110A - Intro to Programming: C++ - Stage 5 - Charles Metzler
Assessment
Assessment Methods | Analysis of exam, quiz, or homework items linked to specific SLOs |
---|---|
Assessment Description | I examine the results of all tests and the final exam and review the suggestions from the last year’s assessment: Warn students to remember && before ||. Remind students the different results from .fail() Fix the test #2 question on strings, and review infinite loops more. Discuss call by reference with other department members. Next time check Test #1 or Test3 |
Learning Outcomes | ALL |
Number of Sections | 6 |
Number of Instructors | 4 |
Number of Students | 200 |
Data Analysis
Data Shared With |
|
---|---|
Data Sharing Methods |
|
Data Summary | The tests have two parts, one for multiple choice questions, the part II has written answers. Here are the 7 questions where students got 50% or under: Test #1 4. on the 5 components should be easy – watch wording or take off. 18. on data types too tricky (i.e. integer not int) 24. on multiple lines of code and statements What is true about a single cout statement on multiple lines of code? (a) only the last line of the code ends with the semicolon (b) do not split up a variable name between lines of code (c) do not start and end a quote between two lines of code (d) all of the above 29 on formatted output double num = 12.344; cout << fixed << setprecision(4) << num << endl; (a) 12.34 (b) 12.3440 (c) 0012 (d) none Test#2 All questions 50% or higher! may be due to running a program before the test in class. Test#3 4. on fail() Given the following code: ofstream clear_stream; clear_stream.open("abc.txt"); When is clear_stream.fail() set to true? (a) when abc.txt does not exist (b) when abc.txt already exists (c) when there is incorrect permissions for the file (d) none 25. on call by reference In call by reference (a) the argument must be a variable (b) the argument can be a constant (c) the return statement is required (d) all of the above (e) none Final 17 on call by reference void nonstopfun(int&, int, int&); int main() { int a = 1, b = 2, c; nonstopfun(a, b, c); cout << a << " " << b << " " << c; } void nonstopfun(int& a, int b, int& c) { a++; b = 3; c = b - a; } The above outputs (a) 1 2 3 (b) 2 3 1 (c) 1 2 1 (d) 2 2 1 (d) 1 3 2 Our department discussed the issue of call by reference in November 2012 and shared our experiences and ideas. Although all agreed this is the most difficult topic for introductory students, it importance was also reiterated. We all seem to have similar tricks to teaching this in lectures. We also discussed the issue of the dangling else (two ifs with on else) and I found that no one but me has tested on that issue. I had student use the computers in the classroom to try out the problem issues and they improved on tests. |
Analysis Summary | The issues historically have been: call by reference, && before ||, two ifs with one else, .fail(). There are seven questions on all tests that had 50% or fewer results. Besides wording changes there are still two issues that students are having problems: .fail() and call by reference including arrays parameters Previous analysis showed students were having problems with the following but are now doing better: && before || and two ifs with one else These results will be shared with other member of the department in June 2013 |
Next Steps Planned | Continue to warn students to remember && before ||. Continue to remind students the different results from .fail() Continue to remind students the issues with call by reference. |
Learning Outcomes | ALL |
Changes
Details | Warn students to remember && before ||. Remind students the different results from .fail() Fix the test #2 question on strings, and review infinite loops more. Discuss call by reference with other department members. |
---|---|
Learning Outcomes | all |
Tentative Future Plans
Term | Spring 2014 |
---|---|
Activities |
|
More Details | continue to have students use computers in the classroom to review concepts before the exam |
SLO Details Storage Location
- HARD COPY - In my personal filing system (my office)
- ELECTRONIC COPY - In my electronic filing system (hard drive or web server)
- ELECTRONIC COPY - On a department web server or shared document system