2026-09-01
The deadline to be on a scrimmage team is the deadline for submitting (as a team) the first
scrimmage deliverables, which is Friday the 11th.
Scrimmage 1 (the first group exercise) is a two-foot putt:
By 0700 on Friday, September 11, set up your assigned VM as a web server. Put up
something that would convince a skeptical visitor landing on that site that the server relies
on a database. Ensure
your VM itself evidences basic care, maintenance and security. (Some students are cyber mavens
- cool, so to be clear, this security directive is not an obligation for you to go nuts with
defense!) Per convention
for group assignments, please submit a cover sheet, according to the conventions for digital
signatures with the template in your group folder. This exercise serves as a forcing function
to get everyone on a group in some form or other; it lets us practice conventions for projects;
and it is a good opportunity to practice following our "do the right thing" directive.
Heads up! Scrimmage 2
will be due by 9PM that same Friday. This is also an easy
target (problem statement is below), but will require talking as a group in order to sort
it out. Write a "plan" for how you intend to solve the problem, and provide a lo-fi
model of the workflow your solution will support. The deliverable is your plan in Word document
as "scrimmage02.docx" and either a Figma, Canva, Powerpoint animation or
video animation of the workflow. These materials should persuade an ostensible product manager
(like me) that you are on track and can solve my problem. (Cover sheet: yes.) The lo-fi, plan
and ultimate product should be consistent with one another.
Scrimmage 3 is due at 5PM the following Friday (September 18).
For this just follow your plan.
Foreshadowing: by that point we will have surveyed all sorts of simple ways that a
product can fail for want of technologists anticipating what users actually need. Your
mission is not to replicate such defects in this exercise. Don't just write a
program; solve the problem. (Cover sheet: yes.)
The problem - a capability we'd like to have: We'd like to have an
easy way to visualize (read: "graph") data from a collection of uniformly-structured
spreadsheets.
There, how's that for simple? Give me what I need in order to succeed.
Okay, a few more details are probably in order...
The starting point for this tool is a set of "uniformly-structured spreadsheets" -
what are those?
- I'll be using Excel (XLSX) files having tabular data with some arbitrary
number of columns and rows, either of which may or may not be labeled. We should work
based on the user designating either the symbolic label used in a row/column or the usual
Excel labeling convention for cells.
- The layout of each sheet in the set is likely to be 'more or less' the same, though
sensible engineers will make a product that is robust in the face of variation.
- We don't particularly know how many sheets there are in any given use but it might
be potentially large. We'd like for this to be something the user doesn't have to pay
attention to in order to succeed.
- Examples: I might have sheets generated day by day to track weather properties;
I might have stock reports generated week to week showing fluctuation in values; I may
have student performance data tracked session to session.
And what do we want to do? Enable the user to select and graph one or some of
the properties over the whole set of input files. If sheets capture weather then we
might want to identify a TEMP row name and value field(s), then our product will
select those values from the set and pop up an appropriate display. If it was stock
values, then we'd identify one or some stock ticker values (if they appeared as the
labels in each sheet) and display the graph of those over time. If sheets were about
student performance then we'd offer the list of student names (again presuming these
appear as labels in each sheet) and see the trend of values over time.
Some considerations to put on your radar early: First, we
will be pretty concerned with usability and work flow. A system that technically allows
visualization but with high-overhead data entry costs is probably a non-starter for us.
Next, we are interested in rich display options; flexibility in what we name and how we
select them is important. And as noted, we want something more than a toy; let's do this
at scale.
Finally:
- We're not defining many details. "Do the right thing." By now I hope you're all
figuring out that ambiguity is something we erase by exercising initiative to find
what is necessary for mission success, not something we interpret for our own convenience.
The 'client' in this problem seeks a reasonable way to understand more about arbitrary
data sets. Help him win this illumination.
- The VM as assigned to you is available as a shared team resource.
That doesn't mean you must do it there or that I would run it there, but
it should facilitate coordination. However you reach a solution, though, limit yourself
to run time services which are local (to the VM or where I work.) A back door to AWS servers,
G**gle environments or any cloud resource in general is a non-starter.
- We strongly advise that solutions be based on coordinating efforts of all team members.
Drawing straws to see who is stuck building the whole system is a great way to fail, not the
least of which because I may randomly ask team members to explain or adapt one or another part
of the system, and it goes poorly when they don't know what is going on. In any case, I bet
this is just beefy enough a problem that there is something for everyone to work on.
- Engineering is problem solving under constraints. Find the best way forward with the
time and resources we have available. A perfect solution which can't be completed until
end of semester is not a solution. A toy that only enables simulation, not real analysis,
is not a solution. A work flow that demands huge investment of my time to test with all
the data from students in this class - or recent semesters - is not a solution.
This is a cool little toy that will let us explore common SE issues in the small before
we blindly move ahead to trip over them in the larger project later.
|
2026-08-31
And we're under way in a new semester!
Repository credentials will have been emailed to your address of record
as of this morning, so per
usual convention, if this is a surprise to you then check your spam folder or contact me soon
so you can get set up. The initial assignments are due Thursday
as detailed in the 2026-08-08 post below. We'll see you in class Tuesday.
We have many small tasks to field right now, and with fast pace. It is for good
effect, I promise you, so my best advice is to cheerfully stay up to date with them.
|
2026-08-08
A new semester is just around the corner. We're sharing the
the first assignments for those who want to get an early start.
Review our guide on Expectations Management! Please make sure we are all
clear about what we're getting into by reviewing the
guide Is 435 right for me?
-
Get started on the first assignments!
Getting these very small tasks out of the way will keep the decks cleared
for more interesting things once the semester arrives.
- Purchase your Clifton Strengths assessment. This skills assessment is
for our exercises on team building and is available for a student discounted
rate from the folks at Gallup:
Clifton Strengths for Students
(The "Top 5" report is adequate for our needs, but the student version offers those and more
at the same price.)
Save and study the PDF reports, which are specific to each person;
we'll have you place the Signature Themes Report in
your Subversion folder (which you will receive first day of semester.) We will
use this material in our first lab, so don't be left out.
- Update your resume. Prepare this as a PDF document.
Please only share details with which you are comfortable. We use the content
later in sorting out talents for teams and projects, and to figure out early who knows how
to follow directions (which is one of the most basic skill sets of our business.)
Place this in a PDF document "resume.pdf" in your repository folder as well.
- Prepare a thoughtful statement of what you want to get out of 435.
Craft this as a Word document, and place it in your Subversion folder as file "goals.docx".
In general we judge more than just the payload of your submissions, so please remember
that evidence of timeliness, preparation and planning always count. Everything you
do reflects on you.
Students on the waitlist should plan to attend the class from day one and
perform the above assignments in anticipation of being admitted to the section.
We will issue repository credentials to waitlisted students so you are able to participate
in the labs and complete the exercises for on-time credit once you are able to add the class.
Let's emphasize this: you must participate and do the work from day one in order to get the
credit.
Pro tip: Commit to success from day one.
We rely on workmanship offered in early assignments when making decisions on teaming and
tasking, so consider seriously what we will have to work with.
Overall, exercise of initiative in the interest of quality is rewarded, so pay attention,
demonstrate decent critical thinking skills and focus on success from the start. Do that and
we'll make the semester worth your while.
Assignments On the first day of the semester we will email credentials
for access to the class repository (which is one of several ways we will communicate this
semester) to each student registered. Our first assignments (as above) will be
due by SOB on Thursday, September 3rd.
Infographic Plan on prepping a simple infographic on yourself to pitch
for team members (even if already on a team) for early the following week. You'll have plenty
of ideas for how to do this based on our first lab, using resume and Gallup Strengths.
Teams We will form four-person teams starting the first day of class.
These teams will conduct practice exercises ("scrimmages") early in semester in order to get
used to some of the basics before we tackle the class project. You're free to form these teams
as you like, though don't panic if you don't know anyone else in class since we'll make time
available adjacent to each class in order to meet one another.
|