CS410, Fall 2023

CS410 Outline

Fall 2023

Upcoming Events
1 Online Orientation and Course Introductions 08/26/2022 - 09/01/2022

Overview

In this pseudo-module, we will discuss course organization, policies, and mechanics. We will review the CS 410 course structure, discuss the CS 410 course themes, and get set up for the semester to come. Presentations comprise the majority of the graded elements for CS 410. Students will determine the appropriate tools, and the appropriate location for presenting.

Objectives

At the end of this module, students will be able to:

  1. Identify requirements, protocols, policies, and expectations for CS 410.
  2. Research the work completed by previous CS 410 students.
  3. Analyze previous projects as a solution to a societal problem.
  4. Discern potential team members.
  5. Utilize WebEx (or Zoom) on a personal computer to attend synchronous aspects of the course.

Relevance

The business and research communities provide capabilities for online communication and collaboration using asynchronous and synchronous tools. Students will be exposed to such tools, and will be required to be an effective member of a non-geographically centric team by contributing to the development of a solution to a societal problem.

Summary

Orientations are critical for the start of a new project. This provides stakeholders with the knowledge necessary to be successful, work efficiently, and communicate effectively.

Activities

Getting Started

  1. lecture Read lecture notes: Syllabus
  2. lecture Read lecture notes: Scope and Sequence
  3. lecture Read lecture notes: Discussion Board Guidance
  4. lecture Read lecture notes: Introduction to CS 410

The Fun Part of Module 1

  1. lecture Read lecture notes: History of the Computer Productivity Initiative (CS 410 & CS 411W)
  2. lecture Read lecture notes: Week 2 Presentations
  3. lecture Read lecture notes: Enhancements
  4. lecture Read lecture notes: Methods

Discussion Exercises

  1. asst Do assignment: Personal Introduction Post Due: 08/31/2022
  2. asst Do assignment: Professionalism Post Due: 09/02/2022
  3. asst Do assignment: Societal Problem Identification Due: 09/04/2022
2 Project Selection and Presentation Skills 09/02/2022 - 09/08/2022

Overview

One purpose of this Module is to prepare students for the delivery of their first individual and group presentations.

By the end of this Module, students will be placed into teams, each assigned a societal problem to solve. The problems will be contributed by ODU faculty, industry partners, and 410 students. Presentation expectations and guidance will be discussed.

Objectives

By the end of this module students will be able to:

  1. Prepare industry quality presentation materials.
  2. Deliver industry quality individual and group presentations.
  3. Justify technical decisions.
  4. Collaborate effectively as part of a team.

Relevance

Professional presentation skills are critical in industry. Employees are often required to speak in front of their peers, bosses, and customers. Those who are comfortable, knowledgeable, and polished will be more valuable. Presentation materials become historical artifacts of formal presentations – but, without the speaker. The preparation of slide decks that can continue to tell the story after the presentation is delivered is a critical skill set.

Summary

Start to embrace the process of R & D… Rip off and doctor/distribute. Use the successes of previous scientists as a foundation to continue to solve the world’s problems. Embrace the benefits of open source. For 410 students your source of inspiration is the archive of previous semesters. In the professional world – your inspiration will be best practices.

Activities
  1. lecture Read lecture notes: Preparing Presentations & Presentation Skills
  2. asst Do assignment: Evaluate a Previous CS410 Project Due: 09/06/2022
  3. asst Do assignment: Individual Societal Problem Presentation Due: 09/09/2022
  4. asst Do assignment: Peer Presentation Evaluation Due: 09/11/2022
  5. asst Do assignment: Group Collaboration 09/13/2022

Supplemental Resources

  1. lecture Read lecture notes: Presentations Should Tell a Story
3 Feasibility 09/09/2022 - 09/22/2022

Overview

This module focuses on analyzing the societal problem to define and describe the problem, identify who is suffering, identify the customer, identify the problem characteristics, and the associated solution characteristics. The project teams will each prepare and present a presentation for their mentor and an industry review board (synchronous). The review board will grade teams based on the expectations in today’s workforce.

Objectives

By the end of this module students will be able to:

  1. Prepare industry quality presentation materials.
  2. Deliver industry quality individual and group presentations.
  3. Justify technical decisions.
  4. Collaborate effectively as part of a team.
  5. Justify technical decisions.
  6. Research and identify competition.
  7. Prepare a feasibility analysis.

Relevance

A computer science degree tells employers that you are ready to learn. Math and science foundations combined with general education courses have prepared you with the ability to reason in any problem domain. With a little (or a lot) of research, you will be able to understand what the problem is, why it exists, and who is suffering. The aspect that is most important in research and development: Can it be done? Should it be done?

Summary

Computer scientists must quickly adapt to new problem domains. The ability to research effectively and create correct summaries of the research as it pertains to new domains is required. New ventures are not pursued before establishing confidence in an understanding of the current situation. Who is suffering, how much, why, when, what is the problem?? Who else is solving it currently and how well. New ventures much involve innovation - yet innovation that makes sense.

Activities
  1. lecture Read lecture notes: Understanding the Problem (Feasibility)
  2. lecture Read lecture notes: LCD to Problem Statement
  3. lecture Read lecture notes: Week Identifying the Competition & Solution Characteristics
  4. lecture Read lecture notes: Solution Plan

Feasibility Presentation Development

  1. asst Do assignment: Feasibility Deliverables

Website Updates

  1. asst Do assignment: Group Website Updates

Module Long Activity

  1. asst Do assignment: Feasibility Presentation Preparation
  2. lecture Read lecture notes: Presentations Should Tell a Story
4 Risks 09/23/2022 - 09/29/2022

Overview

When determining how to solve a societal problem with a software-based product, an important study is to identify what could cause the project to fail. You will introduced to four categories of risk analysis, yet you will only concentrate on two of the categories for your projects.

Objectives

By the end of the Module (one week in length) students will be able to:

  1. Identify technical risks related to their project.
  2. Identify customer risks related to their project.
  3. Assign a predicted impact of occurrence for each risk.
  4. Assign a predicted probability of occurrence for each risk.
  5. Prioritize associated risks.
  6. Determine an appropriate mitigation for each risk.
  7. Prepare a risk matrix.
  8. Incorporate risk analysis into the formal team presentation.

Relevance

Every project has risk. In industry, these risks could potentially lead to failure with the loss of revenue, predicted profit, and even jobs. Knowing how to analyze the domain, the current process(es), the stakeholders, the schedule, the budget, the supporting technology, employee skillsets, and the expectations of the customer is critical for success. In some cases, this analysis may lead to termination of the project altogether.

Summary

Some projects never make it past the idea and feasibility analysis steps because of risks. If something can cause the project to fail (100% probability) and the occurrence of said something is high…..management is likely to fail to endorse it. Assigning valuable resources to a risky venture is not a sound business practice. Identifying, assessing, and preparing a mitigation strategy is critical!!!!

Activities
  1. lecture Read lecture notes: Categories of Project Risks
  2. lecture Read lecture notes: Risk Analysis
  3. asst Do assignment: Feasibility Presentation Preparation

Feasibility Presentation Development

  1. asst Do assignment: Feasibility Deliverables
  2. asst Do assignment: Feasibility Deliverables

Website Updates

  1. asst Do assignment: Group Website Updates
  2. asst Do assignment: Group Website Updates
  3. asst Do assignment: Group Website Updates
5 Software Design 10/07/2022 - 11/18/2022

Overview

The goal of this module is to guide student teams through the process of designing the Real World Product that will solve the societal problem for their mentor assuming unlimited resources. The design will be based on user roles and their associated user stories. Major software deliverables will be identified and each one will be independently designed.

Objectives

By the end of this module students will be able to:

  1. Develop a work breakdown structure for the identified deliverables of their RWP design
  2. Identify User Roles
  3. Identify User Stories for each Role with a designation of a “need” or a “wish”
  4. Prepare diagrams/slides of the design elements in the WBS
  5. Prepare and deliver a Design-based formal presentation with justifications for their decisions

Relevance

Innovative elements of software development require the identification of what must be developed and how. This takes a team and primarily in agile methodology, collaboration with the customer. This module is where this is modeled in the classroom.

Summary

In determining whether or not a project should proceed, an important part of the analysis involves a study of the complexity of the solution. Ideally, customers want the sun and the moon solution. During this module, the software was designed as if we had all of the time in the world and all of the money in the world. The goal was to provide a clear overview of the “size” of the development project.

Activities
  1. lecture Read lecture notes: User Roles and Stories
  2. lecture Read lecture notes: Work Breakdown Structure (WBS)
  3. lecture Read lecture notes: Software Design
  4. asst Do assignment: TBD
  5. asst Do assignment: TBD
  6. asst Do assignment: Formal Design Presentation
  7. asst Do assignment: Lab 1 Outline
  8. asst Do assignment: Lab 1 First Draft

Website Updates

  1. Post your Stories on your team website
  2. Post your WBS on your team website
6 Prototyping 11/19/2022 - 12/08/2022

Overview

The goal of this module is to create the materials needed for prototype development in CS 411W. The break between the two semesters could be a short as one month, or as long as four months. The teams, along with their mentor and instructor, will establish what will software/hardware will be needed for the laboratory prototype. The product is not expected to be a fully implemented solution ready for production or distribution.

Objectives

By the end of this module student will be able to:

  1. Collaborate with the customer to determine the necessary elements of the prototype
  2. Collaborate with the customer to establish the priority of development
  3. Rework an MFCD of a real world product to represent the laboratory version
  4. Collaborate to develop an outline of the first lab/paper for 411W

Relevance

The course follows the agile software development model. Selecting the most critical user stories and prioritizing them all sets the foundation for the first scrum and future scrum cycles. The ability to understand and effectively provide associated documentation is critical for a professional.

Summary

The process of taking a broad unstructured problem from idea to production is one that requires a team of people who can collaboratively apply software design and development strategies. This semester, each team has demonstrated domain expertise, customer need, feasibility of approach, appreciation of the competition, and the elements necessary for good design. They are now ready for the next step – a laboratory prototype. This is an entrepreneurial experience that will allow each student to appreciate all of the steps in software development as they enter into the workforce.

Activities
  1. asst Do assignment: Assignments to Finish the Semester
  2. asst Do assignment: Prototype Design
  3. asst Do assignment: Prototype Presentation
  4. asst Do assignment: Lab 1 Final Draft
  5. asst Do assignment: Final Group Eval
  6. asst Do assignment: Final Website Updates
7 Final Exam Week 12/04/2022 - 12/11/2022
Activities
  1. Final Updates as necessary
8 Supplemental Discussion, Topics, & Reading
8.1 Agile Methodology & Planning
8.2 Lab 1 - Descriptive Paper
9 Presentations & Peer Evaluations
Activities

Individual Idea Presentation

  1. asst Do assignment: Individual Societal Problem Presentation

Feasibility Presentation

  1. asst Do assignment: Feasibility Presentation Preparation

Design Presentation

  1. asst Do assignment: Formal Design Presentation

Prototype Design Presentation

All times in this schedule are given in Eastern Time.