CSC 223 -
Python for Scientific Programming & Data Manipulation,
Fall 2024, MW 3-4:15 and 4:30-5:45 PM, Old Main 159.
Assignment 4 Specification, code is due by end
of Friday December 6 via make turnitin on
acad or K120023GEMS.kutztown.edu.
We will go
over this in the November 11 class. TAKE
NOTES. I am going to demo most of
what you need to know in ipython.
November 13 will be a work session, and December
6 is the due date.
Late assignments cost
10% per day as usual. Use make
turnitin to turn it in as before.
Perform the following steps on acad or K120023GEMS after
logging into your account via putty or ssh:
cd
# places you into your login directory
mkdir Scripting
# all of your csc223 projects
go into this directory
cd ./Scripting
# makes Scripting
your current working directory, it probably already exists
cp
~parson/Scripting/CSC223f24MeasureWaves4.problem.zip
CSC223f24MeasureWaves4.problem.zip
unzip CSC223f24MeasureWaves4.problem.zip
# unzips your working copy of the project directory
cd ./CSC223f24MeasureWaves4
#
your project working directory
Perform all test execution on K120023GEMS to avoid any
platform-dependent output differences.
All input and output data files in Assignment 4 are small and
reside in your project directory.
Here are the files of interest in this project directory.
There are a few you can ignore.
CSC223f24MeasureWaves4.py # your work goes here,
generating analysis of waveform data in a PULL dataflow
genSamplesf24.py
#
contains a modified genSamples(...) function from
Assignment 2 used as a library function
diffcsvWgz.py and arfflib_3_5.py
are used to check CSV files for
differences
makefile
# the Linux make utility uses this script to direct testing
& data viz graphing actions
makelib
# my library for
the makefile
__pycache__
# a subdirectory where Python stores
compiled byte codes temporarily
DataflowGeneratorsOnePath.py #
Supplies example code. Read it to understand PULL
dataflow. It is not part of this assn4.
Here are the graded STUDENT requirements
from CSC223f24MeasureWaves4.py:
# STUDENT 1 (5%): Complete documentation at top of
CSC223f24MeasureWaves4.py.
# STUDENT 2 (11%) Write the following import
statements:
# STUDENT 3 (21%) Initialize samples, wavetypes,
duplications, etc.
# STUDENT 4 (21%) Pair and yield two genSampled
wave 4-tuples as documented:
# STUDENT 5 (21%) assign pcc through
quantilesRight as spec'd above.
# STUDENT 6 (21%) construct generators makeWaves,
makeStats, and
Most of the waveforms in this assignment are those
you generated in Assignment 2
as illustrated
in CSC558's Assignment 2. Below are two new
Figures.
Figure 1: uniform waveform type with a
duplication parameter of 1
Figure 2: Additive effect of sine wave with
duplication of 3 before normalization to the
range [-1.0, 1.0]
The scaling down of the duplication 1 initial wave
+ the scaled copies of
duplication 2 and 3 waveforms cause the dips in
the composite waveform
outlined in black. We will go over this on
November 11.
Here are some URLs to libraries you will import
and use in Assignment 4.
https://docs.python.org/3.11/library/statistics.html
https://docs.python.org/3.11/library/statistics.html#statistics.mean
https://docs.python.org/3.11/library/statistics.html#statistics.pstdev
https://docs.python.org/3.11/library/statistics.html#statistics.median
https://docs.python.org/3.11/library/statistics.html#statistics.quantiles
https://docs.python.org/3.11/library/statistics.html#statistics.mode
https://docs.scipy.org/doc/scipy-1.14.1/reference/generated/scipy.stats.pearsonr.html
https://docs.scipy.org/doc/scipy-1.14.1/reference/generated/scipy.stats.spearmanr.html#scipy.stats.spearmanr