Computer Science Homework Help

Get Computer Science Assignment Help Online From Top Computer Science Tutor

Trusted by 1.1 M+ Happy Students

WhatsApp Support

Get Instant
Online Homework Help
via WhatsApp

Get instant homework help from top tutors—just a WhatsApp message away. 24/7 hw help support for all your academic needs!

A
S
M
R
★★★★★
2M+ students trust TutorBin
Your WhatsApp Number
phone
or
⚡ Instant reply
🔒 100% private
👨‍🏫 Top tutors
🌍 All subjects
*Get instant homework help from top tutors—just a WhatsApp message away. 24/7 support for all your academic needs!
2M+ Students Helped24/7 Live SupportExpert TutorsAll Subjects CoveredInstant Response100% ConfidentialTop Rated ServiceMoney-back Guarantee2M+ Students Helped24/7 Live SupportExpert TutorsAll Subjects CoveredInstant Response100% ConfidentialTop Rated ServiceMoney-back Guarantee

Popular Subjects for Computer Science Homework Help

You can get the best rated step-by-step problem explanations from 65000+ expert tutors by ordering TutorBin computer science homework help.
Do My Computer Science HomeworkDo My Computer Science Homework​Explore our project samples to tackle computer science problems and complete your assignments accurately. ​
Do My Accounting HomeworkDo My Accounting HomeworkExplore our project samples to tackle accounting problems and complete your assignments accurately.
Do My Chemistry HomeworkDo My Chemistry HomeworkExplore our project samples to tackle chemistry problems and complete your assignments accurately.
Do My Physics HomeworkDo My Physics HomeworkExplore our project samples to solve physics problems and complete your assignments accurately.
Do My Geometry Homework Do My Geometry Homework Check out our project samples to solve geometry problems and complete your assignments accurately.
Do My Finance HomeworkDo My Finance HomeworkExplore our finance project samples to master complex concepts and excel in your assignments.
Do My Programming HomeworkDo My Programming HomeworkExplore our programming project samples to tackle coding challenges and complete your assignments accurately.
Do My Python Homework Do My Python Homework Explore our Python project samples to tackle coding challenges and complete your assignments accurately.

Recently Asked Computer Science And IT Questions

Expert help when you need it
  • Q1:Automated scanners are often utilized to detail specific flaws and suggest corrective actions for networks. This lab will introduce you to three separate scanners to help identify possible vulnerabilities within a system. View the "Lab 4 Your Second Hack Part 1 Lab" and "Nessus" videos within the "Video Playlist: Penetration Testing and Risk Management," located in the topic Resources. This lab utilizes the Kioptrix 2 VM, as well as your Kali, to perform network enumeration, vulnerability scanning, and exploitation. Enumerate your target, providing screenshots. (All screenshots are required to provide a date and timestamp.) Utilize Nikto. Utilize OWASP Zap. Identify, compare, and contrast Nikto vs. OWASP ZAP. Identify and summarize CSRF. Identify and summarize XSS. Utilize Nessus. Explore at least 10 possible vulnerabilities identified. Create a 6- to 8-minute PowerPoint video presentation. Show professionalism in your speech and appearance. Use an online video platform such as Loom, YouTube, or Vimeo to upload your completed video. Ensure that others can access and view your linked video prior to submitting to the LMS. In the video, be sure to detail the following, using screenshots: Utilize flaw hypothesis methodology and provide a hypothesis based on your findings. Utilizing the tools outlined above, conduct a vulnerability analysis and mapping. Describe how you would apply the tools and techniques for identifying vulnerabilities. Apply techniques to trace a vulnerability to its root cause. Utilizing your knowledge of the vulnerabilities found, what attack vectors would you hypothesize using and why? Analyze the legal, ethical, and industry standards associated with vulnerability disclosure. What is your recommendation for when a vulnerability should be disclosed to the public? Why? Using your vulnerability scans as a base, select a vulnerability and provide a hypothesis as to how the vulnerability came into being. Research the vulnerability and briefly provide a summary of the root cause. APA style is not required, but solid academic writing is expected. Reference: Simpson, M. T., & Antill, N. (2016). Hands-on ethical hacking and network defense (3rd ed.). Cengage. ISBN-13: 9781285454610 https://www.youtube.com/watch?v=EGcBDXn63ME&list=PLfSk-dHOm3SCTNOr8qKB6Srewi2At0Pfq Feedback Your presentation included some screenshots and descriptions but fell short in demonstrating the actual lab work and providing clear explanations and analyses. Future presentations should include clear, detailed screenshots from your work, proper citations, and comprehensive analyses of findings. Additionally, improve the layout and organization to enhance clarity and readability.See Answer
  • Q2:Submission Please read all the instructions carefully. Marks will be deducted if files are submitted in the wrong format or other instructions are not followed! You should submit precisely 3 files individually (do NOT zip them): 1. Two page report (only references may appear on a third page) in pdf format using either the latex Download latex or word Download word template provided. 2. Code (a version that will run - either an .ipynb notebook (preferred) or a .py script; do NOT submit any of the data you are provided with). 3. Class predictions for the test data. This must be in exactly the same format as the provided example file, sample_valid_predictions.csv and must be named predictions.csv. The Brief For this assignment, you will carry out a binary classification task, and write a report on this. Please read this brief carefully and also the Marking Criteria and Requirements below. The data come from photos, and your task is to come up with a machine learning method for classifying the photos according to whether their content is happy or sad. The data you are given for each photo consists of 4096 features. 3584 of these were extracted from a deep Convolutional Neural Network (CNN) [1], and the remaining 512 are GIST features [2]. (You are given all these features as a 1-dimensional array, so you will not be performing any feature extraction on raw images.) There are two files of training data. The first contains 512 samples with all the data present (no missing or null values). The second contains 2048 samples, which have some missing data, as indicated by a NaN (not a number). The training data have class labels, 1 for happy, and 0 for sad. In addition, there is also a confidence label for each sample. The class labels were assigned based on decisions from 3 people viewing the photos. When they all agreed, the class label could be considered certain, and a confidence of 1 was written down. If they didn't all agree, then the classification decided on by the majority was assigned, but with a confidence of only 0.66. There is one file of test data, containing 1024 samples. You must generate predictions for the class labels of these data. (Note that, as with the second training set, the samples in the test data set contain some missing features.) Your job is to obtain the best predictions you can, and to justify your methods. You should provide reasons for which classifier or combination of classifiers you use, how you do model selection (training-validation split or cross validation), and how you handle the specific issues with these data (large number of features, missing data, the presence of confidence labels for the classes of the training data). We value creative approaches! You may make use of any classifier, such as: single-layer perceptron, multi-layer perceptron, SVM, random forest, logistic regression, etc. You are not required to code classifiers from scratch, and you can use any machine learning toolbox you like, such as scikit-learnLinks to an external site .. The data can be obtained here Download data can be obtained here. (For those of you using ColabLinks to an external site., we recommend uploading the data to your Google Drive for quick and easy access.) And here is a link to some tips for getting started Download tips for getting started. Good luck! Marking criteria and requirements Your report must contain the following sections. 1. Approach (10 marks) Present a high-level description and explanation of the the machine learning approach you have used (e.g. multi-layer perceptron, logistic regression, etc. or a combination thereof). You should cover how the method(s) work(s) and the key assumptions on which the approach depends, justifying your choices. Pay close attention to characteristics of the data set, for example: high dimensionality. 2. Methods (30 marks) Describe in detail what you did, and include references to appropriate literature. - How did you train and test your classifier(s)? - How did you do model selection? - Did you rescale the data? (See preprocessing lecture, and https://scikit-learn.org/stable/modules/preprocessing.htmlLinks to an external site.) - Did you do feature selection? You are provided with two types of features: CNN features and gist features. Are they equally important? (See the lectures and e.g. https://en.wikipedia.org/wiki/Feature_selectionLinks to an external site.) - How did you deal with missing data? Did you do something with the confidence labels? 3. Results and Discussion (30 marks) Use graphs and/or tables to illustrate the results of your model selection. For example, - Show how the choice of classifier hyper-parameters affect the performance of the classifier, using a validation set. - Show changing performance for different training sets. How useful, relatively, are the incomplete training data? How useful is it to take account of the training label confidence? In the Discussion: - If you think that there might be ways of getting better performance, then explain how. - If you feel that you could have done a better job of evaluation, then explain how. - What lessons have been learned? 4. Coding (20 marks) and Accuracy of your predictions (10 marks) Please make sure we will be able to run your code as is. High quality code with good structure and comments will be marked favourably. We will compute the accuracy of your class predictions for the test data (as percentage correct), and give you a mark out of 10 for this. Those of you with the most accurate predictions will score 10/10. Those of you with the least accurate predictions will score 5/10. If you do not submit a class predictions file in the correct format, then you score 0/10. Footnotes: [1] Extracted from the fc7 activation layer of CaffeNet http://caffe.berkeleyvision.orgLinks to an external site. [2] http://people.csail.mit.edu/torralba/courses/6.870/papers/IJCV01-Oliva-Torralba.pdfLinks to an external site.See Answer
  • Q3:For this assignment, we will use the flights dataset (the same dataset we used in assignment #1.) 1. Create a new database in Hive for this dataset. Create an external table in Hive to store the flights dataset. Create internal tables in Hive for the airline and airport data. Load the data for each of the three tables. 2. Use Hive queries to answer the following questions: a. Count the number of rows in each table. b. Display the first 10 records from each table. c. Find the total departure delay for each airline. d. Find the top 5 flights with the longest arrival delays. e. List the top 5 busiest airports by the number of departures. f. Find the total departure delay for each airline, along with the airline name. g. List the top 5 busiest airports by number of departures, along with airport names. h. Find the top 5 flights with the longest arrival delays, including airline name and destination airport name. i. Identify the airline with the most flights arriving at a specific airport. j. List the top 5 airlines with the highest total arrival delays at a specific airport (e.g., ORD). 3. Answer questions a, e, f, h, and I, from question 3 above, using map-reduce running on hadoop. Submission - Submit the SQL queries you used, and the results obtained for each task. - Submit a video demonstrating the running of the queries.See Answer
  • Q4:Instructions for Information Security Technical Controls Presentation Create a Presentation of the Technical Topic you selected: Intrusion Detection System for a fictitious generative AI company called PowerAI. Complete a minimum 5-7 slide PowerPoint presentation (not including heading or closing slides) on your topic that is targeted at senior leadership, CISO, CIO, CLO in your sector organization. If you are unable to present in class, you may create it in advance in Voice Thread or using the Power point audio and automated slide advance. Those not doing pre-recording will need to annotate the presentation with complete supporting notes in the Notes part of your PowerPoint as though one of your classmates had to present it in your absence. The final presentation should take a total of 10-12 minutes. Within the presentation include the following: Provide a description of your technical cybersecurity control. What are the component parts and how does it work? For example, what are the goals of an email attachment control? What type of attachments do they handle and what resolutions do they present when anomalies are encountered. What products are on the market for your specific email solution? You should present what the control will accomplish to further cyber security at an organization such as your sector choice. Address the specific Threats, Vulnerabilities, and Impacts on people, process, & technology that would you expect your defensive measure to reduce. How would you divide its effect [e.g. people .7, process .2, technology .1] or [people-high, process-moderate, technology-low]. Are there any prerequisites needed to be in place before you can even consider a control? E.G. for an email attachment analysis control you will need possession or control over the email server. For an organization the size of your sector selection, what is a ball park annual figure for acquiring the resources necessary to implement it? Be sure to include “hidden” costs like the time it might take away from your employee time servicing customers. Your figures do not need to be accurate, but please attempt to keep them within an order of magnitude. What are the potential social/cultural implications of implementing your control? Supplement your presentation with images, graphs, tables, etc. Do not just present word slides. Include your list of references as a final slide. Refer to the rubric below for a detail breakout of the point evaluation for this assignment. Rubric Modules 6&7 – Management & Technical Controls Modules 6&7 – Management & Technical Controls Criteria Ratings Pts This criterion is linked to a Learning OutcomeProvide a description of a cybersecurity control. What are the component parts and how does it work? 20 pts Included 10 pts Partially included 0 pts Not Included 20 pts This criterion is linked to a Learning OutcomeWhat specific Threats, Vulnerabilities, and Impacts on people, process, & technology would you expect your defensive measure to reduce? How would you divide its effect [people .7, process .2, technology .1] or [people-high, process-moderate, technology-low] 10 pts Included 5 pts Partially included 0 pts Not Included 10 pts This criterion is linked to a Learning OutcomeAre there any prerequisites needed to be in place before you can even consider a control? E.G. for online training you will need a computer network. 5 pts Included 3 pts Partially included 0 pts Not Included 5 pts For an organization the size of your sector selection, what is a ball park initial cost and annual recurring figure for acquiring the resources necessary to implement it? Be sure to include “hidden” costs like the time it might take away from your employee time servicing customers. Your figures do not need to be accurate, but please attempt to keep them within an order of magnitude. 15 pts Included 8 pts Partially included 0 pts Not Included 15 pts Where appropriate use your sector organization as an example in your presentation. 5 pts Included 3 pts Partially included 0 pts Not Included 5 pts What are the potential social/cultural implications of implementing your control? 5 pts Included 3 pts Partially included 0 pts Not Included 5 pts Annotate your presentation with supporting notes in the Notes part of your PPT as though one of your classmates had to present it in your absence. A couple of paragraphs per side is sufficient. 10 pts Included 5 pts Partially included 0 pts Not Included 10 pts Highlight with supporting visual aids - diagrams, graphs, tables. 5 pts Included 3 pts Partially included 0 pts Not Included 5 pts Provide a Minimum of 5 References. 5 pts Included 3 pts Partially included 0 pts Not Included 5 pts Quality of Graphics and Speaker's notes 20 pts Included 10 pts Partially included 0 pts Not Included 20 pts Total Points: 100See Answer
  • Q5:INSTRUCTIONS You need to overview and change the code to modify the output make it topple into 8 nbrs instead of 4, or save each toppling in a temporary array so that the animation is symmetric. Ideas for modifications: change the initialization of the sand array in fill, change the ARES, change the colors, make it topple all the way to stability in one go. A more interesting modification would be to make it topple into 8 nbrs instead of 4, or save each toppling in a temporary array so that the animation is symmetric.See Answer
  • Q6:8:58 5GE 68 ‹ Back Assignment Details Python Programming - 2024Su CS 3080 001 import all of the libraries you are going to use final a database that is useable as research IE at least 100 tuples and a reasonable conclusion use python for all of your programming also turn in a preliminary 'plan' The turn-ins are as follows: Pick a data science or statistics algorithm to determine something about a real dataset you found in the world. This can be anything from saying the average is off, like with measuring global temperatures worldwide, or classifying data to either predict a yes or no or to classify it in more categories. (naive bayes, null hypothesis test) Have a proposal, one page maximum, that covers the following: What data are you analyzing? What algorithm are you using and why? What are you hoping to learn? Where did you get the data, does it seem accurate? Next, convert the data into a .csv file if you have not already done so, turn in with code Write the python program to process your information and print out a conclusion How accurate was your algorithm by %? If you use a z- test, how close was the actual mean to the calculated one? Was it bigger, smaller, different? Write a small, once again 1 page conclusion answering Submit Assignment 4 45 000 = Dashboard Calendar To Do Notifications Inbox 8:58 5GE 68 < Back Assignment Details Python Programming - 2024Su CS 3080 001 write the py tion program to process your mformation and print out a conclusion How accurate was your algorithm by %? If you use a z- test, how close was the actual mean to the calculated one? Was it bigger, smaller, different? Write a small, once again 1 page conclusion answering the following: Was your test accurate? What could have altered the results? Did it work or do we need to run a different test or get more data? And finally, make a separate .py file and write a function that does exactly what the imported functions do IE Naive Bayes or z-test. Run the test again and in your conclusions answer the following: Were the results between the written functions and the imported functions the same? Different? Why? Why are libraries so important but also dangerous? Extrapolate this to Al, sure we can get the correct answer but who interprets the data? Who knows its right? The movement of software developers to designers is underway, how can we use what we know to manipulate the data? Submit Assignment 4 45 000 0= = Dashboard Calendar To Do Notifications InboxSee Answer
  • Q7:Managing Security Architecture with Broad Considerations Containers and container security is of increasing importance as they provide a method to isolate applications. Technologies will come and go, the ability to apply general concepts to specific technologies is critical. The “Trustworthiness Model” in NIST SP800-53r5 is clearly applicable to container environments for example. However, in viewing NIST SP800-53r5, the only control listed explicitly in regard to “containers'' is on container encryption. After reviewing NIST SP 800-190 (https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-190.pdf ) and NIST SP 800-53 rev. 5 Appendix C, (https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-53r5.pdf ) what other controls are applicable to container environments? For this part of the assignment, select 4 separate controls from 4 separate control families and detail the control implementation options when containers are used for applications. Each control and its possible implementation sets should be briefly described and may include the range of security possible for implementation as different environments may select different implementations based on risk tolerance and policy requirements. Control Description Applicability to containers Implementation options (Control Number/Name) 2. 3. 4. 1. 2. 3. 4. 1. 2. 3. 4. 1. 2. 3. 4. The principles and Key Concepts described in section 3.1 Principles Supporting Platform Resiliency of NIST SP 800-193 provide the high-level information on controls that can be measured and managed according to a security control framework. Considering the root/chain of trust (Section 3.3), describe how the controls to ensure a system is protected, recoverable, and resilient can be managed. Automation is possible and techniques are available such as using standards for the TPM measurements from the Trusted Computing Group. How do these map into NIST SP 800-53 controls? When providing the answer, combine the sets of information into a single response. Control descriptions from NIST SP 800-193 are mapped to NIST SP 800-53r5 controls and not separate responses. Type NIST 800-53 control Description of control implementation Protected Recoverable Resilient NIST’s Cyber Security Control Framework is intended for use to map between security programs of organizations and as a way to progress a security program articulating risk management practices. Describe the evolution of a security program in context of the concept of Tiers from partial to adaptive including moving toward and embracing continuous audit cycles before reaching the stage of adaptable. Response may be bulleted and should be limited to 200 words total.See Answer
  • Q8:ASSIGNMENT Dissect a new service proposed for the environment. Research and map out the protocol and information flow. Provide recommendations with associated risks to each recommendation. Multiple options should be presented to allow for business decisions to be made based on acceptable risk levels. Mitigation options should be provided where possible to improve security with each decision point. The new service is a human resources platform. The platform includes a web interface (HTTP) with a backend database. The information maintained includes not only personally identifiable information, but also HR sensitive discussions with employees. Access to this system is highly restricted as it is very important to protect the data appropriately. The specific HR representative for an employee and their management has access to specific records for that employee to assist them with any concerns. The network is segmented to enable system isolation. The architecture proposed may make use of physical segmentation as well as features provided through virtualization, micro-segmentation, access controls, and encryption. Include a detailed diagram and description of the security protection. As the interface description is simple, this should be completed on a single page. The following are the recommended material that was provided with the assignment: Frameworks NIST Cyber Security Framework. https://www.nist.gov/cyberframework NIST SP 800-53 (FISMA). https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-53r5.pdf ISO27001/2 (Limited access due to paywall). https://www.iso.org/obp/ui/#iso:std:iso-iec:27001:ed-2:v1:en The following are informative references to be used when determining control implementation options and understanding the architectural considerations and risks. NIST Platform Firmware Resiliency Guidelines. https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-193.pdf BIOS Integrity Measurement Guidelines (Draft). https://csrc.nist.gov/files/pubs/sp/800/155/ipd/docs/draft-sp800-155_dec2011.pdf NIST 800-160: Systems Security Engineering Considerations for a Multidisciplinary Approach in the Engineering of Trustworthy Secure Systems. https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-160v1.pdf NIST SP800-190 Application Container Security Guide. https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-190.pdfSee Answer
  • Q9:Assignment 4 This assignment builds upon Assignment 3. In the previous assignment you were introduced to the change management process for the Microsoft SQL database, the entire process led to additional questions being asked about reducing downtime for future changes or perhaps another way to access the data during these changes. Your supervisor comes to you and asks you to investigate and plan out using a cloud-based database service. For simplicity, your environment is using Microsoft Azure as it’s cloud platform. Your task is to come up with a plan on how you are going to plan this type of integration. Key Items to include in your plan: Which method do you prefer to deploy? A cloud hosted MS SQL server or using the Azure SQL service? Please explain your decision and provide supporting material in your decision. How will you plan out data -synchronization between the on-premise databases to the cloud-bases databases? What will be your process in the event to have the business users point to the cloud-based solution when the on-premises environment is down due to updates, or due to an outage? Please develop your answers in written format no longer than 8 pages and indicate how you are going to address the above criteria. Please also ensure you are using APA formatting for any references you are using. You should provide as much detail as possible when answering.See Answer
  • Q10:This assignment will be submitted to Turnitin™. Instructions Assignment 4: IT Environmental Deployment This assignment builds on the scenario from the previous assignments. After successfully integrating the new environment, your CTO has now asked you for a deployment plan for implementing a high-availability cluster for the entire environment. Like assignment 2, which focused on data-storage back-up and recovery, this new request is to extend the high-availability functionality to the rest of the core components. Develop a deployment plan on how you are going develop and deploy a high-availability cluster, what strategy you are going to use and what do you have to ensure that the environment maintains as close to a 99.99% uptime. The plan should be no more then 15 pages in length. A few questions that you should try and answer in your deployment plan. What type of hardware should you have in this HA cluster? Does it make sense to have a cluster stored offsite or in the cloud? Should you have a test procedure to ensure your plan is successful? Are there any constraints that need to be considered?See Answer
  • Q11:Networking and Server. LAYER 1 MAP - Difficulty Level 5 Goal: Map includes proper icons and shows all key connections with link speeds. Shows floors and MDF/IDF, switch/router in core, server(s), firewall, Internet, etc. Easy to understand and matches BOM'S. Note: - Please use Lucid Application here is the link. https://lucid.app/See Answer
  • Q12:cs281: Introduction to Computer Systems Lab06: The Arithmetic Logic Unit (ALU) 1. The purpose of this laboratory is to: · reinforce our experience in designing and implementing combinational logic circuits, · gain experience in abstraction at the hardware level and assemble larger wholes from smaller parts, and · develop expertise with Logisim. 2. This lab is to be completed individually. You will only submit a copy of your Logisim file; there is no accompa- nying lab report. You will be given a template alu. circ file so that you have a framework from which to build your ALU, and it will help ensure that the external interface (pin definitions and placement) will be consistent with that expected for our grading of your work. 3. We start with a view from outside the ALU circuit you will create. The following picture shows a Logisim main circuit that provides inputs and outputs to a circuit named ALU8. It is the ALU8 circuit that you will design and build in this project. Cout ZF SF OF A ×8 B ×8 ALU8 ×8 F Cin ×3 Op The inputs are shown on the left and bottom of the ALU8 circuit and the outputs are on the right and top of the circuit. As a matter of convention, we use pins on the left of a chip for data inputs, the bottom of the chip for control/select inputs, the right for outputs, and here we use the top of the chip for a set of single-bit outputs that comprise the condition code flags of ALU8. Note that A and B are 8-bit-wide inputs, Op is a 3-bit-wide input, and Cin is a 1-bit-wide input. F is an 8-bit-wide output, and Cout, ZF, SF, and OF are single-bit outputs. 4. The Op determines a particular operation for the combinational logic of the ALU8. So, in general, we can think of the functionality as follows: (F,Cout,ZF,SF,OF)=Op(A,B,Cin) Thus, the set of five outputs are a function, determined by Op, of the other three inputs (A, B, and Cin). 5. In the table below, we give the possible bit patterns for Op, a mneumonic for each operation, and then the com- putation specifying the F output in terms of A, B, and Cin. Since we have been working with C/C++ bitwise operations, we will borrow that notation. Op Mneumonic Semantics 000 add F = B + A + Cin 001 notadd F = B + ~A + Cin 010 and F = A & B 011 xor F=A ^B 100 shiftR F = A >> 1; F7 = Cin 101 shiftL F = A << 1; F0 = Cin 1 Note that the add and notadd also incorporate the value of Cin. Cin is also used as the bit to "fill in" for the shift right (as the most significant bit) and the shift left (as the least significant bit). The reason for this design is to allow this ALU8 to be chained together with three more ALU8 chips to build a 32-bit ALU. Note also that we do not need explicit subtraction, because we can obtain that operation by using the notadd operation and setting Cin to 1, effectively getting the "complement and adding one" semantics we need for two's complement negation. 6. The following table gives the meanings for the four single-bit condition codes. Flag Operations Description ZF all Zero Flag: If the result of the current ALU operation, F, is zero, then ZF is 1. If the result of the operation is not zero, then ZF is 0. SF all Sign Flag: Reflects the most significant bit of the result of the current ALU operation (i.e. F7). When interpreted as an 8-bit two's complement, the sign bit indicates a negative result. add Overflow Flag: This bit is asserted if the current operation caused a two's complement overflow-either positive or negative, and is deasserted otherwise. OF notadd and xor The OF flag is 0 for all four of these other operations. shiftR shiftL add Carry Flag: This bit is 1 if the addition caused a carry-out from the most Cout notadd significant bit position, so an unsigned overflow. shiftR This is the bit "shifted off" from operand A, a.k.a. A0. shiftL This is the bit "shifted off" from operand A, a.k.a. A7. and The Cout flag is 0 for both of these other operations. xor 7. Using the Logisim digital logic design and simulator package, design and implement the above-described ALU8. Start with the ALU. circ file provided on Canvas. Using this template is covered in more detail in the guidance section below. Your implementation may only use 1-bit wide elements, although you are encouraged to build sub circuits that create multi-bit devices from 1-bit wide elements. You may use the built-in multiplexors. 8. This lab will be graded based on a total of 100 points. Of these, 80 of points will come from correct operation of the ALU for all of my test cases. I will be grading for both the output F as well as all four condition codes over a variety of test inputs, so make sure these are implemented correctly per the specification given above. The other 20 points will be based on your circuit design. Some of the grading criteria for the 20 points on these design elements: . Following conventions of inputs on the left, outputs on the right, and being able to read the "flow" of the circuit from left to right. · Abstraction - appropriate use of sub circuits with appropriate pin interfaces and labels so that a problem's decomposition is reflected in the design and hierarchical use of circuits. · Neatness - appropriate "clean" routing of wires and placement of sub circuits to convey an organized and orderly design. I will use a grading circuit that is similar to but larger than the top circuit I have given you. If you move or delete any inputs in your ALU8, then your circuit will not fit in my grading circuit and you will receive a score of 0 for the assignment. It is your responsibility to read all the instructions in this entire handout and follow them carefully. You will submit your alu. circ file for grading. 2 Guidance The guidance given here should help you to order and prioritize your development of the ALU8 circuit. It would be helpful for you to open the ALU. circ file and look at the template structure provided as you read this guidance. 1. When you open the template structure, the current circuit (the one with the magnifying glass icon) should be Manual Top and the design pane should correspond to the top-level picture above. You should make NO changes to this circuit. By extension, this means that you should make no changes to the interface for the ALU8 circuit that would then result in needing to change ManualTop. 2. Notice that, in addition to Manual Top, the circuits named ALU8, Adder8, And8, and Xor8 have been created. If you double-click any of these circuits to see their contents, you will observe that the only elements in each of these are the input pins and the output pins that define the external interface of the circuit. In Logisim, the placement of the pin devices on the design page determine their order and placement when the device is used. Pins on the top (and facing down) of the design panel are on the top of the device when it is used, and the order of the pins from left to right corresponds to the order on the design page. Likewise for pins on the left, right, and bottom of the design page. For each of these already-created circuits, you must keep the top/bottom/left/right positioning of the pins as given to you, but as long as you keep them on the same "edge" and relative position, you can move them to accommodate your circuit design. 3. When you create or edit subcircuits, always do so from the menu at the top or at the left. Never "double click" on an item in the design window. If you double click on an item, you will only modify that one item and the changes will not save globally. If you want to create a new subcircuit, use the menu at the top to select "Project" -> "Add Circuit". 4. You should not add or remove any inputs to your ALU8 circuit. There are three inputs on the left. There is one input on the bottom. There is one output at the right. There are four outputs at the top. You must not add or remove any additional inputs or outputs. If you need additional "input values", then use a constant, not another input. 5. Before you can build an 8-bit wide adder to fill in the body of the Adder8 circuit, you will need to design and build a 1 bit full adder. You can use the design steps from the hardware lab to help this process, with inputs of 1-bit wide A, B, and Cin and 1-bit wide Cout and S as outputs. This should be its own circuit and you should test it well before proceeding. 6. Once the building blocks are in place, focus one at a time on the 8-bit versions of the main building blocks, and make sure a single operation to the ALU works before complicating the design and adding in other high level operations. You should use appropriate width inputs (like 8-bit) and should use splitters, available in the Logisim Wiring folder, to break out the individual single-bit wide wires from the 8-bit aggregate. 7. For some of the condition code bits, the OF in particular, you will want to use our combinational logic design strategy of determining the inputs and building a truth table for the OF output and then designing the circuit to compute the OF. 8. Keep abstraction in mind and build sub-circuits as you go. Retro-fitting sub-circuits is much less helpful in terms of cleaner/simpler circuits and design, and the possibility of leveraging a sub-circuit in multiple places. 3/nSee Answer
  • Q13:In this audio-narrated presentation, you will prepare 10 slides (including title and references) that discuss cybersecurity resilience and apply the general goals, objectives, and strategies of cyber resilience to an aviation organization. You will discuss how you believe aviation can benefit from a cyber resilience strategy. Presentation Resources You may use whichever tool you would like as long as you meet the assignment criteria. Please review the Media Hub, a multimedia resource guide (ERAU), Links to an external site. for suggested software tools and resources you can use for your course activity. Please review the detailed instructions and resources for Canvas Studio (ERAU).Links to an external site. Presentation Guidelines Your presentation should be a minimum of 10 slides for your presentation. Your presentation must have audio. Be sure to cite at least three (3) external sources for your information in current APA format. Be creative and think about how you can incorporate other visual aids to add to your presentation! Share your presentation in this forum. You may submit it in whatever format works best whether it is a file upload embedded HTML presentation a link to an external presentation, etc. Once you have shared your presentation, please view your peers' presentations. Replies are optional but encouraged. A female voice is needed and MS Power Point can be used Speaker notes not neededSee Answer
  • Q14:In March of 2023, Goldman Sachs published a report &, indicating that ~25% of the tasks in US and Europe can be automated using Al. However, as you can see in this visualization &, not all industries will be affected equally. According to the report, certain jobs, like office tasks, legal, architecture and social sciences have a potential for 30%+ automation, while positions like construction, installation and building maintenance are going to be largely unaffected. You can also see supporting evidence in the Facebook Research paper &, which highlights Moravec's paradox, the thesis that the hardest problems in Al involve sensorimotor skills, not abstract thought or reasoning, which coincide with Goldman Sachs predictions. While both of these papers are very impressive, they also heavily influenced by the recent advances in Large Language Models (LLMs). For this final project I have prepared a collection of ~200K news articles (about 900 MB) articles on our favorite topics: Data Science, Machine Learning and Artificial Intelligence, and I want you to identify what industries and job lines are going to be most impacted by the Al over the next several years, based on the information you can disseminate from this text corpus. The objective of your final project is to identify what types of tasks and jobs are most likely to see the biggest impact from Al by extracting meaningful insights from unstructured text. Your goal is to provide actionable recommendations on what can be done with Al to automate the jobs and / or improve employee productivity. Please pay attention to the introduction of novel technologies and algorithms, such as Al for image generation and Conversational Al, as they represent the entire paradigm shift in adoption of Al technologies and data science in general. You can access the data by using one of the following methods: · Download data by following this think from your browser: https://storage.googleapis.com/msca-bdp-data- open/news final_project/news final_project.parquet @> · Use Pandas from anywhere (your laptop, Colab or any cloud) df_news_final_project = pd.read_parquet('https://storage.googleapis.com/msca-bdp- data-open/news_final_project/news_final_project.parquet', engine='pyarrow') o NLP GCP 11.1 Final Project Starter.ipynb & Note: this is live data, so the layout and record counts in your dataframe will vary from the counts in the attached notebook To complete your assignment, I suggest considering the following steps: . Clean-up the noise, by eliminating newlines, tabs, remnants of web crawls, and other irrelevant text · Discard irrelevant articles · Detect major topics · Identify top candidates for Al integration - these can be related to any industry and yield positive or negative results (sentiment analysis). . Suggest why certain types of jobs are more likely to be impacted by Al o Plot a timeline to illustrate how the sentiment is changing over time . Identify new technologies and Al solutions that might be affecting the employment landscape · Plot a timeline to illustrate the introduction of some of these technologies · Demonstrate what companies, academic institutions and government entities can do to accelerate the development of these transformative capabilities · Leverage appropriate NLP techniques to identify organizations, people and locations, then apply targeted sentiment o What types of companies (based on the lines of business) are planning to invest in these technologies today or near future (success stories)? · Create appropriate visualization to summarize your recommendations (i.e. word cloud chart or bubble chart) . What types of applications cannot currently be transformed by Al, based on today's state of technology (failures)? · Create appropriate visualization to summarize your recommendations (i.e. word cloud chart or bubble chart) Additional guidance: . Clean-up or sample data if you need to shorten processing times or reduce memory usage . Default sentiment will likely be wrong from any software package and will require some tweaking · Keyword / dictionary approach o Data annotation and development of custom classifier · Building custom model on open-source data (i.e. Yelp) o Fine-tuning Transformer Pipeline · You are encouraged to explore a combination several techniques to identify key topics: · Topic modeling (i.e. LDA using gensim or ktrain) or using BERTopic · Classification (hand-label several topics on a sample and then train classifier) · Clustering (cluster topics around pre-selected keywords or word vectors) · Zero-shot (NLI) modeling . Please ensure your PowerPoint presentation (in PPTX or PDF format) is submitted to the course module as-is (not zipped). Otherwise we are unable to use Canvas SpeedGrader. The presentation should look professional - not a collection of screenshots from your analytical software o Roughly 8-12 pages is reasonable for this kind of project but there are no strict restrictions. . On your slides you will want to provide: · Executive Summary · Methodology and source data overview · Actionable recommendations · Apply text summarization algorithms where possible to synthesize your insights . Please submit your actual program codes (Jupyter notebooks) along with your PowerPoint . The slides should be self-sufficient and after reading them, there should not be any need to read the notebook (we are still asking you to provide the notebooks as a proof or work though). . The slides should clearly answer all the questions and the answers should be supported with the plots/tables/numbers produced in the notebook based on the actual data. . The slides should contain the RIGHT amount of supporting material for each question, putting too much supporting material is as bad as putting too little: too much - you would not be able to keep the audience attention and your presentation would be a mess, too little - your statements would not look convincing. 0 Everything should be clear, logical, well organized, as simple as possible. Use proper English grammar and run spell check. . All the plots should be of production quality and easily readable. Fuzzy plots, untitled plots, unreadable labels, overlapping labels are unacceptable. If you formatting somehow gets corrupted when you put your slides into Canvas (sometimes it happens), it is your responsibility to fix it. For example, try saving it in some other format like PDF, HTML. . Any statements you make should be supported by data. Only recommendations or goals of the project sections can contain elements not directly supported by the data . Please submit your actual program codes (i.e. Python Notebook) along with your PowerPoint - as a separate attachment · Your presentation should be targeted toward business audience and must not contain any code snippets · You are welcome to use any software packages of your choice to complete the assignment Grading Rubric: Rubric Points Executive Summary with meaningful insights 20 Visualize actionable recommendations 10 Article clean-up and filtering 10 Topic detection 20 Sentiment analysis (explicitly customized) 10 Sentiment over time analysis and visualization 10 Entity (organizations and people) identification 10 Targeted (entity) sentiment identification 10 Total Points 100/nInstructions for submitting the solution 1. Submit the source code file for every programming assignment like .c file, .java file. 2. If any dataset is used then you need to share all the files with solution in a single zip file. 3. Share the readme file in which you have to include the system specification, required software and the execution instructions. 4. Share the output of the programs. If it is a single program then you can submit the screenshot, if multiple files are included then please share the screen recording. Below are some steps that need to be covered in screen recording. Show the complete solution according to the instructions. Need to cover all the compilation steps. Show the complete output of program/ project. * Show all pass test cases if given in assignment. 5. Always add proper comments in code. If any specific package is used then please mention it in comment./nInstructions for submitting the solution 1. Submit the source code file for every programming assignment like .c file, .java file. 2. If any dataset is used then you need to share all the files with solution in a single zip file. 3. Share the readme file in which you have to include the system specification, required software and the execution instructions. 4. Share the output of the programs. If it is a single program then you can submit the screenshot, if multiple files are included then please share the screen recording. Below are some steps that need to be covered in screen recording. Show the complete solution according to the instructions. Need to cover all the compilation steps. Show the complete output of program/ project. * Show all pass test cases if given in assignment. 5. Always add proper comments in code. If any specific package is used then please mention it in comment.See Answer
  • Q15:DIRECTIONS Aims to evaluate the skills achieved by the students during the first part of the course- Cyber Risk Modeling and Analysis Tools. SUBMISSION The student must submit the notebook filled with the answers to the questions. He must use screenshots to support his explanation. Avoid using weak answers, and spend time explaining your answer correctly. It is compulsory to send the Bayesian Network models in the UNBBayes or GENIE format. The FCL file must be written and executable by JLogicFuzzy. Read the rubric to understand what is required to submit. Problem Statement Based on Alexandre B. Barreto, Paulo C.G. Costa, Cyber-ARGUS - A mission assurance framework, Journal of Network and Computer Applications, Volume 133, 2019, Pages 86-108, ISSN 1084-8045, https://doi.org/10.1016/j.jnca.2019.02.001. A. Inference Model The use of cyberspace as a platform for military operations has been growing at impressive rates. Yet, it is still a relatively new area with considerable research challenges. Security techniques are not sufficiently effective in protecting IT systems, and most fail to address the correlation between actions and effects across multiple domains. In other words, identifying how actions performed in the cyber domain affect the mission goals is yet an unsolved problem. It must include the previous approach: an adequate assessment of the correlation between cyber and physical behaviors performed holistically and allowing tasks to be evaluated in real-time. Existing tools and methodologies cannot provide this information level and are unsuitable to support complex cyber threat assessment in real situations. Despite the relatively large body of research on the subject, this significant gap still exists. The most common approach found in the research literature is to determine how vulnerabilities can be exploited by the enemy (e.g. (Jajodia et al., 2005; Jajodia et al., 2011; Jakobson, 2011a; Buckshaw et al., 2005)) - the threat-centric (Silva and Jacob, 2018). It usually involves the generation of an attack graph (Sheyner et al., 2002), which includes vulnerabilities and exploit strategies. The impact assessment is then calculated using evidence the analyst extracts from the environment, which in most real scenarios is impracticable due to the computational cost of solving the graphs. Another limitation is the requirement of knowing the attack path in advance, which is rarely possible since attacks against critical infrastructure always attempt to explore new attack paths and unknown vulnerabilities (i.e., zero-day attacks). A more recent approach that avoids this problem involves measuring the impact of cyber-attacks on a mission, mission-centric approach (Silva and Jacob, 2018). The idea is to define how the mission can be impacted through the analysis of the effects produced by the interactions of offensive (enemy) and defensive plans (Musman et al., 2011a) under the premise that it is easier to design one's mission and its restrictions than to know the enemy behavior. This approach is focused on effects and does not require detecting attacks or attackers but only understanding the possible effects of their actions on the mission. The mission is modeled to measure the impact, and all critical components are identified and monitored. Musman studied using this perspective (Musman et al., 2010, 2011a, 2011b; Musman and Temin, 2015). However, that body of research focuses on assessing how to leverage impact estimations to support the designing of security architectures and not on exploring and developing specific and scalable approaches based on the concept. A new approach is provided by the Cyber-ARGUS Framework, which provides a scalable way of modeling the mission from a holistic perspective, both in its planning and execution phases, establishing the connection of entities within the mission and the cyber domains, and enabling the impact assessment of cyber events to be measured within the mission context (i.e., within the operations domain). An essential contribution is that the framework allows cyber impact assessment of an ongoing mission to be achieved without the need to know the individual actions of the attacker. Figure 1 - The overall model includes a mission process model, a cyber adversary process model, a cyber defender process model from (Kott et al., 1710).The framework has a mission-centric approach, which requires the cyber and mission concepts to be defined and the connection between the two domains to be explicitly expressed. Figure 1 shows a pictorial representation of how Cyber-Argus understands the mission and its concepts. There, you can see different perspectives represented in layers. The first layer represents the mission and the required tasks to perform it successfully. The second layer represents the required services for each layer, where OT and IT systems could provide the services. Finally, the last layer is the cyber domain layer. However, this representation is relatively abstract. To be usable with a computer system, the concept of the impact graph must be adapted, as presented by Jakobson (2011b). The adapted graph (impact graph) includes all relationships between tasks, services, and nodes, resulting in a structure that makes it easier to assess the consequences generated when a node is compromised (see Figure 2). The impact graph is a type of dependency network. A dependency network approach provides a system-level analysis of the activity and topology of directed networks. The approach extracts causal topological relations between the network's nodes (when the network structure is analyzed) and provides an essential step towards inference of causal activity relations between the network nodes (when analyzing the network activity). Kenett, Dror Y., et al. "Dominating clasp of the financial sector revealed by partial correlation analysis of the stock market." PloS one 5.12 (2010): e15032. Figure 2 presents an adaptation of Jakobson's representation of the impact graph. At the top is the Intra-Mission Layer, which is compounded by a mission goal and a set of tasks required to accomplish it. In the example, you have tasks T1 and T2 that both are required to accomplish (AND gateway) successfully to accomplish the mission M1 has accomplished in a thriving state. Also, you can see in the Intra-Mission Dependency layer that tasks T3 and T4, which are required (at least one with successful performance – OR gateway) to task T2, can be performed successfully. You have the services required for each task at the Intra-Service Dependency layer. There, you can see individual services required to accomplish the tasks, complex one compound by two or more services (using OR/AND gateways); it is not represented in the Figure, but you can have a service that depends on other services. Finally, you have the last layer, the Intra-Asset Dependency or the Cyber Layer, which is compounded by the cyber-nodes and has the same topology design properties as the concepts in the other layers. Figure 2 - Impact Graph. Note that the Impact Graph represents the mission, and this step aims to assess the influence between the nodes in the graph. In other words, assess the interdependence between the various components of this mission representation. This assessment is performed using a Reasoning Model. The Reasoning Model can be implemented via four main approaches. The first involves using algebraic expressions to model the relations, a typical example being a linear regression model. There are two main issues with this approach. One is that such models require generating statistical historical data, which in most cases does not exist. Even in the few cases where it exists, its success in predicting cyber-attacks is fragile as these tend not to follow predefined patterns. The second issue is related to the need to interpret evidence by an analyst, which makes it more complicated when an arid mathematical model is used (Daniels et al., 2008). A second approach for building a Reasoning Model is the use of a black box approach, such as Neural Networks (e.g., Deep Learning). However, in addition to the pitfalls of the previous approach, there is the problem of the intrinsic nature of the mapping between the input and output of such models. That is, there is no clear way of building a narrative that explains the model’s results and, thus, no way of making the interrelationships in the graph explicit or explainable. Markov models for security risk are a third alternative, such as the one developed by Kim et al. (2007). However, using Markov processes to propagate Impact Assessment highlights the technique's weakness of its inability to represent non-monotonic dependencies. For instance, in this technique, two independent variables must be directly connected by an edge merely because some other variable depends on both (Pearl, 1986). The last alternative, used by Cyber-Argus, is Bayesian Networks (BNs). This probabilistic graphical technique represents a set of random variables and their joint probability distribution via a Directed Acyclic Graph (DAG) (Russell and Norvig, 2009). BNs are cognitively meaningful and directly interpretable. Unlike traditional rule-based systems, BNs employ a coherent calculus to manage the uncertainty and absorb evidence as it accrues (cf. (Daniels et al., 2008)). In contrast to other classical statistic approaches, BNs provide backward inference (i.e., allowing for what-if analyses). Fenton lists some of the advantages of BNs, such as a) explicitly model causal factors; b) provide reasoning from effect to cause and vice-versa; c) reduce the burden of parameter acquisition; d) overturn previous belief in light of new evidence; e) make predictions with incomplete data; f) combine diverse types of evidence including both subjective beliefs and objective data and arrive at decisions based on visible, auditable reasoning (Fenton and Neil, 2013). Given that Cyber-Argus's main idea is to interpret how events in the cybernetic layer influence the performance of elements at the mission level and vice versa, it is required to represent the cyber node's health. In other words, it is the ability to provide the required resources and services within a certain level of quantity, quality, effectiveness, and cost. At Cyber-Argus, the node health is measured by the Infrastructure Capacity (IC). Unlike the reference paper, in this Exam, we will simplify the reasoning model, making it more straightforward than the one used in the paper. In the approach used in this activity, the IC is calculated by a fuzzy inference box. Using fuzzy sets in cybersecurity has several advantages, particularly in dealing with uncertainty, imprecision, and complexity in risk assessment and decision-making processes. In the particular case of cyber nodes, making some inferences useful for the other layers is challenging. Fuzzy sets are excellent for modeling uncertain and imprecise data, often expressed in natural language terms like "high risk," "moderate impact," or "low likelihood." Also, Fuzzy logic can handle incomplete and noisy data more gracefully than other methods. It does not rely heavily on complete datasets, which are often difficult to obtain in cybersecurity. We use the Fuzzy Inference engine presented in Figure 3 to calculate the IC. There, you can see that you calculate IC based on five inputs collected from cyber sensors and, based on a set of rules, infer the node resilience, which will be used to infer the reliability of the following layers. Figure 3 - IC Calculation. Each input variable has its membership representation in Table 1, where it is presented the functions that transform the crips value from the sensor measurements to a fuzzy value. Variable Membership Function Threat Exploitation (likelihood) Likely Triangular (a=10, b=8, c=6) Possible Gaussian (c = 5, s=2, m=2) Unlikely Triangular (a=5, b=7, c=0) Failure Logins Attempt (#number) Low Triangular (a=0, b=30, c=50) Medium Trapezoidal (a=20, b=30, c=50, d=300) High Triangular (a=200, b=400, c=1000) CPU Load (%) Low Triangular (a=0, b=20, c=30) Medium Trapezoidal (a=20, b=30, c=40, d=60) High Triangular (a=50, b=70, c=100) Memory Load (%) Low Triangular (a=0, b=20, c=30) Medium Trapezoidal (a=20, b=30, c=40, d=60) High Triangular (a=50, b=70, c=100) Interface IN/OUT (%) Low Triangular (a=0, b=20, c=30) Medium Trapezoidal (a=20, b=30, c=40, d=60) High Triangular (a=50, b=70, c=100) Finally, you have the target variable described in Table 2. Node Resilience (Boolean) Reliable Gaussian (c = 5, s=2, m=2) No-reliable Gaussian (c = 7, s=2, m=2) The model is based on these rules to support the inference of node resilience. The first one is that node resilience is no-reliable when all of its inputs are high, and the threat of exploitation is likely. The second rule is that when the threat exploitation is possible, or the other variables are high, the node resilience is no-reliable. The node resilience is reliable when the threat exploitation is unlikely and the Failure Logins Attempt is low. When one of the CPU, memory, and IO interfaces load is low, the node resilience is reliable. Finally, the inference model uses a center-of-gravity approach, and the aggregation is a MAX function. After you calculate the IC and check whether it is reliable, you must propagate this information to the other layers, allowing you to infer whether the mission is reliable (achievable) or not. To perform this task, we use a Bayesian Network that must implement the dependencies described in Jacobson’s impact graph (see Figure 2). To restrict complexity, all BN nodes are binary, and they can have two possible states: reliable and non-reliable. We will use only simple connections (one parent) or Noisy-OR connections (several parents) to implement the required dependencies. Using Noisy-OR, we assume that each parent influences the target node as a conditional independence assumption. B. Study Case Greenfield City operates a large municipal water treatment plant (WTP) that provides clean drinking water to approximately 500,000 residents. The WTP uses an automated control system, Supervisory Control and Data Acquisition (SCADA), to monitor and control water purification and distribution processes. This system includes sensors, programmable logic controllers (PLCs), and human-machine interfaces (HMIs). Figure 4 contains a simplistic version of this service's topology. The cyber layer is provided for two different devices: smart pumps and valves. The intelligent pumps push water from the river and insert it into the water purification system. The valves regulate the flow of purification water to the city. Both components are IoT devices that process capacity and you use this end device to measure the cyber environment. The next layer, the intra-service layer, contains the required services to support the two main tasks of the water system: water purification and water flow distribution. Figure 4 - Greenfield City Service. You know that the Coagulation service is reliable 80% of the time when pump1 or pump2 is reliable. The Sedimentation Service is reliable at 70%, while the Coagulation Service is reliable. The filtration service is reliable 90% of the time, while the sedimentation service is reliable. The disinfection service is 70% reliable when the filtration service is reliable. Finally, the purification system is reliable 85% of the time when the disinfection service is reliable. When one of these services or the pumps is unreliable, the system moves to an unreliable state. In the other process, you know that flow regulation is reliable 98% of the time, where one of the valves is reliable. The water flow distribution is reliable 75% of the time when the flow regulation is reliable. They have the same behavior as the previous process: unreliable when one component is unreliable. The Greenfield City Service is reliable 60% of the time when purification and water flow distribution are reliable, 45% when only one of the processes is reliable, and not reliable when both are not reliable. C. Exam Tasks Task 1. Create an FCL file that implements the node fuzzy inference engine used to infer the IC value from the cyber nodes. Task 1 – 30 points FCL file The file was submitted. 1.0 Rules The rules are implemented correctly (no errors). 5.0 Membership Functions The membership functions were corrected and implemented (4 points for variable). Max 24 points Task 2. Create a Bayesian Network that implements the topology proposed to the Greenfield City Service. The BN must implement triggers when you have OR gateways. Task 2 – 42 points BN file The file was submitted. 1.0 BN Topology The topology is completed and correct. 5.0 CPT elicitations The CPTs are corrected based on the information provided in the document. 2 points for each CPT. Max 16 points Noisy-OR design The noisy-OR trigger is correctly applied, and the correspondent CPTs are corrected. 20 points Task 3—The system monitors the states of pump1, pump2, valv1, and valv2. Based on the following information, answer: What is the membership of each cyber node (pump1, pump2, valv1, and valv2) – uses linguistic variables. For example, pump1 is a very likely threat exploited, almost possibly exploited; it is a very high CPU load, etc. What is the final state of Greenfield City Service? Observation: You must use JFuzzyLogic to infer the values of the Fuzzy engine process and UNBBAYES or Gennie to the BN. You must explain the results. Pump1 Threat_exploitation (7), CPU_load(80%), Memory Load (90%), IN/OUT Load(80%), FailureLoginsAttempt(100) Pump2 Threat_exploitation (4), CPU_load(20%), Memory Load (10%), IN/OUT Load(30%), FailureLoginsAttempt(5) Valv1 Threat_exploitation (8), CPU_load(98%), Memory Load (89%), IN/OUT Load(90%), FailureLoginsAttempt(200) Valv2 Threat_exploitation (4), CPU_load(100%), Memory Load (10%), IN/OUT Load(30%), FailureLoginsAttempt(800) Task 3 – 28 points Fuzzification Process Students demonstrate (using screenshots) to demonstrate the result calculation from the tools, and he explains the results using linguistic variables. 5.0 Defuzzification Process Students demonstrate (using screenshots) to demonstrate the result calculation from the tools, and he explains the results using linguistic variables. 5.0 BN propagation Students demonstrate the execution of BN (using screenshots). 7.0 BN result explanation Students explain the result of the BN propagation, the input node (cyber), and the final result at the target node (mission). 8.0 BN result The result is correct. 3.0See Answer
  • Q16:3-1 Discussion: Object-oriented Programming Principles This week, you have learned about various object-oriented programming principles and their importance in programming. In this discussion, you will spend time discussing these principles with your peers. You will also reflect on what you have learned in the first few modules of the course. In your initial post for this discussion, address the following: How do the four main OOP principles (inheritance, encapsulation, abstraction, and polymorphism) work together to make a well-designed application? How do they allow a programmer to create more reusable and maintainable code? What was the most interesting thing that you learned in the course so far? What concept(s) do you feel are unclear or that you need more practice applying? In responding to your classmates, address the following: What did you learn from your classmate's post? Do you have any additional information on any of the principles for your classmate to consider? What did you find interesting or relatable in your peers' posts? Undergraduate Discussion Rubric Overview Your active participation in the discussions is essential to your overall success this term. Discussion questions will help you make meaningful connections between the course content and the larger concepts of the course. These discussions give you a chance to express your own thoughts, ask questions, and gain insight from your peers and instructor. Directions For each discussion, you must create one initial post and follow up with at least two response posts. For your initial post, do the following: Write a post of 1 to 2 paragraphs. In Module One, complete your initial post by Thursday at 11:59 p.m. Eastern. In Modules Two through Eight, complete your initial post by Thursday at 11:59 p.m. of your local time zone. Consider content from other parts of the course where appropriate. Use proper citation methods for your discipline when referencing scholarly or popular sources. For your response posts, do the following: Reply to at least two classmates outside of your own initial post thread. In Module One, complete your two response posts by Sunday at 11:59 p.m. Eastern. In Modules Two through Eight, complete your two response posts by Sunday at 11:59 p.m. of your local time zone. Demonstrate more depth and thought than saying things like “I agree” or “You are wrong.” Guidance is provided for you in the discussion prompt. Discussion Rubric Criteria Exemplary Proficient Needs Improvement Not Evident Value Comprehension Develops an initial post with an organized, clear point of view or idea using rich and significant detail (100%) Develops an initial post with a point of view or idea using adequate organization and detail (85%) Develops an initial post with a point of view or idea but with some gaps in organization and detail (55%) Does not develop an initial post with an organized point of view or idea (0%) 40 Timeliness N/A Submits initial post on time (100%) Submits initial post one day late (55%) Submits initial post two or more days late (0%) 10 Engagement Provides relevant and meaningful response posts with clarifying explanation and detail (100%) Provides relevant response posts with some explanation and detail (85%) Provides somewhat relevant response posts with some explanation and detail (55%) Provides response posts that are generic with little explanation or detail (0%) 30 Writing (Mechanics) Writes posts that are easily understood, clear, and concise using proper citation methods where applicable with no errors in citations (100%) Writes posts that are easily understood using proper citation methods where applicable with few errors in citations (85%) Writes posts that are understandable using proper citation methods where applicable with a number of errors in citations (55%) Writes posts that others are not able to understand and does not use proper citation methods where applicable (0%) 20 Total: 100% Response one Object-oriented Programming Principles Dylan Bayless Hello class! The 4 pillars of OOP principles are inheritance, encapsulation, abstraction and polymorphism. Combining these 4 pillars makes designing a program much cleaner and easier. Rather than copying the same function over and over again in your program OOP does all of this with the same core function. Inheritance- This allows a class to be multiple classes or separate classes from previous classes. Encapsulation-Is used to hide information from people and programmers. This is used to make things simpler for programmers. This way a programmer needs to understand the qualities of an object, rather than how it works. Encapsulation is also used to keep certain code safe from other users/programmers. Abstraction is used to create classes and subclasses by finding certain principles of objects. They can create or use these objects to classify them into certain categories. Polymorphism- allows classes that can make a previous class to use things differently. OOP makes things easier, simpler, and cleaner for programmers and users. The most interesting thing I’ve learned in this course is how differently people can use java. There are so many ways to use java. It's amazing how you can find 10 different ways to finish the same way. Response 2 3-1 Discussion: Object-oriented Programming Principles Corey Agnew The four main OOP principles work together in different ways to create a well-designed application. Encapsulation does its part in a well-designed application by allowing the programmer to self-contain variables and then only allowing the alteration of them through publicly defined methods, which allows data to be more controllably accessed and modified. Abstraction is important because it tries to hide everything internal that does not concern the user and leaves only what is necessary to make it less complex. Inheritance allows the object to pull from different classes and use the information to reduce redundant code and allow for more organized code. Polymorphism lets code be called in such a way that enables flexibility and modification. All four of these principles combine to allow code that is readable, organized, and flexible. The most interesting thing we learned so far is the methods, differences, and similarities from the Python counterpart have been the most interesting to try and distinguish between as they are major parts of both languages. Taking that Python class has also led me to the biggest problem with Java, the differences in syntax as I sometimes try to merge the two languages. I am sure this problem will go away with time but at the current moment, it is my biggest downfall while going through the problems. Reply to Thread My Initial post View profile card for richard Wyckoff 3-1 initial popst discusionn richard Wyckoff posted Jul 17, 2024 3:43 PM Subscribed This page automatically marks posts as read as you scroll. Adjust automatic marking as read setting Hello class! The four pillars of OOP—inheritance, encapsulation, abstraction, and polymorphism—when beautifully put together, create robust, maintainable applications. Inheritance enables the implementation of hierarchical relationships between classes where the child classes inherit properties and behaviors from the parent classes. This reduces code duplication and increases code reusability (javatpoint, 2011). Now, let's consider we need to handle some other kind of pet, for example, cats: This is realized because of inheritance. We can define a class: CatDetails, which inherits all the features from another class, DogDetails — both class attributes such as name, age, weight, and so on, and class methods such as getName, getAge, etc. The attributes that need to be defined in CatDetails are the attributes of cats: the type of fur, the pitch of meows, and so on. This avoids us from rewriting code again, meaning reusability. In a boarding facility application, a base PetDetails class could be the parent for the DogDetails and CatDetails, inheriting common functionalities. Encapsulation involves putting data (attributes) and functions (methods) manipulating that data together in one block (class) (javatpoint, 2011). In DogDetails, for instance, you'd expect attributes such as name to be private with no direct access. The public methods are gatekeepers like getName, which gives controlled access so that people can retrieve the data. This data protection feature guarantees that only the intended and authorized users are able to change this data to prevent unintended consequences—for example, trying to set a dog's age to a negative value by mistake. Encapsulation prevents this kind of mistake by controlling the way data is manipulated. Abstraction enables the exposition of only vital functionalities of an object to allow it to hide the implementation details. This simplifies code for users of the class with loose coupling, which means that changes in one part of the code have minimal effects on the others. Abstraction is revealing the necessary functionalities to the outside world while hiding the implementation details (javatpoint, 2011). The class DogDetails is an example, since it has such functions as getName and getAge that return information about the dog. The user needing to read and modify data does not need to know how these functions are implemented internally. This makes the code easier to use and has the added advantage of loose coupling; changes to the inside of DogDetails, for instance, the way getName obtains the name, do not change the parts of the program using getName to obtain a dog's name. Polymorphism allows a similar behavior in different objects with a similar interface, even though those objects differ in implementation. This flexibility makes the code more adaptable and easier to extend (javatpoint, 2011). For example, we have a Boarding class that has a member method checkIn. That member method could be multi-typed as one boarding location might fulfill different pet types. Now, using polymorphism, we could have one checkIn method but have it implemented differently based on the passed arguments-in pet object—for example, calling different methods if it was for dog boarding or for cat boarding. This can help you write your code in a way that is flexible and changeable. For instance, consider somehow expanding a check-in so that it can be checked in for another pet type, let's say rabbits. There wouldn't be a change in the main check-in logic, but just more specific information handled in the Rabbit subclass, e.g., RabbitDetails. The most fascinating concept ever learned so far is inheritance. It feels like using the power of the previously written code in building new functionality. We can make classes that would specialize in some certain functionality by inheritance of attributes and methods. Ends up saving development time but also leads to consistency in the code. I am, however, grappling a bit with the nuances of access modifiers in encapsulation—public, private, and protected. I understand what they do to protect data, but implementing these effectively in a well-encapsulated class while ensuring the right kind of access is a place where I feel that I need more practice. Also, while I understand polymorphism in theory, I would like to go through practical examples that will help cement how this is implemented in different programming languages. To conclude, Inheritance in Java allows for code reuse, reducing the need to duplicate data protection logic across similar classes. Encapsulation promotes modularity, hiding implementation details within well-defined modules. Abstraction simplifies code for users by focusing on interfaces rather than specific class implementations. Polymorphism allows for flexible interactions between objects, complementing inheritance by enabling specialized behavior in child classes. By leveraging these principles, a system with well-defined, reusable components and clear interfaces is created, making the code easier to understand, maintain, and extend as the application grows (javatpoint, 2011). For example, a Vaccinate method in DogDetails might handle different protocols than a Vaccinate method in a CatDetails class. I look forward to discussing these principles further with my peers and really knowing how they all work together to create elegant, maintainable object-oriented applications. References javatpoint. (2011). Java OOPs Concepts - Javatpoint. Www.javatpoint.com. https://www.javatpoint.com/java-oops-conceptsSee Answer
  • Q17:Trier University Department IV - Computer Sciences Assignment 5 of the course Big Data Analytics Summer semester 2024 Task 1: Joins 25(+20) points In this task, we are going to work again with the data and parser known from the previous assignment (alex165k. xml and MRDPUtils. java). Additionally, the file titles1m. xml pro- vided in Moodle will act as a secondary data source. It contains the "publication year" and "title" of many publications, identified by their arXiv-IDs and OpenAlex-IDs as unique keys. titles1m. xml was created from the full OpenAlex dataset and contains only entries matching keys used in alex165k. xml. (a) Write a MapReduce application that uses a reduce-side join in order to match in- formation about publications based on their arXiv-ID. Use alex165k.paper_id == titles1m. arxiv_id for the join. We are especially interested in combining authors, discipline, year and title for each publication. Hints: . Always look at the contents of the input files to get a first impression of how the data is structured and how to process it. . Since the two XML files store data in different fields, it is a good idea to use two distinct Mapper classes for the two input files. Refer to chapter 3-2, slide 19 for an example of MultipleInputs. Use Text InputFormat. class as argument for the input format class. . In the mapper class processing alex165k. xml, emit paper_id as key and use a suitable format to transfer the contents of authors and discipline as value. Some author names include a semicolon, so a different field separator is advisable. . In the mapper class processing titles1m. xml, emit arxiv_id as key and use a suitable format to transfer the contents of year and title as value. Since titles may contain almost any character, it is advisable to emit the year at first. . In the reducer class, you have to join the values emitted by both mappers for each ar Xiv-ID. If a join partner is found, emit the arXiv-ID as key and the title of the publication as value. Emit nothing if no join partner is found. Hand in your code and the output of your program for the given input files. To reduce the file size, include only output for publications from the year 2020 in the discipline Physics who have at least one author with the last name Smith. This should yield 8 results. (b) (This is an optional task) Write a MapReduce application that uses reduce-side joins to calculate the average "year of publication" for works listed in a publication's list of references. alex165k. xml contains a list of cited OpenAlex-IDs in its referenced attribute and titles1m. xml contains the "year of publication" in its year attribute. Hints: · Calculating the results in a single run of your application requires a two-step join: The output of the first MapReduce job has to be used as input for a second MapReduce job. Two distinct sets of mappers and reducers are needed. Use the first job's output directory as the second job's input directory; there is no need to link to a specific file by name. . In the first MapReduce job, emit the referenced Open Alex-IDs from alex165k. xml as key in the mapper and the associated ar Xiv-IDs as value. Have a second mapper emit the "year of publication" from titles1m. xml for each OpenAlex-ID and join the entries in the reducer. Ignore values without a join partner. Emit an intermediate result containing at least the arXiv-ID and the year. . In the second MapReduce job, process the intermediate result in the mapper and emit the ar Xiv-ID as key and the year as value. Then aggregate the years in the reducer and emit the average year as value for each ar Xiv-ID. . Use suitable Writable classes to load and emit your data, for example, Text, IntWritable, DoubleWritable or NullWritable. Hand in your code and the output of your program for the given input files. Include only output for publications where the arXiv-ID starts with 1608.04 to reduce the file size. Do not hand in your intermediate results. Task 2: n-grams 20 points Write a MapReduce application that computes all character-level n-grams (with 10 ≤ n ≤ 15) that appear at least 5,000 times in the input text, using the naive approach discussed in the lecture. Represent an n-gram in a reasonable way. Split up a line into its characters, after removing punctuation and converting the text to lowercase, and generate n-grams from these characters. Hand in your code and the output of the reducer when run on the input file corpus. txt which is available in Moodle (as a compressed file); this should yield 13 results. General remarks: . The tutorial group takes place on Mondays at 14:25 in F55 on a (roughly) bi-weekly basis. . The first meeting of the tutorial group was on May 27, 2024. · To be admitted to the final exam, you need to acquire at least 50% of the points in the assi- gnments. · It is required to submit in groups of size 3; only one submission is sufficient for the whole group. Groups must be chosen in Moodle (see link on the course page in Moodle). Write the names of all group members on your solutions. Students without a group cannot submit. . Solutions must be handed in before the deadline in Moodle (https://moodle.uni-trier.de/, course BDA-24) as as a PDF or, if submitting multiple files, as an archive (.zip or comparable). Submissions that arrive after the deadline will not be considered. · Graded versions of your submissions will be returned in Moodle until the following tutorial. · Announcements regarding the lecture and the tutorial group will be done in the area of the lecture in StudIP.See Answer
  • Q18:COIS 2240H - Software Design & Modelling Assignment 3 - Class Diagram, Sequence Diagrams, Java Code and Unit Testing Total points: 100 Note. The assignment should be attempted through individual efforts, and any concerns related to academic integrity will be handled in accordance with the university's guidelines. Objectives: · Understand the major concepts of Object Oriented Systems, modelling the Class Diagrams, Sequence Diagrams, implementation in Java and Unit Testing using Junit in Java. Question 1 (30 points) Java Programing: Study the code well and then implement the required classes below. You can complete your implementation within this code as directed. The requirements are shown below the code (a & b). import java.util.Date; public class InternetCharge implements Cloneable { double bandwith; boolean isLimited; double monthlyRate; Date startDate; public InternetCharge(double bandwith, boolean limited, double monthlyRate, Date startDate) { this.bandwith = bandwith; this.isLimited = limited; this.monthlyRate = monthlyRate; Fall 2023 COIS 2240H - Software Design & Modelling Assignment 3 - Class Diagram, Sequence Diagrams, Java Code and Unit Testing Total points: 100 this.startDate = startDate; } public void setMonthlyRate(int rate) throws Exception { if (rate < 0) throw new Exception("Rate cannot be negative"); if (isLimited) { this.monthlyRate = rate * 1; } else if (!isLimited) { this.monthlyRate = rate * 1.5; } } public double getMonthlyCharge() { return monthlyRate * bandwith * 0.5; } @Override public Object clone() { // Write your code here } } Fall 2023 COIS 2240H - Software Design & Modelling Assignment 3 - Class Diagram, Sequence Diagrams, Java Code and Unit Testing Total points: 100 a) The method clone is provided in the Object class. Override the method clone to perform deep copy for InternetCharge. b) Write two test methods for InternetCharge. The first test method is to test whether the getMonthlyCharge operation is correct. The second test method is to test whether an exception is thrown by the setMonthlyRate method. Questions 2 (30 points) Modelling & coding: Class Diagram a) Draw a class diagram that models the following: Animals can eat and move. Birds are animals that can fly. Chicken, Eagle, Cow, Rabbit, and Tiger are animals. Chicken and Eagle are birds. Chicken and Cow are edible. You can not create an object of Animal or Bird. Peas and Carrot are Plants. Plants are edible. Tigers eat any Animal, Chicken eat Peas, Cows eat any plant, Rabbits eat Carrot, and Eagle eat any Animal. Make sure to include methods that model behaviours in each class. If something can be modelled using association, the preference should be given to using association. b) Write a Java program that include classes and interfaces for the above scenario. Each concrete class should override the toString() method to print the name of the animal or plant. Edible animals should have a method that returns string called howToEat(). For edible animals, howToEat() should return "roast it" and for plants, this method should return "eat as you wish". In addition, you have to write a main method in a separate class. In the main method, you have create an object for each animal or plant, and call toString on it. For edibles, you have to print the string returned from howToEat(). Fall 2023 COIS 2240H - Software Design & Modelling Assignment 3 - Class Diagram, Sequence Diagrams, Java Code and Unit Testing Total points: 100 Questions 3 (10 points) Modelling: Sequence Diagram A passenger wants to book a flight. First, she checks if the flight has an available seat, if yes, a booking object is created and the passenger is added to the booking object. If the flight doesn't have available seats, it will create a waitlist object and will add the passenger to the object. Draw a sequence diagram that illustrates this scenario. Question 4 (30 points) Software Unit testing using Junit Utilize the provided "Book" class, to generate test cases for conducting unit testing using JUnit. The "Book" class is provided below and some of the JUnit code has been supplied under the "Book" Class code along with clarification for the missing code necessary for executing the test cases. The following test cases are needed: Test Case - Title and Author: · Write a test case to ensure that the title and author attributes of a Book object are correctly set and retrieved. Test Case - Pages: · Write a test case to verify that the pages attribute of a Book object is correctly set and retrieved. Test Case - Published Year: · Implement a test case to check if the publishedYear attribute of a Book object is correctly set and retrieved. Fall 2023 COIS 2240H - Software Design & Modelling Assignment 3 - Class Diagram, Sequence Diagrams, Java Code and Unit Testing Total points: 100 Test Case - isClassic Method: · Write a test case to confirm that the isClassic method of the Book class correctly identifies classic books published before the year 2000. Edge Case Test: · Create a test case to handle an edge case, such as a book with zero pages or a book published in the year 2000. package junitTest; public class Book { private String title; private String author; private int pages; private int publishedYear; public Book(String title, String author, int pages, int publishedYear) { this.title = title; this.author = author; this.pages = pages; this.publishedYear = publishedYear; } public String getTitle() { return title; } public String getAuthor() { return author; } Fall 2023 COIS 2240H - Software Design & Modelling Assignment 3 - Class Diagram, Sequence Diagrams, Java Code and Unit Testing Total points: 100 public int getPages() { return pages; } public int getPublishedYear() { return publishedYear; } public boolean isClassic() { return publishedYear < 2000; } } The Junit test code: package junitTest; import static org.junit.jupiter.api.Assertions .*; import org.junit.jupiter.api.Test; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; public class BookTest { @Test Fall 2023 COIS 2240H - Software Design & Modelling Assignment 3 - Class Diagram, Sequence Diagrams, Java Code and Unit Testing Total points: 100 public void testTitleAndAuthor() { // Write code here to create a test case to ensure that the title and author //attributes of a 'Book' object are correctly set and retrieved. //Example of parameters that can be used: ("Java Programming", "John //Doe", 300, 2010) } @Test public void testPages() { // Write code here to create a test case to ensure that that the pages //attribute of a 'Book' object is correctly set and retrieved. //Example of parameters that can be used: ("Data Structures", //"Jane //Smith", 500, 1998) } @Test public void testPublishedYear() { // Write code here to create a test case to check if the publishedYear //attribute of a 'Book' object is correctly set and retrieved. //Examples of parameters that can be used: ("Algorithms", "Alan Turing", //400, 1940); } @Test public void testIsClassic() { // Write code here to create a test case to confirm that the isClassic method //of the Book class correctly identifies classic books published before the //year 2000. //Examples of parameters that can be sued: ("Classic Novel", "Classic //Author", 200, 1950) Fall 2023 COIS 2240H - Software Design & Modelling Assignment 3 - Class Diagram, Sequence Diagrams, Java Code and Unit Testing Total points: 100 @Test } public void testEdgeCase() { // Write code here to create a test case to handle an edge case, such as a //book with zero pages or a book published in the year 2000. //Example of parameters that can be used: ("Edge Case", "Edge Author", 0, //2000) } } Fall 2023 COIS 2240H - Software Design & Modelling Assignment 3 - Class Diagram, Sequence Diagrams, Java Code and Unit Testing Total points: 100 Deliverables: (Zipped submissions will NOT be graded). Question 1. · The Java program source code (You must submit the program regardless whether it complete, correct of incorrect). · Screenshot of the output Question 2. · Screenshot of the Class Diagram · The java programing source code for the Class Diagram · Screenshot of the output of the Java Code Question 3. · Screenshot of the Sequence Diagram Question 4. · The completed Java source Code . Screenshot of the Unit Testing output. The output should show the test cases using Junit passed the test. See screenshot below: Runs: 5/5 @ Errors 0 Il Failures 0 v h- BookTest (Runner: JUnit 5] (0.022 s) testedgeCase0 (0.12 s) del testTicieAndAuthorO) (0,001 ) nil testPublishedYear0 (0.001 s) testisClassic() (0.001 s) Fall 2023/nCOIS 2240H - Software Design & Modelling Assignment 2- Sate, Activity Diagrams & Java programming Total points: 100 Note. The assignment should be attempted through individual efforts, and any concerns related to academic integrity will be handled in accordance with the university's guidelines. Objectives: · Understand the major concepts of Object Oriented Systems, and modelling the State Diagrams, Activity Diagrams and implementation in Java programming language Question 1 (36 points) Java Programing: In the code provided below, you will find the class GeometricObject and Triangle. Study the code well and then implement the required classes below. You can complete your implementation within this code as directed. The requirements are shown below the code (1-5). public abstract class GeometricObject { private String color = "white"; private boolean filled; private java.util.Date dateCreated; /* Construct a default geometric object */ protected GeometricObject() { dateCreated = new java.util.Date(); } /* Construct a geometric object with color and filled value */ protected GeometricObject(String color, boolean filled) { dateCreated = new java.util.Date(); this.color = color; this.filled = filled; Fall 2023 COIS 2240H - Software Design & Modelling Assignment 2- Sate, Activity Diagrams & Java programming Total points: 100 / ** Return color */ } public String getColor() { return color; } / ** Set a new color */ public void setColor(String color) { this.color = color; } / ** Return filled. Since filled is boolean, * the get method is named isFilled */ public boolean isFilled() { return filled; } / ** Set a new filled */ public void setFilled(boolean filled) { this.filled = filled; } / ** Get dateCreated */ public java.util.Date getDateCreated() { return dateCreated; } @Override public String toString() { return "created on " + dateCreated + "\ncolor: " + color + " and filled: " + filled; } / ** Abstract method getArea */ public abstract double getArea(); / ** Abstract method getPerimeter */ Fall 2023 COIS 2240H - Software Design & Modelling Assignment 2- Sate, Activity Diagrams & Java programming Total points: 100 public abstract double getPerimeter(); } class Triangle extends GeometricObject { private double side1 = 1.0, side2 = 1.0, side3 = 1.0; / ** Constructor */ public Triangle() { } / ** Constructor */ public Triangle(double side1, double side2, double side3) { this.side1 = side1; this.side2 = side2; this.side3 = side3; } /* Override method findArea in GeometricObject */ public double getArea() { double s = (side1 + side2 + side3) / 2; return Math.sqrt(s * (s - side1) * (s - side2) * (s - side3)); } / ** Override method findPerimeter in GeometricObject */ public double getPerimeter() { return side1 + side2 + side3; } / ** Override the toString method */ public String toString() { // Implement it to return the three sides return "Triangle: side1 = " + side1 + " side2 =" + side2 + " side3 = " + side3; } } Fall 2023 COIS 2240H - Software Design & Modelling Assignment 2- Sate, Activity Diagrams & Java programming Total points: 100 class Test { public static void main(String[] args) { GeometricObject gObjectArray [] = new GeometricObject [4]; //Complete your code here } private static void printAreaAndPerimeter(GeometricObject gObject) { //Complete your code here } } 1. Implement the classes Circle, EquilateralTriangle, Rectangle, and Square. 2. Implement the method printAreaAndPerimeter in the Test class that prints the area and the perimeter of the passed GeometricObject. 3. In the Test class, create an array of GeometricObject of size 5. The first element should be assigned to a Circle object: new Circle(4,4,4). The second element should be assigned to an EquilateralTriangle object: new EquilateralTriangle(3). The third element should be assigned to a Triangle object: new Triangle(3,3,3). The fourth element should be assigned to a Rectangle object: new Rectangle(2,2). The fifth element should be assigned to a Square object: new Square(10). 4. Pass each element in the array to printAreaAndPerimeter. Fall 2023 COIS 2240H - Software Design & Modelling Assignment 2- Sate, Activity Diagrams & Java programming Total points: 100 5. Compile, Run, and take a screenshot of the output and submit to Blackboard (you must submit the program regardless whether it complete or incomplete, correct or incorrect) Questions 2 (32 points) Modelling: State Diagram Draw a state diagram that models a BankAccount object: a bank account can either have enough cash or be out of cash. If the account is out of cash, it will allow for money to deposited. If the account has enough cash, it will allow for money to be deposited and withdrawn. The account is out of cash if the amount in the account is below a predetermined minimum. Questions 3 (32 points) Modelling: Activity Diagram In an online purchasing system, the buyer requests to buy an item. In parallel, the system looks up whether the item exists in the store and verifies if the buyer has an account with the system. If the buyer does not have an account, the system will ask for registration info from the buyer to open an account. If the buyer does not provide registration info, the system exits. If the item does not exist in the store, the system exits. If the item exists, the system will check if the item price is less than or equal to buyer's account balance. If the buyer has enough money in the account to purchase the item, the system completes the purchase order successfully. If the buyer does not have enough money, the system exits. Fall 2023 COIS 2240H - Software Design & Modelling Assignment 2- Sate, Activity Diagrams & Java programming Total points: 100 Deliverables: 1. "pdf" file containing Screenshots of the output for your Java program (Q1). 2. The Java program source code (Q1) (You must submit the program regardless whether it complete, correct of incorrect). 3. Screenshots of the State Diagrams and Activity Diagrams ( Q2 & Q3). Note: Do not Zip your submissions. Zipped submissions will NOT be graded. Note. 10% will be deducted for every business day for late submission. Fall 2023See Answer

Best Computer Science Homework Help: Reviews and Recommendations

Tutorbin has got more than 3k positive ratings from our users around the world. Some of the students and teachers were greatly helped by TutorBin.

"After using their service, I decided to return whenever I needed their assistance. They never disappoint and craft the perfect homework with extensive research. Their computer science assignment help will surely boost your performance, helping you outperform your peers."

Olivia

"Ever since I started using this service, my life became easy. Now I have plenty of time to immerse myself in more important tasks viz., preparing for exams. TutorBin went above and beyond my expectations. They provide excellent quality tasks within deadlines. My grades improved exponentially after seeking their assistance."

Gloria

"They are amazing. I sought their help with my computer science homework service, and the answers they provided were unique and devoid of plagiarism. They really helped me get into the good books of my professor. I would highly recommend their service."

Michael

""The service they provide is great. Their answers are unique, and expert professionals with a minimum of 5 years of experience work on the assignments. If you need help with computer science homework, expect the answers to be of the highest quality and get ready to see your grades soar.""

Richard

"They provide excellent assistance. What I loved the most about them is their computer science homework service. They are available around the clock and work until you derive complete satisfaction. If you decide to use their service, expect a positive disconfirmation of expectations."

Willow

TutorBin helping students around the globe

TutorBin believes that distance should never be a barrier to learning. Over 500000+ orders and 100000+ happy customers explain TutorBin has become the name that keeps learning fun in the UK, USA, Canada, Australia, Singapore, and UAE.

Computer Science Homework Help - Best Solution For Students

CS is advancing rapidly due to technological advances. Advanced computer science students know that this field of study is getting updated, so is the coursework. It becomes quite challenging for students to ace the subject. Under these circumstances, what students need most is comprehensive help with computer science homework service. If you are worried about finding a reliable resource and thinking, "Where can I get homework help computer science?" TutorBin’s help with computer science homework is there for you.

TutorBin provides reliable computer science help services, including support for computer science assignments, Java programming, coding homework , and overall CS assistance for students at every level. Whether you’re working through basic programming concepts, tackling challenging algorithms, or handling advanced engineering assignments, TutorBin’s expert team is ready to support you with clear guidance and accurate solutions.

Subject matter specialists from TutorBin offer academic support to students to complete their CS tasks efficiently and clear their doubts. This thorough guidance not only improves students' understanding of the subject but also addresses knowledge gaps. It enhances students' competence, leading them to perform better. What excites students most is the quality assistance from a computer science homework helper team at an affordable price.

Best Computer Science Homework Help in the USA - TutorBin

SubjectsBenefits
Software Engineering800+ Ph.D. Experts
System ProgrammingOriginal Work
Agile Software Development24*7 Availability
Cloud ComputingDetailed explanations
Data MiningAffordable Pricing
Distributed ComputingHigh-quality solutions
Artificial IntelligenceMoney Back Guarantee

Topics Covered By Computer Science HW Help Experts

Before discussing why students must get help with computer science homework, let me explain what our computer assignment help service offers. Our computer assignment help covers diverse topics. Whether you need assistance with Java homework help, coding projects, theoretical concepts, or debugging, TutorBin computer science helper meets all your academic needs. Students needing thorough guidance from experienced subject specialists can contact our homework help computer science team. With this smart move, students can get needed help on any CS topic, regardless of its complexity.

Scientific Computing Assignment Help:

Scientific computing involves the development of algorithms and models to solve scientific and engineering problems. Our experts at Tutorbin.com provide comprehensive assistance in scientific computing assignments, ensuring students grasp and apply complex concepts effectively.

Database Management Systems (DBMS) Assignment Help:

Database Management Systems form the backbone of modern information systems. Our dedicated team at Tutorbin.com offers expert guidance in DBMS assignments, covering topics like database design, SQL queries, normalization, and more.

Computer Architecture and Engineering (ARC) Assignment Help:

Understanding computer architecture and engineering is crucial for building efficient computing systems. Tutorbin.com provides specialized assistance in ARC assignments, helping students navigate topics such as CPU design, memory systems, and parallel computing.

Operating Systems and Networking (OSNT) Assignment Help:

Operating systems and networking are fundamental to computer science. Our tutors at Tutorbin.com offer tailored support in OSNT assignments, covering areas like process management, file systems, network protocols, and more.

Computer Architecture Assignment Help:

Delve into the intricacies of computer architecture with our expert assistance. Tutorbin.com supports students in comprehending concepts related to the instruction set architecture, pipelining, memory hierarchies, and other aspects of computer architecture.

Data Mining, Machine Learning, and Natural Computation Assignment Help:

Explore the realms of data mining, machine learning, and natural computation with Tutorbin.com. Our tutors provide insightful guidance in assignments related to pattern recognition, clustering, classification, and other advanced topics.

Operating Systems, Distributed Systems, and Networking Assignment Help:

Gain expertise in operating systems, distributed systems, and networking through Tutorbin.com. Our tutors assist in assignments involving distributed file systems, network protocols, and the design principles of operating systems.

Model Driven Engineering Assignment Help:

Model-Driven Engineering focuses on using models for system development. Tutorbin.com offers specialized support in Model Driven Engineering assignments, helping students grasp modeling languages, transformations, and model-driven development.

Graphics and Visualization Assignment Help:

Understand the principles of graphics and visualization with Tutorbin.com. Our tutors guide students through assignments covering computer graphics algorithms, visualization techniques, and the implementation of graphical applications.

Programming Languages and Implementation Assignment Help:

Master programming languages and their implementation with Tutorbin.com. Our experts assist in assignments related to language design, compilers, interpreters, and the principles of programming languages.

Programming Languages Assignment Help:

Delve into the specifics of programming languages with Tutorbin.com. Our tutors assist in assignments related to various programming languages, helping students understand syntax, semantics, and effective coding practices.

Software Methodology and Engineering Assignment Help:

Navigate the intricacies of software methodology and engineering with Tutorbin.com. Our tutors provide support in assignments covering software development methodologies, requirements engineering, and software testing.

The Best Computer Science Assignment Helper Worldwide

A team of highly qualified tutors provides personalized support for complex coding, algorithms, and other computer science challenges. Focusing on delivering timely and high-quality results, our computer science assignment helper services assist students in improving their understanding and academic performance. Students from reputed universities and educational institutions seek expert academic assistance. With over 1M+ students helped globally, we ensure 24/7 availability so students receive support regardless of their time zone.

Computer Science Assignment Help Covers the Following Sub-Topics

TutorBin.com offers comprehensive computer science assignment help, covering a range of sub-topics such as programming languages, algorithms, data structures, and software development. Whether you need assistance with coding projects, theoretical concepts, or debugging, TutorBin provides expert computer science help to ensure you understand and excel in your assignments.

Scientific Computing Assignment Help:

Scientific computing involves the development of algorithms and models to solve scientific and engineering problems. Our experts at Tutorbin.com provide comprehensive assistance in scientific computing assignments, ensuring that students grasp complex concepts and apply them effectively.

Database Management Systems (DBMS) Assignment Help:

Database Management Systems form the backbone of modern information systems. Our dedicated team at Tutorbin.com offers expert guidance in DBMS assignments, covering topics like database design, SQL queries, normalization, and more.

Computer Architecture and Engineering (ARC) Assignment Help:

Understanding computer architecture and engineering is crucial for building efficient computing systems. Tutorbin.com provides specialized assistance in ARC assignments, helping students navigate topics such as CPU design, memory systems, and parallel computing.

Operating Systems and Networking (OSNT) Assignment Help:

Operating systems and networking are fundamental to computer science. Our tutors at Tutorbin.com offer tailored support in OSNT assignments, covering areas like process management, file systems, network protocols, and more.

Computer Architecture Assignment Help:

Delve into the intricacies of computer architecture with our expert assistance. Tutorbin.com supports students in comprehending concepts related to instruction set architecture, pipelining, memory hierarchies, and other aspects of computer architecture.

Data Mining, Machine Learning, and Natural Computation Assignment Help:

Explore the realms of data mining, machine learning, and natural computation with Tutorbin.com. Our tutors provide insightful guidance in assignments related to pattern recognition, clustering, classification, and other advanced topics.

Operating Systems, Distributed Systems, and Networking Assignment Help:

Gain expertise in operating systems, distributed systems, and networking through Tutorbin.com. Our tutors assist in assignments involving distributed file systems, network protocols, and the design principles of operating systems.

Model Driven Engineering Assignment Help:

Model-Driven Engineering focuses on using models for system development. Tutorbin.com offers specialized support in Model Driven Engineering assignments, helping students grasp modeling languages, transformations, and model-driven development.

Graphics and Visualization Assignment Help:

Understand the principles of graphics and visualization with Tutorbin.com. Our tutors guide students through assignments covering computer graphics algorithms, visualization techniques, and the implementation of graphical applications.

Programming Languages and Implementation Assignment Help:

Master programming languages and their implementation with Tutorbin.com. Our experts provide assistance in assignments related to language design, compilers, interpreters, and the principles of programming languages.

Programming Languages Assignment Help:

Delve into the specifics of programming languages with Tutorbin.com. Our tutors assist in assignments related to various programming languages, helping students understand syntax, semantics, and effective coding practices.

Software Methodology and Engineering Assignment Help:

Navigate the intricacies of software methodology and engineering with Tutorbin.com. Our tutors provide support in assignments covering software development methodologies, requirements engineering, and software testing.

Computer Science Helper Guidance For Different Academic Levels

Homework help services provide valuable support to students working on computer science assignments. TutorBin understands that students require expert guidance depending on their academic levels. Whether you are a college student or pursuing advanced courses, our platform offers academic help for everyone.

Computer Science Assignment Helper Supports Students Worldwide

A team of highly qualified tutors provides personalized support for complex coding, algorithms, and other computer science challenges. If it's a lack of conceptual clarity, necessary skills, or subject doubts, students can get possible academic support from our experienced subject specialists. Students from diverse reputed universities seek our expert academic assistance, aiming to become competent in CS. Consistent efforts, prompt response, quick turnaround time, and plagiarism-free answers with a focus on delivering high-quality results at a reasonable rate make TutorBin a reliable cs assignment help platform.

How to Find The Best Computer Science Homework Help Platform

Searching for guidance whenever they feel stuck is common for students. Due to doubts, misunderstanding of instructions, and a lack of in-depth knowledge, students cannot do their homework. During this time, they must look for a reliable platform. However, with so many options available, choosing the right one can be challenging. Experts recommend carefully considering the factors below before making a decision. Students can also find reliable help in computer science for programming, algorithms, databases, and other challenging topics.

  • Check whether the platform has a strong pool of subject experts
  • Do these experts offer a 24/7 "pay to do computer science homework" service?
  • Are specialists experienced enough to offer subject guidance?
  • What is their average turnaround time for CS assignments?
  • Can you get step-by-step answers and explanations?
  • Is after-sales service available?
  • Does it offer students plagiarism reports?
  • How fast do the experts respond?
  • What do the reviews and ratings say about the platform?

Computer Science Homework Solutions For Study Challenges

Students pursuing advanced studies in CS encounter different study challenges while learning. Our experts assist students in efficiently surpassing these study obstacles with computer science homework solutions. Our experts have mentioned the challenges for which students ask TutorBin to "do my computer science assignment," as well as the methods to solve them.

TutorBin ensures comprehensive solutions, whether coding challenges, algorithm complexities, or conceptual roadblocks. With the integration of a powerful computer science AI solver, it is one of the go-to platforms where you get expert assistance tailored to your academic needs. It not only helps to overcome study struggles but also boosts your subject proficiency.

Problem 1: I have a lack of subject understanding:

Solution 1: A conceptual understanding of CS is significant if you want to excel. However, it is more difficult to ace the subject than said. Through student collaboration, TutorBin experts instill a deeper understanding of CS concepts to solve the problem from the core. Our simplified problem-solving methods ease comprehension of underlying concepts and their implications.

Problem 2: Limited time and need to finish heavy coursework within the period

Solution 2: Universities nowadays assign several tasks with strict deadlines, thinking it will increase their proficiency. However, it causes problems sometimes due to limited time for studies and managing multiple tasks. Delegating complex tasks for expert guidance reduces the time needed to complete the tasks. It also helps in managing multiple assignments with stringent deadlines. Students can learn at their own pace without worrying about submission deadlines.

Problem 3: Accurate task submission without copying from friends

Solution 3: The third problem is directly related to their homework. Though teachers assign homework for practice, it sometimes causes problems as students need guidance due to their limited subject knowledge. In such conditions, they often copy from others or cannot complete their tasks. Seeking help ensures students submit accurate computer science homework answers without copying from others.

Problem 4: Need to boost grade/Not satisfied with teaching

Solution 4: The fourth reason is mostly the combination of these two factors. Students often feel that their school hours are not helping them enough. It happens because professors have little time to guide students. Lack of an engaging learning style could not make students inclined to the subject. TutorBin experts devote their time to students to ensure they understand the subject and help enhance academic performance.

TutorBin Computer Science Homework Benefits- No. 1 Choice For Students

The simplification of homework, breakdown of problems, and helping students understand concepts are just a few advantages. Exclusive support from TutorBin subject matter specialists aids students in learning computer science better and finishing their homework without stress. We ensure students develop practical skills & achieve success in their studies.

TutorBin's student-oriented approach makes the platform a one-stop solution by enhancing students' learning capacity, academic growth, and performance. TutorBin has shown that offering high-quality academic support at an affordable price is possible. It is not the profit that makes this platform grow. It is the fruit of their dedicated service that offers academic support beyond country and time zones.

Explore Our Computer Science Homework Samples

Computer Science Sample 1 Computer Science Sample 2
Computer Science Sample 3 Computer Science Sample 4

What are the benefits of help with computer science homework from TutorBin?

One of the benefits of taking help from TutorBin's computer science homework tutor is that you will have ample time to prioritize issues you feel are challenging. Our computer science homework help from experienced professionals offers you the advantages mentioned below.

  • Accurate and Unplagiarized Work
  • 800+ Ph.D. holders in different subjects
  • Step-by-step answers
  • Detailed explanations
  • Quick turnaround time for tasks
  • 24/7 expert support available
  • Support at an affordable rate
  • Revisions and unlimited rewrites
  • Refund if the task is not up to the mark

Computer Science Assignment Help Online FAQs

Students often ask, "Is it possible for TutorBin to do my computer science homework?" or "Is it possible that I can get support to do my computer science assignment?" Sometimes, we even get questions like, "Can I pay someone to do my computer science homework?" We say yes to all these questions. TutorBin support is there for you.

Some students ask, "Is it legal to pay someone to help with computer science homework?" We want to inform them that homework help is like other professional services. There are no legal prohibitions against it. We promise that we will be there for you whenever you seek computer science answers or make a "do my computer science homework" request.

Is there any platform that offers computer science hw help?

There are platforms like TutorBin where experts assist with coding problems, programming assignments, algorithms, data structures, and more. Students receive personalized assistance with any CS task.

Can I ask TutorBin for computer science homework service?

You can absolutely ask TutorBin for computer science homework help. Their team of experts will guide you through coding problems, concepts, and solutions with clear, step-by-step support tailored to your needs.

Does asking for help with computer science homework count as cheating?

No, asking for help with computer science homework is not considered cheating when you use the assistance to understand concepts, learn coding logic, and improve problem-solving skills. But experts recommend that students not submit work unless they fully understand it, as this violates academic integrity policies.

What would experts charge if I asked to do my computer science assignment?

The final price depends on the topic's complexity, the task's length, the proximity of the deadline, and the expert's availability.

How long will it take to get computer science homework solutions?

Though we suggest a standard time for each question, the actual delivery time depends on various factors. The delivery time estimate depends on the task's complexity, quantity, the deadline, and the expert's availability.

How TutorBin became the best computer science assignment help website?

TutorBin became the best computer science assignment help website by combining expert guidance with student-focused support. It connects learners with experienced computer science professionals who provide clear explanations, accurate solutions, and practical coding assistance across a range of topics. With personalized insights, precise tutoring, flexible pricing, timely delivery, and a strong focus on learning and confidentiality, TutorBin has earned the trust of students worldwide.