I need help with the following.
MGMT 330 — Business Programming Fundamentals Project #1 Due Date: Friday, Nov. 6 at 11:59 p.m. MST. Fall 2020 Contents 1 Overview 2 1.1 Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Due Date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 What You Need . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 Collaboration and Academic Dishonesty 3 3 Project # 1 3 3.1 Project Folder Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3.2 Problem Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.3 More Array Fun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.4 CSV Files and Associative Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.5 Have You Been Commenting Your Code? . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.6 Generate Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.7 Extra Labor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 4 What to Submit 16 5 Assignment Rubric 17 1 //CONFIDENTIAL//SUBJECT TO CHANGE//v1.0.0 1 Overview This is the first of two projects you will attempt for the class. Projects are longer and more complex than assignments, so make sure to set aside enough time each week to begin working on the project. In this project you will continue to learn about: • strings • arrays (2D) • loops • if-else statements, expressions and boolean operators • switch statements, expressions and boolean operators Other goals include continuing to gain familiarity of the file system, working from the command line, navigating the file system, using your IDE (editor), writing pseudocode, writing working programs in JavaScript, debugging code, testing your code and submitting an assignment that meets the instructor’s specifications exactly. 1.1 Objectives • Create a program that defines and calls functions with and without parameters. For func- tions that accept parameters, write code that checks input values to verify that they are valid values (LO4, LO5, LO6). • Create functions with default values for parameters and call the functions with a range of arguments (LO4, LO5, LO6). • Design programs that call functions, passing in arguments, to perform tasks (LO4, LO5, LO6). • Design and call functions that return values after completing a specific task (LO4, LO5, LO6). • Create a module that contains functions available for your main program to use (LO4, LO5, LO6). 1.2 Due Date This assignment is due before Friday Nov. 6, at 11:59 p.m. MST. 1.3 What You Need • Read and review the weekly content. Complete the hands-on exercises. • Internet access. • Download the ZIP file that accompanies this assignment. • Node.js • Visual Studio Code 2/17 //CONFIDENTIAL//SUBJECT TO CHANGE//v1.0.0 2 Collaboration and Academic Dishonesty See the Syllabus for the Academic Dishonesty policy and rules on collaboration. 3 Project # 1 3.1 Project Folder Setup This section contains a detailed description of the programming assignment you are to complete. Think of the items below as a checklist or specification. You must follow the specification exactly. If an item calls for a variable to be named cipherText, you must create a variable with that exact name. 1. Ensure that c:\temp contains a directory structure like the one seen below. For this portion of the assignment, you will be editing and working in the modules/arrays.js and index.js files. The modules/test-data.js and test/ directory and its contents will be provided by the instructor. The out/ directory will be created when you generate the documentation for the project. Those steps to generate the documentation will be provided at the end of the assignment using the jsdoc command. The contents of the README.txt file that you create is described above in the section on collaboration. You must also include the names of the project team members. firstname1-lastname1-project01/ |-- out/ |-- modules/ |-- arrays.js |-- test-data.js |-- test/ | |-- test.js |-- index.js |-- README.txt 2. From a Command Prompt, navigate to c:\temp\firstname-lastname-project01 and then launch Visual Studio Code. You can use the following commands to do this (note that you will replace ‘firstname-lastname” with your last name and first name. cd c:\temp\firstname-lastname-project01 code . 3. In Visual Studio Code, open a terminal, Ctrl+‘ (backtick), and then run the following com- mands at the command prompt. Ensure that you are in the c:\temp\firstname-lastname- project01 directory. The npm commands listed below will do the following: 3/17 //CONFIDENTIAL//SUBJECT TO CHANGE//v1.0.0 • The global npm commands are for one time, global setup or, if you have not issued them before, will update the existing packages. We are using the npm package man- ager to install the mocha and chai packages that will help us test our programs. • The –save-dev commands set the mocha and chai packages as development environ- ment dependencies. • The init command creates a package.json file that will allow us to streamline testing and list the packages our project uses. For now, just know that you will run this set of commands each week you start a new project. npm i --global jsdoc npm i --global mocha npm i --global chai npm i --save-dev mocha npm i --save-dev chai npm i --save-dev jsdoc npm init 4. Unzip the ZIP file that you downloaded with this assignment. Copy the files and folders in the ZIP file to to your firstname-lastname-project01 folder. We are simply copying the instructor’s files to your directory — it has some code in there that will help you test your program this week. 5. You will be writing code in 2 places: (a) modules/arrays.js: You will write your functions for the project in this file. (b) index.js: This is the file you will call your functions in. This is where you test your functions out. 6. Open modules/arrays.js in Visual Studio Code. This is where you will be writing functions for your project. The first order of business is to add a comment header to our file and then save your changes. Per the Course Style Guide, our comment header will be formatted in the following manner: /** * @file Your description about what this file does here... * */ 7. The index.js file is where we will test our functions. 8. At this point we have a program that does nothing — the file contains only comments. However, this is also a good opportunity to test out our code, our environment, and the process by which we will write code and then test it in the Node.js console. In VS Code, press Ctrl + ‘ (that’s the backtick character as described earlier in the assign- ment) to open a terminal. In the terminal we want to test our program. The way to do that is with the following command: 4/17 //CONFIDENTIAL//SUBJECT TO CHANGE//v1.0.0 node index.js At this point, you should not see any output as we have not yet written any code. 9. For this next portion of the assignment, you will want to make sure that you have watched the videos and completed the hands on exercises. All code MUST go inside the index.js file. 3.2 Problem Overview For