Question: CS 124 Spring 2023 Lab report Part 1 (Purpose, Plan) due Friday February 10, 11:59pm (10 points) Live demo on Thursday February 16,9 am (

 CS 124 Spring 2023 Lab report Part 1 (Purpose, Plan) due
Friday February 10, 11:59pm (10 points) Live demo on Thursday February 16,9
am ( 10 points) Lab report Part 2 (remaining report sections) and
source files due Friday February 17, 11:59pm (30 points) Purpose Academically, this
lab provides an opportunity to: - demonstrate ability to write a C++
program utilizing basic C++ concepts (specific concepts should be listed as part
of your report) - demonstrate understanding of concepts covered/reviewed so far in
the course - refresh foundational CS 102, CS116 concepts Lab Requirements This
lab assignment requires submission of source file(s) and a lab report. For
full credit for this lab, these following files must be submitted via
Canvas by the assigned due dates: - Part 1 of the lab

CS 124 Spring 2023 Lab report Part 1 (Purpose, Plan) due Friday February 10, 11:59pm (10 points) Live demo on Thursday February 16,9 am ( 10 points) Lab report Part 2 (remaining report sections) and source files due Friday February 17, 11:59pm (30 points) Purpose Academically, this lab provides an opportunity to: - demonstrate ability to write a C++ program utilizing basic C++ concepts (specific concepts should be listed as part of your report) - demonstrate understanding of concepts covered/reviewed so far in the course - refresh foundational CS 102, CS116 concepts Lab Requirements This lab assignment requires submission of source file(s) and a lab report. For full credit for this lab, these following files must be submitted via Canvas by the assigned due dates: - Part 1 of the lab report (pdf). This includes the Purpose and Plan sections. - Part 2 of the lab report (pdf). This includes the remaining sections. - Your source and data file(s) (cpp, txt). Use a part of your name for your files. Description This lab allows us to verify several questions about sorting algorithms - Which sorting algorithm(s) perform the most consistently? - Which sorting algorithm(s) perform the most efficiently? Under what circumstances? Description This lab allows us to verify several questions about sorting algorithms - Which sorting algorithm(s) perform the most consistently? - Which sorting algorithm(s) perform the most efficiently? Under what circumstances? - How does the size of the dataset affect the efficiency of the sorting algorithms? Write a program that will - Greet the user, describe your program, and invite the user to try it (user can say no) - Implement Selection, Insertion, optimized Bubble, Merge and Quick sorting algorithms. - For all search algorithms, use the text or the class-developed version as starter code. adapted for your data. Be sure to provide proper credit to the developers (such as the text or your colleagues) as needed. DO NOT use ontine versions. Using ontine versions may result in 0 points for this assignment. - Read in 2 data text files of different lengths. Choose from your favorite literature, speeches, or other works. One file is at least 5000 words and the other needs to be at least 5 times larger. Combining multiple files into one longer file is fine, but they should not repeat. The program will parse the fies into words and prepare data for sorting by eliminating all occurrences of "a", "an", "be", "the". Give your text files meaningful names. - Allow the user to choose between 2 options: All algorithms Compare one n2 algorithm and one n log(n). If the user chooses this option. randomly choose one n2 algorithm and one nlog(n) algorithm to compare. - Sort the data in following scenarios and provide timing comparisons using the high resolution clock class. Sort unsorted data from shorter file with the selected algorithms, 5 times each. Record each time and caiculate the average. 0. Sort unsorted data from longer file with the selected algorithms, 5 times each. Record each time and calculate the average. o Sort sorted data from shorter file with the selected algorithms, 5 times each. Record each time and calculate the average. Sort sorted data from longer file with the selected algorithms, 5 times each. Record each time and calculate the average. - Output the time results in an organized table format. Design a table that is user friendiy and allow a convenience comparison of sorting times. Include a short dynamic sentence for the user that describes the results and whether they are expected. This descriptive sentence should be based on the results. - Print the first 50 words of your sorted list and the last 50 words of your sorted list. - Allow user to repeat or quit. Raw, real-world data may require cleaning and pre-processing. Be sure your program will be managing this effectively with minimal manual changes. Find a text file (.txt) from your favorite works of literature or from speeches or writings that you find inspirational. Provide the source(s) you used for these. Use MLA or APA format consistently for citations in the report. You may combine multiple files for required length if needed. report. You may combine multiple files for required length if needed. After testing and executing your program, in the Product (video) section of your report, discuss similarities and differences between the sorting algorithms. Take screenshots of your program during development and testing. These are useful for your report. Final testing should be shown in the VM or similar Linux environment. The Product video should include this environment and show the compile and execution commands. Submit all source and data file as zip. The Report pdf MUST be submitted separately not as part of the zip file. Programming practices expected for this course: - Executes in the VM or Linux environment, with C++11 compiler with no extensions - Good comments to identify the programmer, date, and the project. If there is a header file or readme doc, this goes into that file. If not, then it goes on the top of the main program file. - Good comments for any significant blocks/lines of the program, which explain the purpose of the code and not just what the code does - Specific, concise functions of no more than 60 lines inside each function (including comments) - Do not use global "using namespace std" though using something more specific may be okay - Professional and user-friendly interactions and output - Local variables - global variables should be used only for constant values (if any) - Separate compilation Assignment file submission requirements Submit all required program, report, and data files via Canvas Lab Report requirements The lab report should have these required sections: - Purpose - Plan - Development process - Product - Pitfalls - Possible improvements - Pitfalls - Possible improvements The lab report should be submitted as a.pdf in Canvas. You may create the report in a document creation software of your choice. Please ensure that your lab report is cleanly formatted and free of distracting grammatical or other errors. These errors will cost you points on clarity. For more specifics, check Canvas for the grading rubric. Focus on describing and explaining your thoughts and reasoning throughout this assignment work. This will help you to better identify and explain why you chose the specific approach that you did for each development step of your program. Descriptions and discussion in the report are expected to be in paragraph(s) form and may include lists, diagrams, charts, screenshots, and other visual elements. A paragraph includes complete sentences, not a collection of phrases that reads like a series of text messages. Always use your own original words except when including a referenced quote. Part 1: Purpose Provide a few sentences describing the purpose of this assignment. Include your perspectives with original insights and thoughts on: - What you are learning/practicing - What your program does Use your own words. (IDion't need to or want to read my own words again.) fubric criteria: Provides evidence of a clear understanding of the purpose for this assignment (whot you are learning) and this project (whot your program does), including original observations and rationale. Part 1i Plan and organize Describe the process you expect to follow for successlul completion. This should be mainly in paragraph form, with lists of steps and yisuals as needed, Use your own words. Though this does not need to include every detail, it should provide enough information so that your plan Part 1: Plan and organize Describe the process you expect to follow for successful completion. This should be mainly in paragraph form, with lists of steps and visuals as needed. Use your own words. Though this does not need to include every detail, it should provide enough information so that your plan can be practically followed by another programmer of the same experience. (I will be reading: it in this view.) Include a timeline to show your planned activities, what has been accomplished, and the expected timepoints for other activities to lead to the successful completion of your: assignment. Ac least one flowchart to show program flow is required. The flowchart must have a start and an end. All decision points sbould be represented as a diamond. The plan can change through the development. Discuss any changes in that section. Rubric criteria: Describes the process you will foliow for successful completian of this project far successful completion. Provides clear descriptions of the decisions mode in structuring and orgonizing the project. Initial (possibly not finol) answers to many of the following questions are provided: * What input is the program expected to use? Why? Whot variables win you need? Why? * What constants, if any, will you need? Why? * What functions wil you use? How did you decide what operations go into each function? + What will you measure for aperational efficiency for mergesart? + How will you decide that your program is compiete? An effective timeline and a clear flowchort are included. Part 2: Development process Describe the process you actually followed in order to develop the code for this project. The Part 2: Development process Describe the process you actually followed in order to develog the code for this proiect. The following questions may be used to start your discussions. Overall, your entire development process should be described in sufficient detail that your process can be followed by another programmer of the same experience. - How did you use the plan(s) you developed? - Which parts did you choose to develop first? Why? What comes next? Why? etc. - How did you test your program to make sure it works correctly? This can be mainly in paragraph(s) form, with lists of steps, screenshats, and other visuais as needed. Aubric criteria: Provide clear descriptions of the steps and decisions to complete this assignment. Snippets of all relevant program lines included in the discussion. Enough detalls and visuals are provided to allow a similarly experienced programmer to develop this program according to the same process. All viswals are titied, discussed, and integrated as a part of the discussion. Part 2: Product (Video) Submit a 2 to 3-minute (max) video showing your program execution. Plan this out carefully so that you are showing (off) your work as best as possible in the time allotted. In the video and narration, show and describe the capabilities and limitations of the program with good test cases that cover expected and edge cases. For sorting processes, include only the start and the end. Do not include the entirety of the sorting duration in your video. Discuss similarities and differences between the actual times and if they are as expected. Rubric criteria: Program executions are shown and described to show program operotional requirements are met. Expected and edge cases are discussed knowiedgeobly. At feast 2 test coses included to show different copobilities and limitotions. More test cases may be needed depending on program requirements. Pitialls Describe any difficulties and issues you encountered during this assignment. Provide ycreenshots and other yisuals as needed to describe these clearly. Deseribe how you reselved these issues and what you learned through them. If somehow, you didn't have any difficulties, issues, programming errors, or bugs, include an explanation of why this could be the case. This is vefy rare and I will mest likely need to meet: with you for more clarifications. Rubric criteria: Provide ciear descriptions of any issues, errors, chalienges encountered in this assignment. Describe how these were resolved and what you learned from them. Possible improvements Possible improvements Include specific and constructive discussions on the following: - What could you have done differently to improve your completion of this assignment? - What specific action will you take to improve completion of your future assignments? - What could be improved about this assignment overall for you and/or for future students to show the mastery of the materials? Rubric criteria: Clear and specific discussions on the following: -What could you have done differently to improve your specific completion of this assignment? What could have been done differently for better completion of future assignments? + What could be improved about this assignment overall, for you (or other students) to better demonstrate a successful and mindful mastery of the programming concepts covered so far

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!