General Information Course Title : Real Projects for Real Clients Number of credits: One semester -1 credit. Prerequisites: None. Overview The Bureau of Labor Statistics (BLS) predicts at least 500,000 new high-paying jobs in IT/software development over the next 3-4 years, even in the face of the current economic crisis. (The number of new job openings will increase even faster once the multiple-million members of the baby boomer generation start retiring in 2-3 years.) At the same time, the interest in IT/software development jobs, especially among young women and members of minority groups has dropped precipitously. A 35-year-long developmental psychology study that followed hundreds of bright youngsters from middle school to middle age demonstrates that young women tend to choose organic careers, i.e., careers having to do with people or other living things; since young women are better than young men at interpersonal interaction, young women also tend towards careers that involve such interaction. Young men, on the other hand, tend to choose inorganic careers, i.e., careers involving machines, abstractions, etc. Although there is less formal evidence, it is fairly clear that members of minority groups, both male and female, tend towards careers in which they can benefit their communities. If IT/software development were really inorganic, as it is commonly portrayed to be, and as it appears to be when it is introduced in schools in the form of programming courses, then there would be no point in attempting to attract young women and minorities. But, about 70% of the typical IT/software development project – in terms of person hours and dollars spent – has little or nothing to do with programming, and is, in fact, highly organic, involving a great deal of interpersonal interaction with the project’s client; that is, it is the type of work towards which young women tend. If the project’s client is a socially relevant agency, e.g., a poverty agency, an adoption agency, or a child-care agency, then not only is the project even more organic (young women), but also enables its participants to benefit their local communities (minorities). A “real projects for real clients course” (RPRCC) is a course in which students work in teams to develop real software for a real client, i.e., an organization that needs that software to solve a problem or to provide a service. A preimplementation RPRCC is an RPRCC in which students work in teams, with heavy interpersonal interaction with a representative of the client organization, to perform that part of the design of the software that precedes the programming required to implement it and that the programmers need in order to know exact what to program. The design produced in a high school level pre-implementation RPRCC is passed on, for implementation, either to teams of students in a high school programming course or to teams of computer science students in a nearby college or university.
Learning Outcomes By the end of this course students should be able to: • Interact with a client for, whom a technical project is to be executed, to iteratively reach a clear understanding of exactly what will satisfy the client. (Note that in such projects there is no single answer to “exactly what will satisfy the client?” so students will learn how to solve problems that don’t have a single fixed solution – problems that occur regularly in the workforce and in life in general. • Work in a team to document the project sufficiently so that technically trained students can pursue its implementation. (project-based learning) An additional hoped for learning outcome on the part of girls and minorities is that software development is more organic than inorganic, and, as a consequence, that they will become more interested in taking more traditional programming courses and that some will eventually get college degrees in computing majors and thereby strengthen the workforce. Course Content The topics that will be taught in the course include: • Requirements acquisition via identification of critical stakeholders and interaction with them • Operational concept description • Return on investment (ROI) analysis, in terms of: o time saved by client organization’s employees o additional service provided to community by client organization • GUI (Graphic User Interface) design • Human-Computer Interaction • User manual construction • Database design • Teamwork o Assignment of roles based upon abilities, talents, and interests o Project scheduling and work assignment o Risk management o Overall project management Software designed in RPRCCs will be implemented (programmed), tested, and deployed either in later high school courses or by teams of students in local colleges and universities. Instructional Method Instructional approaches include lectures, readings, visits to the client’s (local) location, teleconferences and emails with the client, and regularly scheduled team meetings and presentations of work accomplished. (Class meetings will be divided between instruction by teacher and team meetings.) Course Materials
• • • •
Written materials in process of being written and that will be available before the start of the course. Various papers from the software development literature Computer access Web access
Assignments and Evaluation Assignments include: • Construction of the following artifacts to be used by the software’s implementers: o Product artifacts: Requirements description Operational concept description Return on investment (ROI) analysis GUI (Graphic User Interface) User manual Database design • Composition of the following reports to drive and correct the execution of the project, i.e.: o Project artifacts Weekly progress reports, both individual and team Weekly risk identification and risk management reports, one per team Periodic self- and peer-review surveys to assess individual contributions to specific product and project artifacts and to the smooth functioning of the team Student learning will be evaluated based upon: • Quality (clarity, completeness, and consistency) of product artifacts produced • Quality and accuracy of submitted team project artifacts • Quality and accuracy of submitted individual artifacts • Individual’s self-assessed and peer-assessed contributions to team product and project artifacts