Center for Teaching and Learning
Focused Inquiry Groups (FIGs) - Title
III: Critical Thinking
Critical Thinking - Members: Desmund Chun
Critical Thinking Assessment Pilot Project
CSCI 8 - Computer Literacy & CSCI 14 - Programming with C++
Fall 2008
Application
CSCI
8 (2 sections - 01 and 02) Computer Literacy: Assignment 3 – Issued 10/20/08
and due 0/27/08, 25 point
The assignment involved the construction of a
basic spreadsheet.
- The
cell values and general format of the spreadsheet was issued in hardcopy
format with the assignment. See attached spreadsheet and Word document.
- The
assignment draws:
-
On the relevant
lectures and the text.
-
There is a supporting
Blackboard site at http://clpccd.blackboard.com containing example
spreadsheets essentially the “same” that a student could download and
view under Excel to “see” the formulas and functions (i.e. “reverse
engineer” a solution).
-
Formulas are described on the assignment including “where” to put them on
the spreadsheet.
-
Students were told:
-
The “power of a
spreadsheet lies in its capability to perform automatic
calculations based on formulas and functions.
-
The class was warned
that if you simply copy the numeric values into the spreadsheet, it is
no better than a Word document that cannot be updated automatically and
that I will assign you “1 point”.
Breakdowns ran as follows:
-
CSCI 8–01: 29 students enrolled with:
-
16 students did not
turn in the assignment
-
2 students
essentially just typing in the numeric values with no attempt at using
formulas or functions (did not understand the concept of a spreadsheet)
-
2 students showing
some recognition of some of the spreadsheet concepts but missing some of
the required formulas or functions (did not recognize a similar
opportunity or need to use a concept).
-
3 students showing
“competent” mastery but making a minor error or missing one area of
application (e.g. “they did it here but failed to do it there in another
place of the spreadsheet”, probable carelessness)
-
4 students showing
“mastery” with no errors
-
CSCI 8-02: 29 students enrolled with:
-
10 students did not
turn in the assignment
-
4 students
essentially just typing in the numeric values with no attempt at using
formulas or functions (did not understand the concept of a spreadsheet)
-
3 students showing
some recognition of some of the spreadsheet concepts but missing some of
the required formulas or functions (did not recognize a similar
opportunity or need to use a concept).
-
4 students showing
“competent” mastery but making a minor error or missing one area of
application (e.g. “they did it here but failed to do it there in another
place of the spreadsheet”, probable carelessness)
-
8 students showing
“mastery” with no errors
CSCI 14 (1 section – 02) Programming with C++ -
Assignment 7 – Issued 11/13/08 and due 11/20/08, 25 points
The assignment involved (see attached assignment)
-
Entering
a string of text (words separated by blanks) with each letter to be
translated into its equivalent Morse code (encoding)
-
Entering
Morse code and translating that code into its equivalent letters or digits
(decoding)
-
Having
the student develop the logic to carry out the required specifications
-
Success
is measured on whether the application initially compiles into an
operational program and whether it meets specifications and “works”
correctly.
The logic for the program involves:
-
The
application should be divided into 2 basic sections allowing the program
user to select which function they would like to do.
-
The basic
logic for encoding is:
-
Entering a string of text.
-
Determine how many characters including blanks are in that string.
-
Use
“For loop” to pull off one character at a time (i.e. letter, digit,
blank or other character symbol) to evaluate it. That character will be
compared against the Morse code to determine what it is its coded
equivalent
-
The
comparison will either find a Morse equivalent (i.e. letters, digits,
some punctuation marks) or no comparisons (e.g. “*”, “%”, “#”). A blank
is a blank.
-
A new
string is “built” containing each Morse code for each original
letter/digit in the original string. This is the encoding.
-
The basic
logic for decoding is:
-
There
are multiple ways to code this part of the program.
-
The
user can either enter the Morse code one code group at a time (i.e.
.-. or .-.- or – or ..) or all of the code in
one string separated by a blank (i.e. … .--. .--. . --).
-
Depending on how the data was entered will determine the method used to
decode it.
-
Entering one Morse code at a time:
-
Entering one Morse code group at a time – This
is the easier method. That code group (i.e. .-.-or …)
would be compared against a series of if…else if statements
that contain the letter/digit equivalent.
-
A string containing the letters/digits or
blank is built. That is the decoding.
-
Entering a series of Morse code groups separated by blanks:
-
Determine the number of characters in the
string (dots, dashes, blanks or other symbols)
-
Copy each character into a temporary test
string until a blank is read. That blank “tells” the logic that it
has a “complete” Morse code group.
-
Two arrays are used. An array of Morse code
and a second array of the equivalent letters/digits. If the logic
finds a Morse equivalent, that index location must be the location
of the letter/digit in the second array of letters/digits
-
A string of letters/digits/blanks is created.
That is the decoded message.
Summary of Observations
Applications in
programming are usually “all or nothing”. If it does not compile it does not
work. If it compiles there may or may not be logic errors.
-
Many students do not adequately test their applications to determine if the
output produces
-
Students will attempt to turn in non operational programs to “meet” the
deadline. I give a 5 point penalty for “late” assignments before any
deductions for incorrect output or logic errors. It is “smarter” to turn in
a fully operational and correct application “late” rather then turn in a
nonfunctioning or incorrect program “on time”.
-
Many students will not or cannot debug errors. This involves devoting time
and effort since programming diagnostics are at “best” cryptic and there are
too many variations of errors. It involves knowledge of the compiler and the
grammar/syntax of the language itself.
-
Many students attempt to “code” the program without adequate logic design or
a full understanding of the ramifications of the logic or selection of code
used (“why did you do that?”)
Conclusions
It is my professional conjectures that a “failing” student:
-
Underestimates the problems, demands and requirements of being a programmer
- Attempting
to intellectually and conceptually “put square pegs into round holes”
by dogmatically using the text or lecture examples as a template without an
appreciation that “there is no set or pat answers in the real world”.
It is a failure to translate concepts into workable solutions. In effect, no
“imagination” to identify what is in effect a similar situation “dressed
differently”.
- Have an
unrealistic expectation that it is easier to “ask” the instructor for
the “answer” then to develop it themselves (a “dangerous”
belief in Corporate America or in higher level classes at a four year
institution).
- Failure to
show up at lectures or “falling asleep” in class thinking that what is being
explained “they already know” or “I can use the Blackboard examples”.
Breakdowns are as follows:
-
18
students did not turn in the assignment
-
16
students successfully accomplished the specifications of the assignment (one
of these was “late”)
-
1
student turned in a non operational assignment that I had to make debug
corrections to get it to run. Points were deducted accordingly
There is a supporting
Blackboard site with instructor notes on each text chapter, links to the web for
C++ tutorials and many examples demonstration aspects of the language.
|