Computer Science project on AI
PurposeThe discussion activity provides you an opportunity to explore the various domains of artificial intelligence. Each of you will do research regarding the achievements humanity has had so far in branches of Artificial Intelligence, and to present the findings in front of the class through a presentation. After you see the presentation, I hope that your interest will increase, and you will start reading about domains that you did not have interest before, and enrich the discussions with other findings and ideas.DirectionsPart 1 - Initial ResponseFind the due date on the course calendar.Choose an area from Artificial Intelligence and create a PowerPoint presentation with minimum 10 slides, in addition to the title and the references slides, presenting that particular field. Include images, videos, and additional links to web sites presenting exciting things about that particular domain.Potential topics are:History of Artificial IntelligenceMachine learningExpert systemsGenetic algorithmsNeural networksIntelligent agentsVision systemsNatural languagesRoboticsMake sure to find reliable resources, and to document them with a list of references on the last slide of your presentation. Feel free to include images, and videos that show how that domain evolved, and how the scientific results are used in real life.You may use MS PowerPoint to create the presentation or any online tool that you feel comfortable with, such as, Google Slides, or Prezi.Submission: Post your presentation in the discussion forum titled Unit 6 Artificial Intelligence. Make sure to create a new thread with the title containing your name, and something representative for your response. You may post your presentation as an attachment. Please note it is your responsibility to make sure that the entire class will be able to view your presentation. If you choose to use an online tool to create the presentation, you need to make sure all of us can access it.Part 2 - Substantive CommentsRead your classmates' posts and make comments to at least two of them. Comments should bring constructive ideas into the discussion. You may share your ideas that can help your classmates better understand the selected topic. You may also ask questions to further the discussion. Please make sure to follow the online communication netiquette and create a friendly online learning environment.Make sure to monitor the discussion by answering questions and providing clarifications if needed.GradingThe discussion activity is worth 15 points toward your course grade. You can find the grading rubric for this discussion activity by clicking the Grading Information button in the lower left corner once you open the discussion forum.Project 6: Designing Classes Assignment 6.4: Project 6 - Designing Classes PurposeThe project can help you improve your problem solving skills this time using classes and methods. This way, your programs become more modular, and you will be able to reuse the classes that you declare, and some of the methods that you create.DirectionsConsider the following problems, design the algorithms that would solve them, and then implement the algorithm in Java.Problem 1:Design and implement a class called Flight that represents an airline flight. It should contain instance data that represents the airline name, flight number, and the flight’s origin and destination cities. Define the Flight constructor to accept and initialize all instance data. Include getter and setter methods for all instance data. Include a toString method that returns a one-line description of the flight. Create a driver class calledFlightTest, whose main method instantiates and updates several Flight objects.Problem 2:Define a class called Counter. An object of this class is used to count things so it records a count that is a non-negative whole number. Include methods to set the counter to 0, to increase the counter by 1, and to decrease the counter by 1. Be sure that no method allows the value of the counter to become negative. Also include an accessor method that returns the current count value, as well as a method that displays the count on the screen. Do not define an input method. The only method that can set the counter is the one that sets it to zero. Write a program to test your class definition. (Hint: you need only one instance variable).Problem 3:Using the Die class defined in this chapter, design and implement a class called PairOfDice, composed of two Die objects. Include methods to set and get the individual die values, a method to roll the dice, and a method that returns the current sum of the two die values. Create a driver class called RollingDice2 to instantiate and use a PairOfDice object.Problem 4:Consider a class that could be used to play a game of hangman. The class has the following attributes:The secret wordThe disguised word, in which each unknown letter in the secret word is replaced with a question mark (?). For example, if the secret word is abracadabra, and the letters a , and bhave been guessed, the disguised word would be ab?a?a?ab?aThe number of guesses madeThe number of incorrect guessesIt will have the following methods:MakeGuess(c) guesses that character c is in the wordgetDisguisedWord returns a string containing correctly guessed letters in their correct positions and unknown letters replaced with ?getSecretWord returns the secret wordgetGuessCount returns the number of guesses madeisFound returns true if the hidden word has been discovered.Perform the following actions:Write a method heading for each method.Write preconditions and postconditions for each method.Write some Java statements that test the class.Implement the class.List any additional methods and attributes needed in the implementation that were not listed in the original design. List any other changes made to the original design.Write a program that implements the game of handgman, using the class you wrote for part d.Problem 5:Consider a class Movie that contains information about a movie. The class has the following attributes:The movie nameThe MPAA rating (e.g. G, PG, PG-13, R)The number of people that have rated this movie as a 1 (Terrible)The number of people that have rated this movie as a 2 (Bad)The number of people that have rated this movie as a 3 (OK)The number of people that have rated this movie as a 4 (Good)The number of people that have rated this movie as a 5 (Great)Implement the class with accessors and mutators for the movie name and MPAA rating. Write a method addRating that takes an integer as an input parameter. The method should verify that the parameter is a number between 1 and 5, and if so, increment by one the number of people rating the movie that matches the input parameter. For example, if 3 is the input parameter, then the number of people that rated the movie as a 3 should be incremented by one. Write another method, getAverage, that returns the average value for all the movie ratings.Test the class by writing a main method that creates at least two movie objects, adds at least five ratings for each movie, and output the movie name, MPAA rating, and average rating for each movie object.Submission: You are required to submit the following files for this assignment by clicking the link, Project 6 - Designing Classes, above.One Java file for each problem, which means you need to submit five Java files.A Word document containing the algorithms and the screenshots of the running programs for all of the five problems. Please name your Word document as P6_Last Name_First Name.docx or .doc. For example, P6_Smith_John.docx.