CSC322.01 2016S, Class 01: An Introduction to the Course
Please grab an index card and the academic honesty policy. (If you grabbed
the academic honesty policy when you were in 321, you need not grab it now.)
Overview
- Preliminaries.
- Admin.
- Upcoming Work.
- Extra Credit.
- Questions.
- Course Preview.
- Quick Course Overview.
- The Projects.
- Introductions.
- Strengths Finder
- Team Activities
- Team building.
- R&ecaute;umeé reviews.
- Course Preview Continues
- More Syllabus Stuff.
- Wrapup.
Preliminaries
Admin
Upcoming Work
- Discuss your project with your team.
- Prepare questions for your community partners.
Good Things to Do
Academic
- CS Table Tuesdays! Upcoming topic: Facebook's Walled Indian Internet
- CS Extras Thursdays! Today's topic: Summer research. Next week's topic:
\LaTeX.
Peer
- Women's BBall vs. Ripon Saturday at 3pm.
Questions
Quick Course Overview
- Building a medium/large project; continuous
- With a real client (but not mission critical)
- Mentored by an alumnus/a
The Projects
Current, past, and simulated students will come and talk about their
projects.
- What is the project?
- Who is the client?
- In what stage is the project? (Just beginning, nearing completion,
somewhere in between.)
- Why should someone want to work on this project?
- Questions from the class.
Board Bank
- Greater Powesheik Community Foundation works with multiple nonprofits that
have governing boards. They need members for the boards.
- Current mechanism doesn't let people know about all the opportunities
available and doesn't let boards know about possible members. Plus
it's on paper.
- So we're building the matchmaker for people and boards.
- Client is GPCF; Nicole Brua-Behrens is an awesome person to work with.
- Should be ready to roll out this semester.
- It's meaningful and important.
- You get to read beautiful legacy code and see the project being rolled
out.
- Current foci for the semester: Better filtering of search results;
Make it look professional; Squash those buggies (and there are a lot)
- No continuing members. But we have four former contributors available
for advice.
Grant Application Management Project (GAMP; it doesn't have charts)
- Building a Web application for GPCF to manage grant applications.
- Currently handled manually (email, Google docs, ad hoc solutions).
- The Web is a better solution; lets us manage applications more easily.
- Partner: Greater Powesheik Community Foundation; work with Nicole, who
is really nice.
- Current state: Near completion. Functional aspects are there. It even
looks better. But there's room for growth, particularly for administrative
stuff. Usability studies may also be necessary.
- Likely to be adapted to other purposes this semester.
- Similar reasons to work on this (yay legacy code), plus the chance to
adapt code to a new purpose.
- It supports important things, such as educational opportunities and food
banks.
- The commercial version that GPCF won't buy is $40K.
- No continuing members. But we have former contributors available for
advice.
Community Resource Portal
- A new project from last semester.
- There is a huge PDF of community resources (housing, job search, expectant
mothers). Goal of making the information available more easily, particularly
if your primary internet access is through a mobile phone.
- Web site exists and scales for different device sizes.
- It's such an awesome project that AOAs choose to work on it in their
spare time.
- Hope to put the resource in the hands of MICA soon so that it can be
much more of a live document.
- Clever links to outside resources, such as Google docs.
- Close to MVP (Minimum Viable Product)
- Needs to move to Heroku and to the client.
- Needs to have better search, such as closeness search.
- Wants a calendar feature too.
- Agh! Creeping featurism.
- Every county has something like Mid-Iowa Community Action, so there's
a good chance that this could be used statewide.
- Partner: Mid-Iowa Community Action.
- You don't have to worry about the design! But you do have to crush
bugs and add features. Still a new project. And likely to have a
huge impact. Also open ended; can grow indefinitely.
- WBC will be continuing on the project, and AOA is our mentor.
Text Message Notification System
- Partner(s): MICA and Project Head Start (pre-K)
- Need: An efficient way to notify parents of students of important
issues (e.g., school closings) both as a group and individually.
- Text message notification system; assign students to classrooms, etc.
- Important privacy issues: Teachers should not see classrooms other than
their own; Admins can only see certain classrooms.
- Close to MVP (minimum viable product). Needs some real testing and
bug fixing this semester. Partners want to try it soon.
- New features: Partners also want scheduled notification and email
notification.
- Why? Interesting to work with external things, like email and text
messages. Security is a big challenge. Awesome group members.
- Two continuing members.
- Sending messages with a Gem.
Introductions
We will be working together for the semester. We should know a little
bit about each other.
- What do you like to be called
- Preferred Gender Pronoun
- Where are you from?
- When you have spare time, how do you like to spend that spare time?
- What will you bring to the class?
Bring
- TD: UX/Front end
- NS: UX/Front end
- MH: UX/Front end
- EE: UX/Front end; knows Active Records
- RHB: Back end; Strategic
- SS: Likes to design things; Willing to work on anything; Proactive
- EM: Learns well
- WBC: Interpersonal skills
- LG: Depth of experience
- RG: Planning and Learning ; Willingness to do the grunt work
- KC: UX/Front end
- CMV: Organizational skills
- AOA: Lots of experience working on Web applications in multiple contexts.
- AS: Interpersonal skills
- DC: Organizational and interpersonal skills
- DW: Knows multiple programming languages; collaborates well; likes Data Science
- DM: Interpersonal workhorse
- DK: Math and an Analytical Mindset
- AD: Leadership; willing to Speak out; Web site design
- RJ: Detail orientation, good for tracking down and squashing bugs. Likes coding.
- AM: Hodgepode of technologies. Knows systems/servcie integration.
- AS: Has been through this before. Has learned from failure.
- B?: Strategizing and interpersonal.
Projects, Revisited
Once you have finished hearing about the projects, spend five minutes
thinking about the projects and provide me with a ranked list.
- Board Bank (DC, MH, NS, AS, SS)
- Grant Application Management Program (BL, AS, EM, DK, RJ)
- Resource Portal (RG, DM, AD, TD, DW, BC)
- Text Notification System for Head Start (AM, CMV, KC, LG, EE, RHJB)
Strengths Finder
- Fortunately, somone else runs this section of today's class.
More Important Issues
You may think this course is about building software, but ...
- Working with people who aren't computer scientists
- Working in a team
- Testing, testing, testing
More Syllabus Stuff
- Expected workload.
- 3 hours per week in class.
- 3 hours per week outside of class.
- Time for coding, reflect, meet with community partners.
- Grading
- Rubrics for presentations (weekly).
- Final portfolio.
- Schedule (and its structure).
- This week: Setup
- Next week: First meeting with community partners
- Following week: Alumni mentors (minus one). Plan to be in class
from noon until 5:30 p.m.
- Two week sprints
- Week one: Define tasks formally (using RSpec or Cucumber)
- Week two (and parts of week one): Accomplish tasks, Demos in class
- Wrapup and presentations
- Turn in portfolio during finals week.
Team Building
- Introduce yourself quickly to your team members.
- Read each other's R&ecaute;umeé's. Discuss what they tell
you about the other members of your team.
R&ecaute;umeé reviews
Reread the r&ecaute;umeés of the folks in your group, keeping
the following questions in mind.
- What story does the r&ecaute;umeé tell? (If you had to summarize
the person in two sentences based on this r&ecaute;umeé, what
would you say?)
- What is something in this r&ecaute;umeé that you might adapt for
your own r&ecaute;umeé?
- What makes this r&ecaute;umeé stand out from the others you read?
- What are two things you would improve in this r&ecaute;umeé?
I will wander through groups. I will also provide my own critiques in
next week's class.
Wrapup