davis-technical-college
There are 20 repositories under davis-technical-college topic.
bell-kevin/carnival
Journey through a carnival, playing games and gathering prizes, eating carnival food, taking rides. Final Project Carnival
bell-kevin/finalProjectPHP2520
Final Project PHP, S. DEV 2520, Davis Technical College, Kaysville, Utah, USA, DATC, Davis Tech
bell-kevin/reactNativeFinalProject2730
React Native Final Project SDEV 2730 DATC Davis Tech Kaysville, Utah
bell-kevin/TextFileToHTMLfileGenerator
Text File To HTML file Generator
bell-kevin/CheckDigitsTestSuite
SDEV 1060 Project. In this project, you will create the methods for calculation, and the test methods, using runners for each test method. You can use the same data for all tests; all the tests can go in the same test file. The project uses 4 input numbers, which are doubles between the ranges of -100 and 100, not inclusive (so -100 and 100 are not part of the valid numbers). The methods that perform calculations will determine the total of the 4 numbers, the average of the 4 numbers, the largest number, and the smallest number. To help visualize the project, here is an example of what the project's output might look like. Note that you do not have to write the code that creates this output. You will write the methods that have to be tested, and the test methods. There are 4 methods to be tested -- calculating the total of 4 numbers, calculating the average of 4 numbers, finding the largest of 4 numbers, and finding the smallest of 4 numbers.
bell-kevin/courseGradebook
Create a project that simulates a grade book for a class. Use a 2D array of integers, one row for each student, one column for each test score for that student. Set up the program for any number of students and any number of tests, and ask the user for those numbers. Test the program with 3 students that each have 3 test scores. The CourseGrades application should use a GradeBook class that has instance variables for the number of students and the number of grades, and the 2D array to contain those values. The constructor will use parameters for the number of students and the number of tests to instantiate the 2D array of the proper size. Use these methods: getGrades() to prompt the user for the test grades for each student showGrades() to display the grades for the class studentAvg() to display the average of the test scores for a specific student testAvg() to display the average of the scores for all students for a specific test Each of those methods does its own work to request the user input about specific data and for printing to the screen. The driver class asks the user for the number of students and number of tests and passes that to the constructor to create the gradebook. The driver class needs to ask the user for the next action – show all grades, show the average for a specific student, show the average for a specific test, or exit the program. This needs to loop so the user can continue to interact with the program as often as they wish. Be sure to validate the input. Remember that arrays begin in position 0. Be sure to compensate so that when displaying information about the first student or test, you display “1”, not “0”. When asking the user to select a student or test, the user will input the human-friendly value of 1, 2, or 3 – be sure to compensate for the computer’s version of 0, 1, or 2. It’s very important that the user doesn’t have to know that computers start counting at 0 – keep your on-screen interactions human-friendly. Take a screenshot of your program execution that matches this sample session. Then run it again with a different set of test scores for the students, and check that you get good results for every student’s average and every test’s average. Take a screenshot of that execution.
bell-kevin/DavisTechCanvasAPIApp
This application is designed to work as a help-mate to the Instructure Canvas Web Applicaton.
bell-kevin/fleetInventory
This project simulates the inventory for a fleet of cars. The fleet is an array of Car objects. A Car has a name and an ArrayList of Miles Per Gallon (MPG) objects. An MPG object has variables for miles, gallons, and miles per gallon, which is calculated in the constructor. The driver class will instantiate 3 Car objects and store them in an array, then add anonymous MPG objects to the ArrayList of MPG objects for each Car. This will be coded directly in the driver, no user input at this point. Using a For-Each loop, the project displays the name of the car, its total MPG and a count of the number of trips for each car. Next, the program asks the user if they want to see the MPG for the individual trips for a single car. If the answer is yes, the user enters any part of the name of the car of interest. Using another For-Each loop, the program goes through the cars to see if the input string appears anywhere in the name of the car, and when it is found, displays each of the MPG objects for that car. You may use any car names you want, and any number of trips for each car. Make sure there are different numbers of trips – look at the example, where it shows 5, 3, and 4 trips. You must have 2 classes and the driver class. Be sure to use For-Each loops to list the fleet inventory, to find the specific car, and to print the individual trips. The miles and gallons must be added to the MPG array list using anonymous objects. Run the project and take a screenshot. Submission: the specified screenshots, and the root folder for the project Pay careful attention to the rubric for this assignment. Remember the standards that apply to every project. Note that you must use correct formatting in the code -- appropriate indentation is most important. You can use Shift-Alt-F to have NetBeans automatically format the code correctly. If the formatting is incorrect, it will be returned to you for changes with a grade of zero. Note: You need to submit the whole project for these assignments. In File Explorer, go to the location where you created the project. There will be a folder with the name of your project -- that is the root folder of the project. If you submit the root folder of the project, the instructor can run it on a different machine to grade it. If you don't submit the proper folder, it won't run on another machine, and the assignment will be marked with a zero.
bell-kevin/FleetInventoryProject
SDEV 2210 Project. This project simulates the inventory for a fleet of cars. The fleet is an array of Car objects. A Car has a name and an ArrayList of Miles Per Gallon (MPG) objects. An MPG object has variables for miles, gallons, and miles per gallon, which is calculated in the constructor. The driver class will instantiate 3 Car objects and store them in an array, then add anonymous MPG objects to the ArrayList of MPG objects for each Car. This will be coded directly in the driver, no user input at this point. Using a For-Each loop, the project displays the name of the car, its total MPG and a count of the number of trips for each car. Next, the program asks the user if they want to see the MPG for the individual trips for a single car. If the answer is yes, the user enters any part of the name of the car of interest. Using another For-Each loop, the program goes through the cars to see if the input string appears anywhere in the name of the car, and when it is found, displays each of the MPG objects for that car. You may use any car names you want, and any number of trips for each car. Make sure there are different numbers of trips – look at the example, where it shows 5, 3, and 4 trips. You must have 2 classes and the driver class. Be sure to use For-Each loops to list the fleet inventory, to find the specific car, and to print the individual trips. The miles and gallons must be added to the MPG array list using anonymous objects. Run the project and take a screenshot.
bell-kevin/FourFunctionCalcProject
4-function calculator and non-automated unit tests. The calculator gets 2 integer inputs from the user, then calculate the result of addition, subtraction, multiplication, and division. method for each of the 4 operations -- addition, subtraction, multiplication, division
bell-kevin/FourFunctionCalcUpdatedProject
SDEV 1060 Project. The calculator will get 2 integer inputs from the user, then calculate the result of addition, subtraction, multiplication, and division. You don't need to write the code to create that part of the project -- you will be testing the methods that perform the calculations, not the user interface. Write a method for each of the 4 operations -- addition, subtraction, multiplication, division; all methods need 2 parameters for the input values. These calculation methods can be in a class for math operations, or can be static methods in the main class -- your choice. The calculator can handle 2-digit numbers for input, negative and positive, so the range of input is -99 to 99, inclusive.
bell-kevin/improvedInventoryProgram
You created an inventory program in Ch 9 using an array with size of 2. As you’ve learned, when you don’t know how big an array needs to be, it’s better to use an array list. Make a COPY of the Ch 9 inventory project and change it to use an array list. Does anything need to change in the inventory class? Nothing – all the same variables and methods are needed. Does anything need to change in the driver class? No, because we are still working with a store that has inventory. The class for the store needs to change, from using an array of size 2 for the inventory items for the store, to an ArrayList of unknown size for the inventory items. Because the array had a known size, you probably used a For loop to go through the array to add inventory items. In this version, you need to ask the user if they want to continue adding more inventory items, and repeat that work if the answer is “yes”. In the Ch 9 version, you created a method to find an item in inventory, which returned the index number for that object in the inventory array. If the name of the array was “items”, you referenced an inventory item like this: items[k]. Since this version uses an array list, you can’t use the name with an index like that – you have to use the “get” method, items.get(k). You can chain other methods to it, like the sell method. You will probably need to make changes in the find and sell methods you created to access the elements in the array list instead of in the array. When the program runs, it should ask the user for inventory information, and ask if they want to continue to add more inventory, instead of asking for 2 items and no more. Thus the user can enter any number of items. Otherwise, the program should appear to behave exactly the same as it did in Ch 9. There could be more items added as appropriate – array lists make it very easy to increase the size of the array with no extra coding. Second part, purchasing items from inventory. This should behave exactly as seen previously, the only difference being the number of items to display in the inventory listing. Take a screenshot of your version of the sample session. Submission: the specified screenshots, and the root folder for the project Pay careful attention to the rubric for this assignment. Remember the standards that apply to every project. Note that you must use correct formatting in the code -- appropriate indentation is most important. You can use Shift-Alt-F to have NetBeans automatically format the code correctly. If the formatting is incorrect, it will be returned to you for changes with a grade of zero. Note: You need to submit the whole project for these assignments. In File Explorer, go to the location where you created the project. There will be a folder with the name of your project -- that is the root folder of the project. If you submit the root folder of the project, the instructor can run it on a different machine to grade it. If you don't submit the proper folder, it won't run on another machine, and the assignment will be marked with a zero.
bell-kevin/museumStoreCafe
In Competency Exercises, you demonstrate your skill and ability to use the programming principles you've learned in the current and previous modules. You must complete this assignment by yourself, much like a module exam. You can ask instructors for clarification about the project -- you can not ask instructors or other students for help with logic or coding. If you are struggling with the project, you can look at previous assignments where you did similar work, and you can review the pertinent sections in the book. These are the skills you practiced in this module and will now demonstrate: Arrays Array Lists For-Each loops Anonymous objects Module 4 Competency Exercise: Museum Store Cafe You have worked with the Museum in previous exercises. Here, you will work on inventory for the Museum Store Cafe. An inventory item has a name, category, price, and quantity. In the driver class, you will add items to the cafe inventory -- half will be instantiated and half will be anonymous. Display the entire menu using a For-Each loop. Ask the user what type of item they want to see. In the example below, the categories or types of items are entree, side, drink, and dessert. The user selects one category, and the program will print out any inventory item with that same category. Here is an example: M4 Comp The first 4 items were instantiated and then added to the array list. The second 4 items were added to the array list using anonymous objects. Code these directly in the driver class, no user interaction needed. You may choose the categories and items that are in the inventory. There must be at least 3 categories, and at least 8 items added to inventory. Make sure at least 4 are instantiated and then added, and at least 4 are anonymous objects. Do not load them in any kind of order, for example putting all of one category together. Run the project and take a screenshot. Remember the style rules that apply to all projects throughout this course. Even if not specifically mentioned in the assignments, you are responsible for the following: Use descriptive names for all variables Add comments describing the use or meaning of variables Do NOT include literal values in any calculations, always use variables Always include a header in the output with a descriptive title and your name If asking for input, make sure the user types on the same line as the question Where sample sessions are provided, output from your project must match it Note that you must use correct formatting in the code -- appropriate indentation is most important. You can use Shift-Alt-F to have NetBeans automatically format the code correctly. If the formatting is incorrect, it will be returned to you for changes with a grade of zero. Submission: screenshots and the root folder for the project
bell-kevin/testingRandomNumbers
Testing Random Numbers Project SDEV 1060 Project. A senior developer is working on a project and has asked you to do some testing for him. One of the methods in his project creates a random number between supplied minimum and maximum values. He has written the method that will create that random number, run it a few times, and thinks it looks good, but just to make sure, he has asked you to thoroughly test the method. That method looks like this: In Java: public static int getRN(int min, int max) { Random rng = new Random( ); int answer = rng.nextInt((max - min + 1) + min); return answer; } In C#: public static int getRN(int min, int max) { Random rng = new Random( ); int answer = rng.Next(min, max + 1); return answer; } You put it into a small program to test it. Note that the program does not need any code in the main method, because you are this single method. Add it in the main class file, below the main method, not in a separate class. It would be a good practice to add code in the main class that asks the user for minimum and maximum values, or that has hard-coded min and max values, then calls this random number generator method, and displays the result. That is a good way to make sure the method runs as expected in your program and environment (it checks if you typed everything correctly). Since you are testing just the single method, and have no idea what it is being used for in the main method, there is no need for any code in the main method -- other than to test that your version of the method under test was typed correctly and will compile. In a test method, how can you assert that a random number is equal to a specific number? You can't, because the number should be random, so you can't predict the expected result. But you can assert that the random number falls within the range expected. You have written assertions with variables for expected and actual results, or literal values. You can also write expressions in the assertion. For example, if the method under test adds 2 numbers together and returns the sum, you could write an assertion like this: (Java) assertEquals(n1 + n2, actualResult) or (C#) Assert.AreEqual(n1 + n2, actualResult) The phrase "n1 + n2" is an expression that calculates the expected result in this example. Another example is checking for valid input, where the input number needs to be between 1 and 100 inclusive -- that means 1 and 100 are both valid results. How would you write that code to validate the input? It could look like this: if (inputValue >= 1 && inputValue <= 100) { do something } You can use that same type of expression in an assertion. That test would look like this as an assertion: (Java) assertTrue(inputValue >= 1 && inputValue <= 100) (C#) Assert.IsTrue(inputValue >= 1 && inputValue <= 100) If the relational tests (input value is greater than, equal, less than, etc) and the relational test (AND) are all true, the assertion passes, which means that the input value is valid, in this example. For random numbers, you can't specify an expected result, but you can check that the result is within the acceptable range. If it is true that the random number falls in the range, then the method worked correctly. The "arrange" stage of this test needs to know the range for the random numbers. What is the "act" stage of this test? You need to run the method from the other developer (above) and get the result, the random number. You learned how to test a static method in a previous assignment; you will do the same here. The method being tested returns the random number, which is the "actual" value that needs to be compared to the "expected" value. In this case, you will need to check if the random number falls within the expected range. For this assignment, that range is the numbers 20 to 29 inclusive. What is the "assert" stage of this test? You will assert that it is true that the actual result from the method is within the range. Be sure to add the optional message that will display if the test fails, and have it display the generated random number, which isn't in the range and caused the test to fail. Make sure you type the method exactly as you see it above as the static method in the main class. For this assignment, you want 10 possible random numbers starting at 20, so the possible numbers are 20, 21, 22, 23, 24, 25, 26, 27, 28, 29. Run this test. Does it pass or fail? The programmer who gave it to you said he had run it a few times and it looked good. Does it? If it does, will it suffice to run it a few times? No, that is not at all thorough for testing the happy path and edge values -- you have no way of being sure the edges were ever tested with random numbers. You need to test it many many times, repeatedly calling the random number method to check it. How do you get repetition in any program? Use a loop. A unit test is code just like all the code you've written in any program, with the addition of the Assert methods. You know how to write loops, you can add a loop within the unit test method. As part of the act step, use a For loop that runs many times (20 or 500 or 1,000 times, whatever seems appropriate); inside the loop, run the test you just created, where it calls the method and then asserts that it is true that the result is within the range given. If you have a bunch of assertions, if any one fails, none of the following ones will run. If you use a loop of 20 executions of the test, and it fails on the first one, it didn't run any others. You will not see reports like "passed 10 and failed 10" -- if it fails once, it's over. You have to keep fixing and running the code until all tests are successful. Run the test 200 times in a loop, to test the method multiple times. When you run the test, it should fail, there is an error in that code. See the discussion below to figure out the problem, fix it, and test it again. Keep working on it until all the tests are successful. Then run the test 5,000 times, to make sure it works as it should. Take a screenshot of your fixed code for the method, of your test code, and of the last successful test that ran 5,000 times. Submission: screenshots specified and the root folder for the project Discussion Random numbers have a minimum and maximum value. In some languages, you need to specify the number of numbers (Java) or scope (C#) and the starting value (Java) or shift (C#). The methods above have a phrase to get the number of numbers -- max - min + 1, that seems like it would be appropriate. In Java: The formula for generating random numbers is rng.nextInt(number of numbers). If there is a starting value, such as 1 or 50 or whatever, it needs to be added to the random number. So the formula for Java is: startingValue + rng.nextInt(number of numbers). It could also be written with the starting value at the end: rng.nextInt(number of numbers) + startingValue. Look carefully at the pattern provided above: rng.nextInt ( (max - min + 1) + min ) If we resolve some of that code, do the math in the inner parentheses, it becomes rng.nextInt ( (num) + min ) Once the math inside the inner parentheses is done, we can drop those parentheses, and this becomes rng.nextInt ( num + min ) which becomes rng.nextInt (someNumber) There is no term for the starting number to be added to this random number -- it was used inside of the parentheses for the parameter for rng.nextInt(). In the formula above, the number of numbers, inside the parentheses that follow rng.nextInt, does more than provide the number of numbers, it also adds the min or starting point to that number of numbers. If the random number generator is supposed to use 10 numbers that start with 20, that would be the numbers 20, 21, 22, 23, ... 29. The formula above says that the number of numbers is that 10 plus the min value of 20, so the number of numbers is now 30. And there is no starting value, so the random number generator will create a number from 0 to 30. Thus it is possible to get numbers that are less than the intended starting point of 20, and one higher than the intended max value of 29. How do you fix that pattern so the parameter for rng.nextInt() has only the number of numbers in it, and the starting value is separate, added to that random number? In C#: The pattern for random numbers in C# is a little different from the pattern for Java. They are so similar in so much code, but there is a difference for creating random numbers. There are several patterns, but the one intended here is: (int) rng.Next(starting value, ending value + 1) The rng.Next() method always returns a double, so it must have the cast to an integer at the beginning. There are 2 parameters, the shift (starting or min value) and the scope. That scope or max value will never be included in the possible random numbers, hence the "+1" in the pattern. If the code was: (int) rng.Next(20, 30) it would create a random number with the smallest possible number of 20 (the starting point) and the highest number will be 29, because it cannot go to 30. That value of 30 is the next integer after the highest one allowed. So this pattern also uses min and max values, but the shift and scope are represented differently. If min is 20 and max is 30, look at how the code provided works out: (int) rng.Next(max - min + 1, min) becomes (int) rng.Next( 30 - 20 + 1, 20) which becomes (int) rng.Next(11, 20) That means that the smallest number can be 11, and the largest number is one less than 20, or 19. The range of 11 to 19 is nothing at all like the intended range of 10 numbers starting at 20, or 20 to 29. None of the values generated with that pattern in the code provided would be valid. How do you fix the pattern in the code provided above? == We're Using GitHub Under Protest == This project is currently hosted on GitHub. This is not ideal; GitHub is a proprietary, trade-secret system that is not Free and Open Souce Software (FOSS). We are deeply concerned about using a proprietary system like GitHub to develop our FOSS project. We have an [open {bug ticket, mailing list thread, etc.} ](INSERT_LINK) where the project contributors are actively discussing how we can move away from GitHub in the long term. We urge you to read about the [Give up GitHub](https://GiveUpGitHub.org) campaign from [the Software Freedom Conservancy](https://sfconservancy.org) to understand some of the reasons why GitHub is not a good place to host FOSS projects. If you are a contributor who personally has already quit using GitHub, please [check this resource](INSERT_LINK) for how to send us contributions without using GitHub directly. Any use of this project's code by GitHub Copilot, past or present, is done without our permission. We do not consent to GitHub's use of this project's code in Copilot. ![Logo of the GiveUpGitHub campaign](https://sfconservancy.org/img/GiveUpGitHub.png)
bell-kevin/TipCalculatorTestSuite
SDEV 1060 Project. Use automated unit-testing to calculate tips for restaurants
bell-kevin/UsedCarAutoLot
In this project, simulate a used car auto lot. There are 3 types of vehicles – cars, trucks, and another one that you choose. For these instructions, that choice is a Minivan – you may use that or select another type of vehicle. The output from this project will first list all of the inventory, then ask the user what type of car they are interested. It will display all of the vehicles that match the user's choice.
bell-kevin/webPageReader
web Page Reader
bell-kevin/workingWithAnArrayList
Create a project that instantiates an ArrayList of Strings. Follow the directions below for adding and removing data from the ArrayList, then print out the results. You do not need to ask the user for any of this data, type it directly into the code of the main class. Be sure to print out the usual header first, "Chapter 10 Array Lists by Student Name” with a blank line after. Directions for the ArrayList: Add your name Add “games” Add your favorite hobby Set “enjoys” as the value in position 1 Add your favorite holiday Remove the item in position 3 Add your birthday month Set “programming” as the value in position 2 Remove the item at the end of the list (you’ll need to know the size of the list to do this) Print the list Take a screenshot of the code with the output below it.
bell-kevin/writingAndReadingObjectsWithNumbers
writing And Reading Objects With Numbers as objects. java 2
bell-kevin/writingAndReadingObjectsWithNumbersWithInput
writing And Reading Objects With Numbers With Input. just for practice. java 2