6/21/2021 Assignment https://scis.lms.athabascau.ca/mod/assign/view.php?id=39109 1/5 Part 1: Essay and Demo Program Write an essay on a selected topic in emerging technology, complete with at least...

1 answer below »
I would prefer Nithin to work on this, please and thank you.


6/21/2021 Assignment https://scis.lms.athabascau.ca/mod/assign/view.php?id=39109 1/5 Part 1: Essay and Demo Program Write an essay on a selected topic in emerging technology, complete with at least one demo program to illustrate the topic. Your essay should be no longer than 3000 words. Topics Topics will be posted in Week 1 in the COMP 501 Units 7–9 and Assignment 3 forum under the topic Assignment 3 Essay Topics. You may select one of the provided topics, or you may suggest a topic in emerging technology to the course instructor. This last choice allows you the freedom to explore newer topics in emerging technology. To suggest a topic not in the provided list of topics, you must email the instructor with a topic proposal of approximately 200 words before Week 10. Provide the topic name and a brief description. Do not use the course home page discussion forums or internal message system; only email will be accepted. Requests received after the beginning of Week 10 will not be approved. Essay Overview The essay should involve an exploration, exposition, and demonstration of the emerging technology you have chosen to discuss. You must provide the history, background, technical capabilities and restrictions, theory and principles, functionality, examples (code fragments) and figures/screenshots, possible applications, future vision and expectations, references, and a demo Java program. The demo program does not have to be complex, but it must clearly demonstrate the important functionality of the technology. Trivial “hello world” type programs do not meet this criteria and will not be marked. Of the marks for Part 1 of this assignment, 60% will be for the written paper and 40% for a demonstration of the subject of your paper, which includes the demo program that you have written. Reminder: The essay requires at least one complete Java demo program. Demo programs must include documentation and test plans. 6/21/2021 Assignment https://scis.lms.athabascau.ca/mod/assign/view.php?id=39109 2/5 Essay Marking Scheme The essay will be marked according to the following marking scheme: Comprehensiveness 40% Does the essay cover the material it proposes to cover with a sufficient level of detail and depth? Organization   15% Is the essay well organized? You will need to use sections/sub- sections to make your thoughts clear and to smoothly transition from one topic to the next. Readability   15% Is the essay easy to follow? Does it have well-structured sentences and paragraphs that flow logically from one topic to another? Examples 15% Is there an appropriate use of examples/samples (e.g., a list of classes, screen captures, code fragments)? Small pieces of code may help your readers understand your words, but they will not replace the demonstration program. Spelling  5% Watch for incorrect word use (e.g., their, they're, there). Grammar  5% Have you followed the rules of English grammar? Format  5% Does the essay follow the standard essay format? Are all the essay components present? Are the references complete? You may refer to the MScIS Essay Template and the Digital Thesis and Project Room in the AU Library for examples of formatting. If you use the work of others without proper attribution, this is plagiarism and you will be penalized with a mark of 0 on the assignment and possible failure of the course. Electronic aids may be employed to evaluate your essay for proper attribution and to detect plagiarism. The demo program will be marked using the same marking scheme as the other assigned programs; this marking scheme can be found in Part 2 of this assignment. Part 2: Java Program Write and submit one complete Java program to solve the following requirements. Your program will employ packages (i.e., source directories) and contain multiple source files. Because you are using packages, your code should be in a directory named “Greenhouse.” You should be able to compile your code using the command “javac Greenhouse\*.java” from a directory just below the Greenhouse directory. In the program for this assignment, class names have been specified. You must use the supplied class name for both class and source file name (i.e., Animal will be in a file Animal.java). If a program specifies multiple classes, then each class should be in its own separate source file. https://mscis.athabascau.ca/resources/MScIS_StyleGuide_v3_essay_template.pdf http://dtpr.lib.athabascau.ca/index.php 6/21/2021 Assignment https://scis.lms.athabascau.ca/mod/assign/view.php?id=39109 3/5 Greenhouse is a house in which many events could happen; for example, doors may open and close, windows may open and close, fans may turn on or off, lights may turn on or off, an alarm may sound, the thermostat may turn on or off, watering machines may start or stop, and so on. Each event has its own timer and jobs. (Hint: Use a superclass with separate subclasses and a thread.) For example, the alarm may sound five times when the thermostat has failed, and the fans may not come on until this situation is resolved, even if the fans are supposed to be on. Different events may have different priorities. greenhouse_plans.txt: priority=*,10 priority=Light,5 priority=Bell,1 priority=Thermostat,2 event=Thermostat,1000,* event=Light,1000,1000 priority=Water,5 event=Water,3000,5000 test=Bell,1000 failed=Thermostat,7000 event=Water,8000,5000 event=Fan,10000,2000 The greenhouse should be able to restart the process if either of two conditions are met: (1) the user asks the greenhouse to do so; (2) the greenhouse catches an exception when doing jobs according to greenhouse_plan.txt (e.g., if an event is not able to start because no specific event class is implemented). If the second condition occurs, the greenhouse will restart the process, skipping the instruction that caused the problem. Provide the means to read classes from the file and create classes from their names. (Hint:Class.forName().) Use the same methods to provide the capability to add new Event classes and to modify any Event classes without recompiling the Greenhouse class. Note: You should not use inner classes for designing and developing Event classes. Test your program by adding at least two Eventclasses, and make any necessary changes to greenhouse_plan.txt. Before the greenhouse restarts everything, it first has to turn off all events. You may need to use ArrayList or Vector to store the events (and scheduling information). Doing so will avoid the need for additional variables to represent different events and will also allow you to have new Event classes any time you want. 6/21/2021 Assignment https://scis.lms.athabascau.ca/mod/assign/view.php?id=39109 4/5 Documentation and Test Plans You may have encountered documentation and test plans in other courses or at your workplace. For this course, the following are mandatory and should be followed. If the standards for this course differ from others in your past experience, then, for these assignments, the standards of this course supercede all other standards. At the top of every source file, you must place three comment blocks. The first comment block contains your name, student ID, date, assignment number, program name, and a brief program description. The second comment block is the primary documentation for your program. Explain the program purpose, code behaviours, and any particulars of the program. Also include detailed instructions for compiling and executing the program, including example input data if required. Also list separately all classes and instance variables used in the program, with descriptions. The third comment block is the test plan. At its core, a test plan simply tells another person how the program actually worked during testing. In cases where there is no input, there is still often output, so you can still show exactly how the program should function. In programs with input, you can also describe various test cases, including those where incorrect data (or no data) is entered and what output should be expected. Finally, the test plan is a place to discuss limitations of your program and things that could be done to improve it. If you write a program with multiple classes, the first two comment blocks must appear in every source (class) file. The test plan comment block should only appear in the source file that contains the main()method used for testing. Failure to provide all three comment blocks will result in loss of marks, as noted below in Program Marking Scheme. The program “GoodDocs.java” is provided as a complete working example of a program documented to the standards of this course. (See Resources & Tools in the right-hand column of the course home page.) Deliverables Be sure your working directory contains only source code files and any necessary input files as required by the assignment. Zip this directory into a single zip file and then upload it using the assignment drop box. If you experience difficulty uploading the file, contact your tutor before the due date. Once the due date has passed, late penalties are in effect whether you have had difficulties or not. https://comp501r6.athabascau.ca/resources/GoodDocs.java 6/21/2021 Assignment https://scis.lms.athabascau.ca/mod/assign/view.php?id=39109 5/5 Note: Your tutor will not accept assignments by email. Program Marking Scheme Your program assignment is evaluated using the following marking scheme: Program compiles without errors or warnings 20% Program executes correctly 20% Source code meets the exercise requirements without errors 20% Documentation is provided as required 20% Test plan is complete 20% Cautions If your program does not compile, you will lose both compile marks and execution marks, and most likely, also some code marks. If you use components, code fragments, methods, or other work that you did not write yourself, you must clearly show the authorship of that code, including the author’s name and where the code was obtained. This should be done in the documentation comment block. No more than 20% of your program can be the work of others. If you use the work of others without proper attribution, this is plagiarism and will be penalized with a mark of 0 on the assignment and possible failure of the course. 6/21/2021 Unit 7: Selected Topic Readings and Programming https://comp501r6.athabascau.ca/unit7/unit-7.php 1/1 1. Java AI and Machine Learning Libraries (e.g., Deeplearning4j, Weka) 2. Java game development libraries (e.g., jMonkey, LWJGL, LibGDX) 3. Java libraries for Data Visualization (e.g., D3.js) 4. Augmented reality libraries (i.e., Google’s ARCore, AR.js, ARToolKit, DroidAR) 5. Virtual reality libraries (i.e., GuriVR, OpenSpace3D) 6. Java Advanced Imaging 7. Java OpenGL 8. Java Speech API 9. Google Wave 10. Google Lens 11. Google Voice 12. Google Maps Navigation 13. Java Media Framework 14. Java Spring Framework 15. Applications of the Bean Context API 16. Applications of JAF 17. Applications of INFOBUS
Answered 14 days AfterJun 21, 2021

Answer To: 6/21/2021 Assignment https://scis.lms.athabascau.ca/mod/assign/view.php?id=39109 1/5 Part 1: Essay...

Shashi Kant answered on Jul 05 2021
140 Votes
Assg/JSF/JSF.odt
            Java Spring Framework
Agenda:    
        
Here we will understand why we need the frameworks in Java? And what exactly a Java framework is?So there after we shall be proceeding towards Spring Framework.
When we shall be proceeding towards Spring Framework that's where we're going to focus on.
What is spring framework?,
    Why we need Spring Framework? and,
        What various modules available in the Spring?.
We shall be focusing practically on inversion of control(IOC) container which is the core of the spring module, we'll see what are beans and we'll also see what is meant by a dependency injection.
Why Java frameworks?
So there are various problems associat
ed with the enterprise edition of Java so when you talk about the technology it becomes complex and we are writing the enterprise applications to name a few we got a lookup problem so when you gonna do lookup you're going to face the problems and on the memory front again the optimization are not done properly.
So we got Heavy weight components and they're gonna focus more on memory part.
So we need to know Java frameworks which are basically a collection of a classes we say collection of API it's a predefined code which you can use in your programs to solve some specific problem.
Now the questions is how the things going to work over here?
So we got large bodies of predefined code available with a sprite we can also call them API so framework is nothing it's a set of API so so if you talk on the code part so it's nothing it's a byte code, the classes is available for us to be utilize.
So what we need to do?
We need to add this snippet or this predefined API in our program so that we can solve a problem for a specific domain.
So that's how you are going to come up with your API usage.
Java Frameworks:
Now what can be the advantages of Java Frameworks?
The first thing is efficiency so we want a security we want less expenses and a support all these features.
So they are an expectation at the developer end.
So when you are writing the code if you are using the framework, or if you are using the predefined code all these features you need to relax now on these all four fronts.
So the code which you are going to use it will be efficient, it's gonna be secure so you need not to update for it because most of the Java frameworks they are open-source and you just need to use then we just need to include it into your program as a dependency and then you finally use it. Other than that support in the form of documentation or in the form of various Stack Overflow threads coming in so it's it's going to be very easy for us to manage any problem which we have.
So there are various disadvantages even associated with the Java framework so:
The number one is you got restriction then
The code is public and
Finally the custom built features.
Restriction
         Let's understand that point now so we are restricted to use an API the way it is so you can't modify it now that's the whole scenario if you want to use an API in your own different way then you can't do that so we are restricted to use the same API.
Ex :-
    Let's say that one of the method it's taking three inputs and you are     supposed to have a method which can do the same task with only one     input so you can't do that now it's a limitation so there are restrictions.
Code is Public
         The code is public it means that if you are going to use any of the API what's going to happen the same AC is exposed to the public.
Ex :-
    Let's say you are supposed to use an open source API which is doing an encryption and decryption for you so it's going to be very much challenging for us to maintain that kind of security then the custom built features so if you have API is you can write your code but the thing is whatever the API is written, what is the language or the technology behind the API many times that will not be exposed to the developer.
So specifically in case of web service you might not know what is the internals of that API so that's what the encapsulation is all about and here you place a challenge again so we got various Java frameworks available now there are a lot of frameworks available.
So Frameworks is nothing it's a set of API so you got JSF, Maven,Spring, hibernate etc...
Spring Framework
Lot of Java frameworks are available in the market so in Spring Framework let’s say there is a big development team of some XYZ company with the group of six members and it's hired by the manager Jhon.
So Jhon is the leader of the team so Jhon has got a call from the management team with some urgent requirement now so he's having an urgent requirement to be implemented and to be delivered to the client somehow.
So Jhon said to his team that team we have got one request from the client that we need to write an application but the challenge is that we have got very little time frame to finish off this project.
Now this is one challenge which as a developer or as a development company we are going to face it for sure, so here clients whenever they're gonna come they're going to come up with the first thing as they have very less time when they have less time we need to perform quickly for the client so we need to rely on the framework somehow.
If we go by the general way it's going to take a lot of time in writing the unnecessary code so we need something that's fast flexible and efficient so it's not only that we going to use a framework but we also need to consider more of the parameters so that's like we should have an efficient code which we can integrate and can write an application with.
So in this case we need to use any framework now Luna says let's use any framework over here, so Ken says we can go for struts then someone says we can go for hibernates like that everyone is saying something all the framework which they are mentioning are all the Java frameworks more or less.
So finally Luna say that we can use "Spring Framework".
Now why specifically Spring Framework ?
It is because it out shines the other frameworks in a way that it's a framework of frameworks so it provides us the flexibility as well as we got model-view-controller architecture.
So Spring MVC is basically a based on interfaces so the way we got Struts and hibernate so they are not all the interfaces but you need to use the objects and classes whatever we have, so in Spring Framework specifically in the MVC we got interfaces so that we can write our own implementation and that's a benefit so we got interface we just use it we write the way we want to create the implementation of that interface so this way you won’t effect the client side even.
Now Tom says let's have a discussion on Spring Framework so how it's going to solve our problem so so nice?
So Spring framework increases the efficiency of the application, it's going...
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here