Skip to content

Extending Data Structures

mrseidel edited this page Aug 29, 2024 · 1 revision

This project is no longer used. It is here as an archived version for reference for previous students.

Task(s)

This is a multi-step assignment, take your time to ensure you are completing each step properly.

Task 1 (Research)

Using any mainstream language of your choice, it is your task to:

Task 2 (Diagramming and Coding)

Create a copy of your Data Structures assignment, and then update it with the following:

  • An updated UML class diagram to visualize your classes.
  • Inheritance (two or more child/subclasses to one parent/superclass).
  • Updated file reading (input/output of inheritance data)
  • Updated formal documentation (for classes, methods, and functions only).

Important Things to Consider

Each of the above items must have a purpose for being in your program (not just to meet success criteria). You'll want to take time to consider how you might include everything. If you are getting help (not copy/paste/plagiarism) from outside sources, ensure that you cite those sources in your code in a comment in the main file (using IEEE format).

For file input/output, your use of reading and writing files should be used for more than just printing information. For reading data, it is highly suggested to have object data in a text file, read in that data, process the data in some way (i.e. using object methods could be an effective way), and then output information to the console. For writing data, it is highly suggested that whatever you output is done in a way that makes it easy for another person's program to read in the data.

Do not overcomplicate your program, ensure you cover the concepts requested and complete the supplemental text.

Task 3 (Supplemental Text)

In a word-processing document, explain/describe the following:

  • If you updated your UML diagram(s) with the same timing as last time (first again, or after again), why did you not attempt the other way? Justify your response.
  • If you updated your UML diagram(s) with different timing as last time (first instead of after, or after instead of first), what differences did you notice this time around? Justify your response.

Due Dates and Submission Details

This project is only evaluated once. The "use one-dimensional arrays" success criteria is repeated in the Algorithms assignment, and can be improved at that point.

Submit the following:

  • Updated UML diagram, and
  • Code, and
  • Supplemental text.

Please see the due dates page for more details on when this is due.

Learning Goals and Success Criteria

The Overarching Learning Goal(s) for this include Data Structures and Algorithms. The specific Learning Goal(s) for this include:

  • We are learning to work with data types and proper code maintenance techniques. πŸ“™
  • We are learning to design and apply modular programming concepts including complex data types. πŸ“™πŸ“™
  • We are learning to design, write and analyze complex algorithms and subprograms. πŸ“™πŸ“™πŸ“™
Learning Goal Success Criteria Reevaluation Opportunity
πŸ“™ I can create fully documented program code according to industry standards. None, was previously assessed.
πŸ“™ I can use one-dimensional arrays of compound data types (i.e. objects) Algorithms.
πŸ“™πŸ“™ I can modify existing modular program code to enhance the functionality of the program. None.
πŸ“™πŸ“™ I can decompose a problem into modules, classes, or abstract data types using an object-oriented design methodology (using classes, methods, etc. using UML, etc.). None, was previously assessed.
πŸ“™πŸ“™ I can apply the principle of reusability in program design (use of inheritance). None.
πŸ“™πŸ“™πŸ“™ I can read from, and write to, an external file (i.e. API, text file, etc.). None, was previously assessed.

Course information

Assignments

Pre-Course Work

πŸ“™ Data Structures and Algorithms

πŸ“˜ Project Management

πŸ“— Digital Sage

Clone this wiki locally