Unit 2: Day 7

START DATE:DUE DATE:STATUS:Open

Tasks

22.1 Ethical Issues Rotation Continued (30 to 40 minutes)

  • After their two assigned issues, groups are given time to complete 2 or 3 issues of their choice
  • Conclude the Ethics section of the course by asking students to share some of their ideas.

22.2 Ethics Review Using AP Classroom

  • If you have access to AP Classroom, take a few moments to go over the Topic Questions for 5.1 through 5.6.  There were many sample multiple choice questions available at the time this document was produced.  You may want to build a series of short quizzes out of these questions.

22.3 Introduce the Software/Systems Development Lifecycle

  • The SDLC is a model to plan the development of software or a system from start to finish
  • For this first lesson, just discuss the phases in generalities, specific notes will be a part of the next lesson.
  • A development process can be ordered and intentional, or exploratory in nature. 
  • There are multiple development processes. The following phases are commonly used when developing a program:
    • investigating and reflecting 
    • designing 
    • prototyping 
    • testing
  • A development process that is iterative requires refinement and revision based on feedback, testing, or reflection throughout the process. This may require revisiting earlier phases of the process.
  • A development process that is incremental is one that breaks the problem into smaller pieces and makes sure each piece works before adding it to the whole.

5 Steps in Our Version of the SDLC

Analysis - Determining the system’s requirements/specifications  including these AP CSP Essential Knowledge Statements:

  • Program requirements describe how a program functions and may include a description of user interactions that a program must provide.
  • Investigation in a development process is useful for understanding and identifying the program constraints, as well as the concerns and interests of the people who will use the program.
  • A program’s specification defines the requirements for the program. 
  • The design of a program incorporates investigation to determine its requirements.
  • The purpose of computing innovations is to solve problems or to pursue interests through creative expression. 
  • An understanding of the purpose of a computing innovation provides developers with an improved ability to develop that computing innovation.
  • Consultation and communication with users are important aspects of the development of computing innovations.
  • Information gathered from potential users can be used to understand the purpose of a program from diverse perspectives and to develop a program that fully incorporates these perspectives.

Design - Planning the software and hardware

  • In a development process, the design phase outlines how to accomplish a given program specification. 
  • The design phase of a program may include: 
    • brainstorming
    • planning and storyboarding
    • organizing the program into modules and functional components
    • creation of diagrams that represent the layouts of the user interface
    • development of a testing strategy for the program

Implementation - Developing the software and hardware (usually done in a collaborative environment)

  • Common models such as pair programming exist to facilitate collaboration.
  • Effective collaborative teams practice interpersonal skills, including but not limited to: communication, consensus building, conflict resolution. Negotiation
  • Effective collaboration produces a computing innovation that reflects the diversity of talents and perspectives of those who designed it.
  • Collaboration that includes diverse perspectives helps avoid bias in the development of computing innovations.
  • Online tools support collaboration by allowing programmers to share and provide feedback on ideas and documents.

Testing

  • Deployment and Maintenance


Continue to Unit 2: Day 8 »