CSC 223 - Python for Scientific Programming & Data Manipulation, Fall 2023, TuTh 4:30-5:45 PM, Old Main 159.

Assignment 4 Specification, code is due by end of Saturday December 9 via make turnitin on acad or mcgonagall.
It must be in before I go over the solution Tuesday, Dec. 12, 2023 2-4 p.m. during our exam period, else 0%.
The 10% per-day late penalty up to that point applies.
DUE DATE MOVED TO END OF MONDAY DEC 11 due to a glitch in access to student file system.
Even if you cannot see your files on acad, a student has informed me that ssh'ing into mcgonagall works OK.
 

Added 12/6/2023: I will not accept late assignments after 9 AM on Tuesday December 12.
        I will go over my solution in our final exam slot 12/12 for students doing Assignment 5.
        From the first day handout: "Late penalty is 10% per each day late, up until I go over the solution.
            Any assignment turned in after that is worth 0%." I will send Assn4 solution out around 9 AM.
 
Perform the following steps on acad or mcgonagall 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/CSC223f23DataflowAssn4.problem.zip  CSC223f23DataflowAssn4.problem.zip
unzip  CSC223f23DataflowAssn4.problem.zip    # unzips your working copy of the project directory
cd  ./CSC223f23DataflowAssn4                            # your project working directory

Perform all test execution on mcgonagall 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.

CSC223f23DataflowAssn4.py  #
your work goes here, generating & aggregating statistical distributions in a PULL dataflow
makefile                             # the Linux make utility uses this script to direct testing & data viz graphing actions
makelib                              # my library for the makefile

CSC223f23DataflowAssn4.ref    # the expected output for diffing against output CSC223f23DataflowAssn4.csv
DataflowGeneratorsOnePath.py    # Earlier example code for a PULL dataflow pipeline, not part of the assignment.

Here are the graded STUDENT requirements from
CSC223f23DataflowAssn4.py:
# STUDENT 1: 20% Write makeNormal(Loc, scale, size, seed)
# STUDENT 2: 20% Write makeExponential(scale, size, seed)
# STUDENT 3: 20% Write generator generateDistribution() with these parameters
# STUDENT 4: 20% Write generator generateStatisticalAnalysis that iterates
# STUDENT 5: 20% Write saveStatisticalAnalysisCSV that tests

We will go over this in the November 21 class. We will not have class November 28, and November 30 will be a work session.
In our final exam period,
Tuesday, Dec. 12, 2023 2-4 p.m., I will go over my solution. It must be in before then.
    Late assignments cost 10% per day as usual. Use make turnitin to turn it in as before.

Here is the topology of Assignment 4's dataflow:

CSC223f23DataflowAssn4.png