STEG - Open-Ended Activity (Lesson)

APCompSci_LessonTopBanner.png

Open-Ended Activity

Introduction

The goal of this activity is for you to demonstrate your knowledge of 2D array access, traversal, and manipulation in a way that’s interesting and engaging to you. The use of pictures, pixels, and colors are intentionally not included in the list of requirements; however, it’s possible that you will continue to work with the given classes from this lab.

Program Project

The open-ended activity requires you to develop a program on a topic that interests you.

Requirements

  • Create a program with a main method.
  • Create at least one new method that is called from main (can be part of another class, such as Steganography) that takes at least one parameter.
  • Traverse elements in a 2D array or do parallel traversal of multiple data structures.
  • Modify some elements in a data structure based on the identified purpose.

In addition, review the provided scoring guidelines so that you understand what you’ll be expected to show once you’re done completing your program.

Once your program has been implemented and tested, answer the following questions.

1. Describe the development process used in the completion of the project.
2. Provide the method header for one method that you implemented that takes at least one parameter. Explain why you chose the given parameter(s), including type, and why you made the method static or non-static. How would your code have been affected if you had made a different decision?
3. Provide a code segment where the elements in a data structure are traversed. Other than specific syntax, explain how using a different data structure would change the complexity of your code. Provide an equivalent code segment that uses a different data structure.

Lab content from the College Board

Lab Debrief

1. Steganography and encryption in general are tools that computer scientists use to help keep information secure.

a. What are some other applications of steganography that you encounter in your everyday life? If it’s difficult to think about steganography, you can discuss the broader topic of encryption.
b. What are some specific challenges that you imagine computer scientists face when trying to utilize steganography/encryption?

2. Data structures are used to help programmers manage large amounts of data in programs.

a. Discuss two data structures that were used in this lab. What data did each of them store/manage?
b. Describe how the different data structures were traversed. Would using a different data structure change the traversal used?

Click below to view the Scoring Guidelines.

 

APCompSci_LessonBottomBanner.pngIMAGES CREATED BY GAVS