CSC 223 -
Python for Scientific Programming & Data Manipulation,
Fall 2023, TuTh 4:30-5:45 PM, Old Main 159.
# Due Date: No later than 9 AM on Friday December 15 via make
turnitin.
# This assignment is OPTIONAL and I will
count it only for
# students who have turned in assignments 1
through 4.
# For students submitting 1 through 5, your final
grade will be
# the larger of the average of (assn1 thru assn4)
and the average
# of (assn1 thru assn5). You may skip doing assn5,
and I will
# NOT accept assn5 for anyone who has not turned
in (assn1 thru assn4).
# Must be in by the above deadline in order to count because
of KU grading deadlines, else 0%.
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/CSC223f23PushDataflowAssn5.problem.zip
CSC223f23PushDataflowAssn5.problem.zip
unzip CSC223f23PushDataflowAssn5.problem.zip
# unzips your working copy of the project directory
cd ./CSC223f23PushDataflowAssn5
#
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.
CSC223f23DataflowAssn5.py # your work goes here,
generating & aggregating statistical distributions
in a PUSH dataflow
makefile
# the Linux make utility uses this script to direct testing
& data viz graphing actions
makelib
# my library for
the makefile
CSC223f23DataflowAssn5.ref
# the expected output for diffing against output
CSC223f23DataflowAssn5.csv
DataflowGeneratorsDAG.py
# Earlier example code for a PUSH dataflow
pipeline, not part of the assignment.
Here are the graded STUDENT requirements
from CSC223f23DataflowAssn5.py:
# STUDENT 1: 5% Write makeNormal(Loc, scale, size,
seed)
# STUDENT 2: 5% Write makeExponential(scale, size,
seed)
# STUDENT 3: 5% Write generator
generateDistribution() with these parameters
# STUDENT 4: 27% Write *coroutine*
generateStatisticalAnalysis that iterates
# STUDENT 5: 27% Write *coroutine*
saveStatisticalAnalysisCSV that tests
# STUDENT 6: 31% call .__next__() on each of
coroutines stage2 and
We will go over this in class.
In our final exam period,Tuesday, Dec. 12, 2023 2-4 p.m., I
will go over my solution for Assignment 4,
which must be in before then. We will then
have Q&A work time for students
selecting Assignment 5.
Late
assignments cost 10% per day as usual. Use make
turnitin to turn it in as before.
Here is the topology of Assignment 5's
dataflow, identical to Assignment 4 (no forks),
but using PUSH dataflow.