Skip to content

Latest commit

 

History

History
47 lines (36 loc) · 2.24 KB

A02-string.md

File metadata and controls

47 lines (36 loc) · 2.24 KB

Assignment 02: String Class

Due June 4

To complete our section on C++, functions, iterative / recursive problem solving, and algorithm analysis, we will be building and analyzing a fully-functional string class.

Instructions

  1. Register for the assignment on our Github Classroom using this link
  2. Clone the repository to your machine
    1. Open a terminal
    2. Navigate to your algorithms folder
    3. Go to the parent directory (cd ..)
    4. Clone your repository to this location (git clone <Link to your repository>)
      1. Be sure to use the link for your copy of the repository
    5. Navigate into that new folder (cd strings-<Your Username Here>)
  3. Getting things in order
    1. Open your new folder in VS Code
    2. Begin by creating all of your dummy definitions for the method.
    3. Check your work by compiling and running your code (g++ -std=c++11 source/string.cpp && ./a.out)
    4. Commit and push these changes (git add . && git commit -m "<message>" && git push)
    5. Check the online copy of your repository to make sure these changes were actually pushed.
  4. Implement all of the methods
    1. Open your new folder in VS Code
    2. For each method
      1. Work on the method in the string.cpp file until you pass the unit tests
      2. Commit and push your work (git add . && git push)
      3. Check the online copy of your repository to make sure these changes were actually pushed.
  5. Analyze your work
    1. Provide Big-Oh, Omega, and Theta notations for all of your functions

Important notes

  • At least 5 of your methods must be implemented using recursion, or you will lose credit for those 5.
  • You are allowed to use any and all class materials
  • You may discuss your algorithms with other students
  • You may not view another students' code

Submission

Submission for this assignment will be handled by Github Classrooms, every time you push changes you are automatically submitting them to me.

Grading

This assignment is worth 100 points, with 50 points for functionality, 40 for analysis, and 10 for readability.

If your analysis is correct given your algorithm, but your implementation fails the unit tests, you will still receive full credit for your analysis.