Assignment 4 – Calc Report Template
CSE 13S – Winter 24
Purpose
Audience for this section: Pretend that you are working in industry, and write this paragraph for your boss. You are answering the basic question, “What does this thing do?”. This section can be short. A single paragraph is okay.
Do not just copy the assignment PDF to complete this section, use your own words.
Questions
Please answer the following questions before you start coding. They will help guide you through the assign- ment. To make the grader’s life easier, please do not remove the questions, and simply put your answers below the text of each question.
• Are there any cases where our sin or cosine formulae can’t be used? How can we avoid this?
• What ways (other than changing epsilon) can we use to make our results more accurate?
• What does it mean to normalize input? What would happen if you didn’t?
• How would you handle the expression 321+? What should the output be? How can we make this a more understandable RPN expression?
• Does RPN need parenthesis? Why or why not?
Testing
List what you will do to test your code. Make sure this is comprehensive. Be sure to test inputs with delays and a wide range of files/characters.
How to Use the Program
Audience: Write this section for the user of your program. You are answering the basic question, “How do I use this thing?”. Don’t copy the assignment exactly; explain this in your own words. This section will be longer for a more complicated program and shorter for a less complicated program. You should show how to compile and run your program. You should also describe any optional flags or inputs that your program uses, and what they do.
To show “code font” text within a paragraph, you can use \lstinline{}, which will look like this: text. For a code block, use \begin{lstlisting} and \end{lstlisting}, which will look like this:
Here is some code in lstlisting .
And if you want a box around the code text, then use \begin{lstlisting}[frame=single] and \end{ lstlisting}
which will look like this:
Here is some framed code (lstlisting) text .
|
Want to make a footnote? Here’s how.
Do you need to cite a reference? You do that by putting the reference in the file bibtex.bib, and then you cite your reference like this [1][2][3].
Program Design
Audience: Write this section for someone who will maintain your program. In industry you maintain your own programs, and so your audience could be future you! List the main data structures and the main algorithms. You are answering the basic question, “How is this thing organized so that I can have a chance of fixing it?”. This section will be longer for a more complicated program and shorter for a less complicated program.
Pseudocode
Give the reader a top down description of your code! How will you break it down? What features will your code have? How will you implement each function.
Function Descriptions
For each function in your program, you will need to explain your thought process. This means doing the following
• The inputs of every function (even if it’s not a parameter)
• The outputs of every function (even if it’s not the return value)
• The purpose of each function, a brief description about a sentence long.
• For more complicated functions, include pseudocode that describes how the function works
• For more complicated functions, also include a description of your decision making process; why you chose to use any data structures or control flows that you did.
Do not simply use your code to describe this. This section should be readable to a person with little to no code knowledge. DO NOT JUST PUT THE FUNCTION SIGNATURES HERE. MORE EXPLANATION IS REQUIRED.
Results
Follow the instructions on the pdf to do this. In overleaf, you can drag an image straight into your source code to upload it. You can also look at https://www.overleaf.com/learn/latex/Inserting_Images