CSc 301 Homework Assignments
Hwk #1
Obtain the textbooks and course materials listed in the
syllabus. Customize this cover
page (.odt) and insert it in your binder. Bring your binder
to the next class meeting.
Hwk #2
Write a description of how you prepare your favorite breakfast
meal. (Your meal must be cooked - no cold cereal.
Examples: Pancakes, omelot, oatmeal, etc.)
Write a description of how you write a program. Imagine you're
in a conversation with a fellow student and you are explaining the
steps you undertake when given a programming assignment. Don't
idealize it, just describe your actual work habits.
Submit each on a separate page following the writing guidelines in
the syllabus.
Hwk 3
Complete the Time
Log Training Exercises. Please note Dr. Dalbey's Time Log form
has minor differences from the one in the textbook. We will
use Dr. Dalbey's form for all coursework.
Hwk 4
Complete the Defect
Log Training Exercises and the PSP0
Script Training Exercises.
Hwk 5
Complete the design phase ONLY of Project 2.
Submit in class:
The Time Log and Design form for Project 2.
The PSP0 forms you completed for Lab 9.
Bring a calculator.
Hwk 6
Study the counting
rule for our class LOC counting tool. Is
the tool a Physical line counter or Logical line counter (Pg
49)? Printout out this source
code. In the left hand margin, number
every line that will be counted by our tool when used as
specified by the PSP0 script. At the bottom, write the
total LOC. Write your name at the top of the page for submittal.
Hwk 7
Using the PSP0 process script, read this scenario
for Mike and complete a Time Log and Defect Tally in pencil.
Bring the completed forms to class.
Read the PSP1
process script. Open both the PSP0 and
PSP1 scripts side by side, and create a list of what activities
are new or changed in PSP1. Type this list and submit in
class.
Make a printed copy of the PSP1 Project
Summary Form (pdf) and Directions (pdf).
Study the directions and bring questions about anything that is
not clear. Bring the printouts to class and be prepared to
work an exercise completing the form.
Print at least two copies of the PSP1 Form
Set (pdf) and put them in your binder. From now on,
you will be expected to bring your own blank forms to use in
lecture and lab.
Hwk 8
Print out the second and third pages of this
exercise using PSP1 forms. Complete the forms neatly in pencil
following the directions on the first page. Write your name on the
top and bring the forms to class for grading during lecture.
Hwk 9
Using the PSP1 script, complete ONLY THE PLANNING PHASE for solving
the next lab programming problem ("Ln"). Since this is your first
PSP1 lab, use your most recent lab historical data for making
resource estimates. Follow the PSP1 script for the Planning Phase.
Staple together in this order:
- PSP1 Summary Form at the completion of the PLAN phase
- time log
- size estimating worksheet
- a COPY of your most recent lab Summary Form.
Bring to the next class meeting for grading during lecture.
Hwk 10
Self-improvement
project
Hwk 11
Complete Project 6 through the Code Review phase.
Bring all your forms and work to class.
Bring a duplicate copy of your Defect Tally (for the Code Review
phase) to submit at the start of class.
Hwk 12
The purpose of this assignment is to analyze your defect data to
find the most common kinds of defects you make. Read "Updating the
Checklist" on pp 177-179.
Study your historical Defect Tally forms for Projects 2-6 and
extract the frequency of each type of defect. Create a pareto chart
(decreasing order of relative frequency). You may create your chart
by hand if it is neat, or use a spreadsheet.
Now review the defects in the top 20% of your chart. Create a new
code review checklist item for each of the defects that are NOT
contained in Dr. Dalbey's Java Code Review
Checklist.
Type your new checklist items in a format consistent with the
existing checklist. Submit printouts of your checklist and your
pareto chart.
Hwk 13
Create an improvement to PSP2. Follow the guidelines in
Chapter 13.
Suggested improvements:
- Write all system tests before design.
- Create a complete detailed design using flowcharts,
pseudocode, sequence diagram, or other notation.
- Perform an algorithm hand trace before coding.
Create these process elements (see pg 292 and 300) for your
improvement:
- Script
- Form(s)
- Standard(s)
- At least one process measure.
Create an example of what a completed form would look like.
Print your process elements (and example completed form) and staple
them in the order above. Submit at start of class.
Hwk 14
Prepare your binder for grading. It should contain all your
returned labs, projects, in-class exercises, and Self-Improvement
Process Report. Optionally, you may include homework and
quizzes. Bring your completed binder to class.
If you maintained a course journal, you may submit it at the last
class meeting.
Final Report
The Final PSP report is worth 9% of your course
grade.
Analyze and interpret the data from your projects 3 - 7. You
should use the Project Summary History Spreadsheet (ver 1.3.1),
including the analysis charts.
Study your results for:
- Productivity
- Defect rate
- Quality Metrics (Yield, A/F ratio, Phase
ratios, Review Rate)
- Estimating Accuracy
Analyze and interpret the data referring to the
guidelines in the texbook (Ch 8-9). Draw conclusions.
In what areas do the data show you have
improved?
Do you feel there are improvements in your
programming skill not captured by the quantitative
data? How might you try to measure them?
Create one or more specific improvement goals,
based on the data.
Submit your spreadsheet containing all your
project data to PolyLearn.
Follow the class writing guidelines.
Print your report and submit it at the Final Exam meeting.