Graph Algorithm Assignment

Graphs (Help! Really challenging assignment. Would appreciate any bit of help!)

Family tree’s and genealogy software has become more and more prevalent in recent years. From the name you might expect that a family tree would be easily represented by a tree structure, but that is not the case! A more appropriate data structure to represent a family tree would be a type of graph. Using the description of the family that accompanies this assignment, you must represent this family using a graph structure. The graph needs to be a weighted graph. The weights will constitute the types of relationships, I recommend using some kind mapping between numbers and strings to represent the relationships. When adding family members to the graph, this can be done programmatically for the provided family members within the description file. Additionally, I also want there to be an interface in which a user can create a new family member and add them to the tree. This can be a simple CLI where the user provides a name, gender, and age to create a person. Then another simple CLI where they select which member of the family they want the original relationship to be with and what kind of relationship it should be. Finally, they can edit the family member using another CLI and selecting the family member they wish to edit, the operation they wish to perform (edit name, edit age, edit relationship), and then add new relationship between family members which can call a function that you create in order to add the original relationship. Remember the DRY philosophy, where code can be modularized or made into a function, it should be if you plan on using the logic again.

Finally, I want you to make data assertions within the FamilyTree class that enforce certain “rules” that exist in a typical human family. An example would be a person should not have any kind of relationship to itself (a person can not marry themselves, a person can not be their own brother, sister, father, mother, etc.). There should be at least 3 data assertions. These should exists as part of the family tree, not as part of the graph.

As a hint, for a successful design: I would recommend using layers of abstraction. Your graph class is the backing structure to the family tree class. Your family tree should implement methods that interface with the graph class, i.e. add_family_member() should call the constructor to create a node and then call a function within the graph class to add a node to the graph. Then using the relationships function parameter, you can add edges to the graph between the new nodes and the existing nodes. The family tree should be what enforces what relationships can exist through the data assertions, the graph does not care about what relationships are made between family members. Your functions that the user would interface with would be greatly reduced compared to the total number of methods within the classes themselves. The user should be able to add, remove, and modify family members and that’s about it. Therefore those should be your function calls.

Submission Goals

(120 pts.) Create a FamilyTree class that will represent a family tree for a given family.
The class should contain several types of relationships that commonly happen within a family (siblings, marriage, offspring, etc.)

(40 pts.) Programmatically add the family members to the graph as described by the accompanying family description file.
(40 pts.) Give data assertions to the FamilyTree class to enforce restrictions for basic family structure (at least 3); i.e A person can not marry themselves.

(40 pts.) Provide a simple CLI the enables users to add, remove, and edit family members.

graph.py

graph = dict()

graph[‘A’] = [‘B’, ‘C’]

graph[‘B’] = [‘E’,’C’, ‘A’]

graph[‘C’] = [‘A’, ‘B’, ‘E’,’F’]

graph[‘E’] = [‘B’, ‘C’]

graph[‘F’] = [‘C’]

matrix_elements = sorted(graph.keys())

cols = rows = len(matrix_elements)  

adjacency_matrix = [[0 for x in range(rows)] for y in range(cols)]

edges_list = []

for key in matrix_elements:

    for neighbor in graph[key]:

       edges_list.append((key,neighbor))

print(edges_list)

for edge in edges_list:

        index_of_first_vertex = matrix_elements.index(edge[0])

        index_of_second_vertex = matrix_elements.index(edge[1])

        adjacency_matrix[index_of_first_vertex][index_of_second_vertex] = 1

println(adjacency_matrix)

WutherHeightsFamilyTree.docx

The Extended Families of Wuther Heights (Modified):

Family 1

Patrick Earnshaw (M) {id: 001}

Hannah Earnshaw (F) {id: 002}

Relationship: Married

Children:

Catherine Earnshaw (F) {id: 003}

Hindley Earnshaw (M) {id: 004}

Family 2

Andrew Linton (M) {id: 005}

Dolores Linton (F) {id: 006}

Relationship: Divorced

Children:

Isabella Linton (F) {id: 007}

Edgar Linton (M) {id: 008}

            Heathcliff Linton (M) [Adopted] {id: 009}

Family 3

            Hindley Earnshaw (M) {id: 004}

            Frances Byler (M) {id: 010}

            Relationship: Married

            Children:

                        Hareton Earnshaw (M) [Adopted] {id: 011}

Family 4

            Catherine Earnshaw (F) {id: 003}

            Edgar Linton (M) {id: 008}

            Relationship: Married

            Children:

                        Cathy Linton (F) {id: 012}

Family 5

            Isabella Linton (F) {id: 007}

            Children:

                        Linton Heathcliff (M) {id: 013}

Family 6

            Heathcliff Linton (M) {id: 009}

            Children:

                        Linton Heathcliff (M) {id: 013}

Family 7

            Hareton Earnshaw (M) {id: 011}

            Cathy Linton (F) {id: 012}

            Relationship: Married

Family 8

            Cathy Linton (F) {id: 012}

            Linton Heathcliff (M) {id: 013}

            Relationship: Divorced

Cloud Provider Evaluation

 

THIS ASSIGNMENT  MUST BE SUBMITTED IN FOUR SEPARATE PARTS.  The first submission will be  Steps 2, 3, and 4, Next will be Steps 5,6, and 7, Then Step 8, and  Finally Step 9

INTRO:

Since you have become familiar with foundations of cloud computing  technologies, along with their risks and the legal and compliance  issues, you will now explore cloud offerings of popular cloud providers  and evaluate them to recommend one that would be the best fit for  BallotOnline.

In this project, you will first learn about networking in the cloud  and auxiliary cloud services provided by cloud vendors. Next, you will  explore cloud computing trends, best practices, and issues involved in  migrating IT deployments to the cloud, as well as typical architectures  of cloud deployments. Then, you will apply your findings to propose a  general architecture for BallotOnline’s cloud deployment to best address  the company’s business requirements.

Once you have selected a deployment architecture, you will research  two leading cloud vendors: Amazon Web Services (AWS) and Microsoft  Azure. Exploring and comparing the tools available for application  migration will enable you to recommend a vendor to the executives in  your final report. The final deliverable is a written report to  BallotOnline management, describing the results of your research and  recommending the cloud deployment architecture and the vendor for its  deployment, with justification.

Your final report should demonstrate that you understand the IT needs  of the organization as you evaluate and select cloud providers. The  report should include your insights on the appropriate direction to take  to handle the company’s IT business needs. You will also be assessed on  the ability to integrate relevant risk, policy, and compliance  consideration into the recommendations, as well as the clarity of your  writing and a demonstration of logical, step-by-step decision making to  formulate and justify your ideas.

Step 1: Research Networking and Auxiliary Services in the Cloud

The executives at BallotOnline have been impressed with your research on cloud computing thus far. While there are a variety of cloud providers (https://lti.umuc.edu/contentadaptor/page/topic?keyword=Cloud%20Providers),  BallotOnline is considering using Amazon Web Services (AWS) and  Microsoft Azure, two of the top providers in the market. BallotOnline’s  executives want you to help determine which would be the best provider  for the organization.

You will start with learning about internet networking basics (https://lti.umuc.edu/contentadaptor/page/topic?keyword=Internet%20Networking%20Basics) and cloud networking (https://lti.umuc.edu/contentadaptor/page/topic?keyword=Cloud%20Networking). You will also research many cloud services (https://lti.umuc.edu/contentadaptor/page/topic?keyword=Cloud%20Services)  that cloud providers make available to their customers to help them  take full advantage of cloud service and deployment models.

Step 2: Research Cloud Trends, Best Practices, and Migration Issues

The cloud computing revolution is redefining ways that companies of  all sizes use information technology. The cloud landscape shifts  rapidly, and current trends reflect this rapid pace of change. You  likely got an idea about this in the last step when you conducted  research on cloud architecture. Now, continue gathering information for  your final report by assessing:

In a separate piece of paper Discuss: Cloud Trends and Migration Issues, and post your findings.

Post your thoughts about new trends in cloud computing as well as  migration strategies for cloud deployments. Here are some possible  discussion topics:

1.   Which trends in the cloud computing industry do you consider the most important?

2.   What kind of future developments in the cloud industry would benefit companies like BallotOnline the most?

3.   Considering that BallotOnline would migrate the existing  application to the cloud, what elements should its migration strategy  embrace?

Your discussions will be helpful in determining proposed deployment architecture as well as a cloud vendor for BallotIOnline.

Step 3: Research Typical Architectures of Cloud Deployments

In the previous step, you considered best practices and trends in the  cloud industry. Next, you will have to look at the kinds of  architectures needed for cloud.

Because most elements of cloud deployments are implemented in a  virtualized environment controlled by software, the degree of freedom in  defining your deployment of cloud reference models is unprecedented (https://lti.umuc.edu/contentadaptor/page/topic?keyword=Cloud%20Reference%20Models).  You can define the number of virtual servers required and the  configuration, and even change them dynamically as needed. You can also  define your virtual local area networks (LANs) and subnets, and place  servers in them to implement network security requirements.

The basic cloud deployment components are cloud consumer, cloud  provider, and cloud carrier, with cloud brokers and auditor as possible  additions.

Typical cloud architectures  (https://lti.umuc.edu/contentadaptor/page/topic?keyword=Typical%20Cloud%20Architectures)  of cloud deployments vary from single server (suitable for  proof-of-concept engagements) and multiserver architectures with various  servers carrying different software components and occupying different  security zones, to geographically dispersed deployments to achieve high  availability, resilience, and speed of delivery. There are several issues to consider when selecting a server architecture, including cost, scalability, performance, and use of management (https://lti.umuc.edu/contentadaptor/page/topic?keyword=Issues%20to%20Consider%20When%20Selecting%20a%20Server%20Architecture).

For this step, research the typical architectures of cloud  deployments and begin to consider what might be a good fit for  BallotOnline. Discuss your findings in a separate piece of paper and Discuss: Cloud Architectures.

Describe your findings about typical cloud deployment architectures. In particular, provide answers to these questions:

1.   Which features of these architectures would be difficult to implement in traditional, noncloud IT deployments?

2.   Which architectural elements would be important for the BallotOnline deployment?

3.   Which architectural elements are less important for BallotOnline?

Step 4: Propose Cloud Architecture for BallotOnline Deployment

Now that you have looked into cloud architectures, in this step, you  will propose the cloud deployment architecture for BallotOnline,  applying the knowledge of typical architectural elements of cloud  deployment from the project’s initial step. You will also consider  trends and migration issues from a previous step. Your recommendation  should consider the company’s business requirements.

Recall that the company has an existing web application that it wants  to move to the cloud, and also that the company wants to expand its  business to other parts of the world. In earlier projects, you learned  about and analyzed the IT business requirements for BallotOnline. Among  them were demands for application and data security, data encryption, and separation for deployments overseas (https://lti.umuc.edu/contentadaptor/page/topic?keyword=Application%20and%20Data%20Security). Also, the application should handle load peaks during election times in different regions.

Specific technical requirements state that BallotOnline is a web  application, written using the popular open-source LAMP (Linux, Apache,  MySQL, PHP) software suite and the PHP application (https://lti.umuc.edu/contentadaptor/page/topic?keyword=PHP%20Application).

Action Item

Describe your proposed architecture by submitting a report with a  drawing of the architecture (hand-drawn or computer-created) diagram and  explaining its elements in a separate piece of paper.

There are some sample drawings here under typical cloud architectures to give you an idea (https://lti.umuc.edu/contentadaptor/page/topic?keyword=Typical%20Cloud%20Architectures).

Step 5: Research AWS

You’ve described your proposed architecture and included a diagram to  provide leadership a way to envision the system. Now, it’s time to look  closely at the leading cloud providers to see if their services will  fit BallotOnline’s needs.

Each cloud provider provides a unique profile of services, so it is  good practice to compare cloud vendors and evaluate their reliability,  performance, ease of use, cost, security and compliance measures. As  more providers enter the marketplace, many will specialize on specific  needs and use cases, making this evaluation even more critical.

In this step, you will explore AWS and assess the feasibility of this platform for deploying the architecture proposed in the previous step (https://lti.umuc.edu/contentadaptor/page/topic?keyword=Explore%20AWS). You should also consider issues related to AWS Pricing (https://aws.amazon.com/pricing/).

Based on your research, determine to what degree AWS supports the  elements of the BallotOnline business and technical requirements.

Share your thoughts in a separate piece of paper and Discuss: Amazon Web Services Feasibility

Post your findings on the features and services of AWS, including:

1.   Do you find the AWS offering feature-rich? Which features do you  like the most? Do you feel there are some features missing?

2.   What features support architectural elements such as  auto-scaling, load balancing, application auditing, or multigeography  deployments?

3.   Does the website, tutorials, and services usage seem easy and user-friendly?

Step 6: Research Microsoft Azure

Now that you have had a chance to research AWS, it’s time to explore Microsoft Azure (https://lti.umuc.edu/contentadaptor/page/topic?keyword=Explore%20Microsoft%20Azure), another cloud provider that could be used to deploy the proposed architecture. You should also consider issues related to Microsoft Azure pricing (https://azure.microsoft.com/en-us/pricing/).

Based on your research, determine to what degree Microsoft Azure  supports the elements of the BallotOnline business and technical  requirements. Share your thoughts in a separate piece of paper and Discuss: Microsoft Azure Feasibility 

Post your findings on the features and services of Microsoft Azure, including:

1.   Do you find the Azure offering feature-rich? Which features do  you like the most? Do you feel there are some features missing?

2.   What features support architectural elements like auto-scaling,  load balancing, application auditing, multi-geography deployments?

3.   Does the website, tutorials, and services usage seem easy and user-friendly?

Step 7: Generate AWS Proof of Concept (POC)

With your research complete, you will now deploy a simple one-page  PHP application to the AWS cloud. It will allow you to explore  deployment methods, ease of use, provisioning speed, etc., for the  Amazon cloud.

Action Item

As you may have already discovered in your research on AWS, it makes a cloud migration tool called Elastic Beanstalk available for customers to migrate their existing applications into the AWS cloud (https://aws.amazon.com/elasticbeanstalk/). We will use this tool to deploy your AWS proof of concept (POC) (https://lti.umuc.edu/contentadaptor/page/topic?keyword=Proof%20of%20Concept%20(POC)).

Follow the steps in the AWS lab instructions to complete your AWS POC (https://content.umgc.edu/file/c91e7ce0-9040-442d-b244-0b511f07cbad/4/AWS%20Lab%20Instructions.pdf).

In a word single page, upload the URL linking to your application running in the AWS portal.

Step 8: Generate Azure Proof of Concept (POC)

Now that your AWS POC is complete, you can proceed with a similar POC deployment for the Microsoft Azure cloud.

Action Item

Follow the steps in the Azure lab instructions to complete your Azure POC (https://content.umgc.edu/file/c91e7ce0-9040-442d-b244-0b511f07cbad/3/MicrosoftAzureLabInstructions.html).

In a word single page, upload the URL linking to your application running in the Azure portal.

You are ready for the last step: writing the final report with  recommendations on the cloud providers for the BallotOnline executives.

Step 9: Write the Final Report Evaluating AWS and Azure Providers

Now that you have completed your research, shared your ideas with  colleagues, and explored the two vendors, it is time to compile your  findings and recommendations for the BallotOnline executives. You may  find these considerations for cloud provider selection helpful in making your decisions (https://lti.umuc.edu/contentadaptor/page/topic?keyword=Considerations%20for%20Cloud%20Provider%20Selection).

Use the Final Report Evaluating AWS and Azure Providers Template  to write your report and submit your work to the classroom  (https://content.umuc.edu/file/c91e7ce0-9040-442d-b244-0b511f07cbad/3/FinalReportEvaluatingAWSandAzureProvidersTemplate.docx).

Rubrics:

Check Your Evaluation Criteria

Before you submit your assignment, review the competencies below,  which your instructor will use to evaluate your work. A good practice  would be to use each competency as a self-check to confirm you have  incorporated all of them. To view the complete grading rubric, click My  Tools, select Assignments from the drop-down menu, and then click the  project title.

2.2: Locate and access sufficient information to investigate the issue or problem.

2.3: Evaluate the information in a logical and organized manner to determine its value and relevance to the problem.

2.4: Consider and analyze information in context to the issue or problem.

2.5: Develop well-reasoned ideas, conclusions or decisions, checking them against relevant criteria and benchmarks.

5.4: Articulate insights to leadership on the appropriate course of direction on the identified IT business needs.

6.1: Articulate the systems architecture of the cloud – cloud infrastructure, cloud service, cloud platform, and cloud storage.

6.6: Evaluate and select cloud providers (AWS, Azure, VMware, Google Cloud, IBM).

6.8: Review, evaluate, and utilize emerging technologies related to cloud to support business needs.

block chain

The vast majority of the population associates Blockchain with cryptocurrency Bitcoin; however, there are many other uses of blockchain; such as Litecoin, Ether, and other currencies. In this discussion, please describe at least two cryptocurrencies with applicable examples. Discuss some similarities and differences. Lastly, discuss if you have any experience using any cryptocurrencies.

Please make your initial post and two response posts substantive. A substantive post will do at least two of the following:

  • Ask an interesting, thoughtful question pertaining to the topic
  • Answer a question (in detail) posted by another student or the instructor
  • Provide extensive additional information on the topic
  • Explain, define, or analyze the topic in detail
  • Share an applicable personal experience
  • Provide an outside source  that applies to the topic, along with additional information about the topic or the source (please cite properly in APA)
  • Make an argument concerning the topic.

assignment of 3pages forHOMWORK_WRITER

Write a paper for 3 pages not including title page and references.

Assignment Content
Your team of international developers will be developing a publicly accessible cloud-based application which may potentially house user PII data, information about users’ behaviors and activities (e.g., physical locations, online sites they visit, searches, purchases, etc.), and users’ intellectual property (e.g., photos, artwork, videos, etc.).
Continue your work with your team on the features of the application by identifying ethical challenges and specifying the type of data the feature uses, a risk mitigation strategy for the risk you provided in Week 2, and a global ethical perspective of the choices you made in implementing a risk mitigation strategy.

Computer Science Business Data and Communication Presentation

Explain and provide example when it is possible that will cover chapter 6 subjects:

•Network architecture components

•Traditional network design

•Building-block network design

–Needs analysis

–Technology design

–Cost assessment

Pick Two of Network Simulation Tools from the following, and Discuss, Present them on the class:

•[WANsim] WAN simulators and emulators http://www.wan-sim.net/

•[OPNET] OPNET Modeler, http://www.opnet.com/

•[NS2] NS2 official website, http://www.isi.edu/nsnam/ns/

•[NS2-wiki] NS2 resource webpage, http://nsnam.isi.edu/nsnam/index.php/Main_Page

•[NS3] NS3 official website, http://www.nsnam.org/documents.html

•[OMNeT] OMNeT++ official website, http://www.omnetpp.org/

•[REAL] REAL 5.0 simulator overview, http://www.cs.cornell.edu/skeshav/real/overview.html

•[SSFNet] Scalable Simulation Framework (SSF), SSFNet homepage, http://www.ssfnet.org/homePage.html

•[J-Sim] J-Sim homepage http://www.j-sim.org/

•[QualNet] QualNet official site, http://www.scalable-networks.com/products/•[YANS], Yet Another Network Simulator http://yans.inria.fr/code/yans/?summary

•[GTNetS] The Ge orgia Tech Network Simulator (GTNetS) http://www.ece.gatech.edu/research/labs/MANIACS/GTNetS/

Assignment

 

Assignment

Provide a reflection of at least 500 words (or 2 pages double spaced) of how the knowledge, skills, or theories of this Cloud Computing course have been applied, in a practical manner to your current work environment. If you are not currently working, share times when you have or could observe these theories and knowledge and knowledge could be applied to an employment opportunity in your field of study.

Requirements

Provide a 500 word (or 2 pages double spaced) minimum reflection

Use of Proper APA formatting and citations. If supporting evidence from outside resources is used those must be properly cited.

Share a personal connection that identifies specific knowledge and theories from this course and how they will be used at your current or future employer.

Demonstrate a connection to your current work environment. If you are not employed, demonstrate a connection to your desired work environment. You should NOT provide an overview of the assignments assigned in the course. The assignment asks that you reflect on how the knowledge and skills obtained through meeting course objectives were applied or could be applied in the workplace.

CIS 220, Business Information Systems and Analytics

  The databases for this assignment (MBA and IT 100 v4) and the Database II Answers Excel spreadsheet are available on Blackboard and should already be in your CIS 220 folder if you are using Microsoft Access through the virtual machine. ALSO NOTE: You should submit both databases with the queries labeled as specified below AND the Database II Answers spreadsheet, with your answers filled in in the appropriate cell. 

Assignment

 Discussion #1: How does prescriptive analytics relate to descriptive and predictive analytics? 

Discussion #2: Explain the differences between static and dynamic models. How can one evolve into the other?