LA HARBOR COLLEGE

Student Learning Outcomes (SLOs) Assessment Report

Course Assessment

Division: Math Physical Science Discipline/Program: Computer Science Information Technology

Course Number and Name: COSCI 340 Programming in C++

Program Contact Person: Lora Lane Phone: X4178

Reviewed by: Elena Reigadas, SLO Assessment Coordinator Date: October 2013

Outcomes changed to reflect requirements of the statewide Course Identification Number System (C-ID)

Institutional Learning Outcomes / Course Intended Outcomes / Means of Assessment and Criteria for Success / Summary of Data Collected / Use of Results
2 / 1.Design, implement, test, and debug a program that uses each of the following fundamental programming constructs: basic computation, simple I/O, standard conditional and iterative structures, and the definition of functions.
/ Students will be asked to design, implement, test and debug a program that gets input from the user repetitively, performs calculations on that input with if statements and outputs the results. The code will be broken into procedures and functions for readability and efficiency.
75% of students will submit a working program that meets all of the requirements.
2 / 2.Use pseudocode or a programming language to design, implement, test, and debug algorithms for solving simple problems.
/ Given a problem description in English, students will create a pseudocode algorithm to solve the problem. They will then translate the pseudocode to a working program with documentation.
75% of students will submit an algorithm and a matching operational program.
2 / 3.Summarize the evolution of programming languages illustrating how this history has led to the paradigms available today. / Students will perform research using the textbook and the Internet and summarize it in a written description of the evolution of object-oriented languages like C++.
80% of students will submit a report scoring a ‘C’ or better according to a rubric.
2 / 4.Demonstrate the proper declaration and use of variables considering their address, value, scope, persistence and size. / Students will answer short answer questions to evaluate code and write program segments demonstrating the appropriate use of block, local and globally defined abstract and primitive data types.
75% of students will score a ‘C’ or better on the questions.


October 2012

Institutional Learning Outcomes / Course Intended Outcomes / Means of Assessment and Criteria for Success / Summary of Data Collected / Use of Results
2 / 1. Carry out activities in the program creation process; design, code, compile and debug. / Students were asked to write the following program:
Imagine you own a company and you want to develop an electronic system for your customers to browse inventory and purchase items you have in stock. Your inventory is kept in a text file and may include some items that are on sale. Your customers can browse your inventory, add items to their cart, and check out when they are done. They will get a receipt with the items they purchased and their total amount. (additional instructions followed) / Spring 2012
1 online section
Final Project
11 90% or higher
03 80% or higher
01 70% or higher
02 60% or higher
01 50% or higher
01 15%
06 did not attempt / This was the final project for the class that incorporated almost all of the concepts learned throughout the semester. The distribution of grades seems to indicate that it was a fair final project.
Of the students that did not attempt, most had already stopped participating and one had been struggling throughout the semester.
2 / 2. Choose the appropriate data type of structure for a problem. / To be measured in Spring 13
2 / 3. Choose a suitable control structure and code it in a program. / Students are asked to write the following program:
Write a program to prompt the user for an integer between 1 and 20 and then print out a table with the one column being the numbers going from 1 to the user's number, and the second column being the square of those numbers (including the column headings shown in the sample output below). If the user enters a negative number, or a number outside of the range 1-20, prompt them to try again. As long as they keep entering any number other than zero, your program should keep looping and printing their table. If the user enters 0, your program should quit. / Spring 2012
1 online section
Assignment 4
21 90% or higher
02 80% or higher
01 got 3%
01 did not attempt / The scores indicate that this assignment was too simple. Students incorporated two kinds of loops: for-loops and while-loops, but they obviously had no problems with the concepts. A more difficult assignment is recommended.
The student that scored 3% guessed on the multiple choice portion and did not submit the programming assignment. She stopped participating in the class shortly after.
2 / 4. Design a variety of classes using object oriented principles and implement them in programs. / Students are asked to write the following program:
Write a program to store and calculate a student's grades using aStudentGradeclass. Their overall grade will be calculated based on the following (160 points total):
a) One quiz worth 10 points
b) One midterm worth 50 points
c) One final worth 100 points
Their overall grade will be A-F based on the typical grading scale: 0-60% is an F, 60-70% is a D, 70-80% is a C, 80-90% is a B, and 90-100% is an A.
The program will prompt the user for the quiz score, the midterm score, and the final score. It will then set these values on aStudentGradeobject and call a method calledgetOverallLetterGrade()to get the student's overall letter grade (like 'B') andgetOverallNumericGrade()to get the overall percentage (like 84.375). You can assume that each of the scores are integers but the overall calculated grade will need to be a double.
Below is the sample output:
Please enter the quiz score (0-10):<user enters 8>
Please enter the midterm score (0-50):<user enters 42>
Please enter the final score (0-100):<user enters 85>
The student's overallgrade is:B (84.375%) / Spring 2012
1 online section
Assignment 6
13 90% or higher
07 80% or higher
03 70% or higher
01 60% or higher
02 did not attempt / The distribution of scores from this assignment seems to indicate that it was about the right level of difficulty. The most common problems were related to the newly-learned concepts of classes, including public vs. private variables and member functions.
2 / 5. Use predefined classes in programs. / Students are asked to write the following program:
We will use two files for this new class: StudentPrinter.h and StudentPrinter.cpp.
I will provide the .h and .cpp files for the original StudentGrade class as well as the original main() since it is based on the solution to Assignment 6 (attached below). Your assignment is to modify main() to create a vector of StudentGrades and also develop the .h and .cpp files for a new class called StudentPrinter that will take the vector as a parameter to the constructor and stores it in a private member variable, and then has a method called printGrades() that will print the final grades for each student in the vector. / Spring 2012
1 online section
Assignment 10
13 90% or higher
06 80% or higher
01 70% or higher
05 did not attempt / Some students had trouble understanding the concept of a vector that contained objects. Spring break fell between the classes and vectors modules and this module, so maybe a refresher would have been helpful.
The students who did not attempt this assignment had already stopped participating in the class at this point.
2 / 6. Utilize an array to code a solution to a repetitive problem. / Students are asked to write the following program:
Write a program that tells the user which of their numbers is out of order, if any. To do this, you will prompt the user to enter 10 numbers, store them into an array using a loop, and then pass that array to a function called outOfOrder which will check if they are in increasing order. If they are in increasing order, your function will return -1, otherwise it will return the index of the first element that was not in increasing order. Your main() function should check the return value of the outOfOrder function and print either a message telling the user their numbers were in order, or tell them which was the first number out of order.
Below is a sample run:
Please enter ten numbers:<user enters 1 2.2 3 4.6 5 6.9 7.3 8 9.7 100>
Your numbers are in order!
Another sample run:
Please enter ten numbers:<user enters 5 6 7.9 1.2 8 9.35 10 15 20.6 50.2>
The number 1.2 is the first number out of order. / Spring 2012
1 online section
Assignment 5
14 90% or higher
08 80% or higher
01 70%
02 did not attempt / Many of the errors made by students were in passing parameters to functions and returning values.
Some students also had trouble getting the logic right of looping until they encountered a number out of order.
Assignment was fairly early in class and maybe students weren’t comfortable enough with the required concepts.
2 / 7. Write a program that reads input data from a file or keyboard and formats it for output to the screen or file. / Students are asked to write the following program:
Read student scores from a text file called Scores.txt, and print the overall grades to another text file called OverallGrades.txt.
The format of your input file (Scores.txt) will look like the following:
# students
quiz midterm final (for Student 1)
quiz midterm final (for Student 2)
... etc, one line per student
For example, if you wanted to list scores for 3 students, Scores.txt would look like the following:
3
9 45 96
8 35 88
5 23 67
The format of your output file should look like the following:
Student 1's overall grade is: A (93.75%)
Student 2's overall grade is: B (81.875%)
Student 3's overall grade is: F (59.375%) / Spring 2012
1 online section
This was the 11th assignment.
14 scored 90% or above
03 scored 80% or above
03 scored 70% or above
01 scored 25%
04 did not attempt / This assignment was probably too easy since the majority of students scored above 90%. It was very similar to the previous assignment with the addition of using files. The difficulty should be increased.
The students who did not attempt this assignment had already stopped participating in the class at this point.