Category Archives for Uncategorized

C2.12 future challenges to search engines as the web continues to grow

C2.12 future challenges to search engines as the web continues to grow


Search engines must be fast enough to crawl the exploding volume of new Web pages in order to provide the most up-to-date information. As the number of pages on the Web grows, so will the number of results search engines return. So, it will be increasingly important for search engines to present results in a way that makes it quick and easy for users to find exactly the information they’re looking for. Search engines have to overcome both these challenges.

  • Improvements in Search interface example Voice Search 
  • Use of natural language process will also become more prevalent. Today, the search engine takes a set of keywords as the input and returns a list of rank-sorted links as the output. This will slowly fade and the new search framework will have questions as the input and answers as the output. The nascent form of this new framework is already available in search engines like Google and Bing.
  • Expansion of semantic searching by machine learning see Rank Brain now part of google search algorithm ..   "complex, multi-word queries, also called “long-tail” queries. RankBrain is designed to help better interpret those queries and effectively translate them, behind the scenes in a way, to find the best pages for the searcher."
  • Personalized Search Because mobile is becoming the primary form of consumption, future search engines will try to use powerful sensing technologies like accelerometer, digital compass, gyroscope and GPS. Google recently bought a company called Behavio which predicts what a user might do next by using the information acquired from the different sensors on the user’s phone.

Your Solutions

Some good solutions, before I make further comment I want you guys to comment on at least 2 other solutions Some examples ( I like .... ) I don't understand why you did...  It would be easier to read if you indented, wrong use of permitted pseudo code, its wrong because. Also consider if the solution efficient .

An election is held in school to elect a president for the student council. There are five candidates, each one represented by a number from

1 – 5. Their names are stored in a corresponding array NAMES.

The students vote electronically and the numbers are entered into the collection VOTES. If any candidate gets more than 50% of the votes, that person is elected, otherwise there is a second vote between the two candidates with the highest number of votes.

Write an algorithm in pseudo code to do the following:

  • read the values from the collection VOTES
  • count the number of votes for each candidate
  • output the result
  • state the name of the winner or of the two candidates in the next round.

You should use the data structures given and may introduce any others that you think are useful for an efficient solution.

// init array case some candidates receive no votes

Loop N from 0 to 5
   RESULTS[N]=0
End loop

//main body

CALL FindWinningCount
CALL ProcessVotes
// output all votes
Loop N from 0 to 5
    output NAMES[N] : "received ": RESULTS[N]
end loop


If OVER50 then
    Output "winner is : NAMES[HIGHSCOREPOS]
else
// output 2 with highest votes for next round
   CALL FindOtherCandidate
   Output NAMES[HIGHSCOREPOS] " and " NAMES[HIGHSCOREPOS2] " Will proceed to next round
end if

// end main body

// sub process votes and store highest and maybe winner
ProcessVotes
// HIGHSCORE=0
// HIGHSCOREPOS
// OVER50= 0

VOTES.resetNext() // start at beginning

loop while VOTES .hasNext() or OVER50 = 0

  STUDENTVOTED = VOTES .getNext()
  // store votes in array results need convert candidate number to pos in array so reduce by 1
  RESULTS [STUDENTVOTED-1] = RESULTS [STUDENTVOTED-1] + 1
  If RESULTS [STUDENTVOTED-1] > HIGHSCORE
  HIGHSCOREPOS = STUDENTVOTED-1
  HIGHSCORE = RESULTS [STUDENTVOTED-1]
end if
If RESULTS [STUDENTVOTED-1] > HALFVOTES then
  OVEVER50 = 1
end if

end loop

// sub to count the total number of students that voted so can check for winner

FindWinningCount
VOTES.resetNext() // start at beginning
loop while VOTES .hasNext()
   TOTALNUMVOTES = TOTALNUMVOTES +1
end loop
// find number to win
HALFVOTES = TOTALNUMVOTES / 2 // assume can we use standard operators

// find the second candidate
FindOtherCandidate
HIGHSCOREPOS2 = 0
Loop N from 0 to 5
  SCORE = RESULTS[N]
  If SCORE > HIGHSCOREPOS2 and N ≠ HIGHSCOREPOS then
     HIGHSCOREPOS2 = N
     HIGHSCORE2 = SCORE
end if
end loop

// find the second candidate
FindOtherCandidate
HIGHSCOREPOS2 = 0
Loop N from 0 to 5
  SCORE = RESULTS[N]
  If SCORE > HIGHSCOREPOS2 and N ≠ HIGHSCOREPOS then
     HIGHSCOREPOS2 = N
     HIGHSCORE2 = SCORE
end if
end loop

C.4.8 Decentralized and democratic web

A Decentralized Web is free of corporate or government overlords. It is to communication what local farming is to food. With it people can grow their own information

Eric Newton Innovation Chief/Cronkite News, Arizone State University

Student Home work  Followed by discussion and update of this page

C.4.7 Web unregulated monopolies ?

C.4.7 Explain why the web may be creating unregulated monopolies


In theory the world wide web should be a free place where anybody can have a website. However, hosting a website usually comes with a cost - registering a domain name, getting a hosting service or investing in servers oneself, creating and maintaining the website (requires technical knowledge or the cost of hiring a web developer). In addition, to reach an audience further marketing through SEO (see C.2) is usually necessary to get good rankings in search engine results. This means that for the normal individual a traditional website is not the best option. A better alternative is to publish content on an existing platform, e.g. micro blogging on Twitter, blogging on WordPress or Blogspot, sharing social updates on Facebook, sharing photos on Flickr, etc. . This comes with improved comfort for users.

However, it easily leads to unregulated monopolies in the market because users usually stick to one platform. Tim Berners-Lee describes today’s social networks as centralized silos, which hold all user information in one place. This can be a problem, as such monopolies usually control a large quantity of personal information which could be misused commercially or stolen by hackers. There are certainly many more concerns which won’t fit into the scope of this site.

C.4.5 privacy, identification and authentication

C.4.5 Describe the interrelationship between privacy, identification and authentication


Privacy

Identification

Authentication

C.4.3 effects CC for specified organizations

C.4.3 Discuss the effects of the use of cloud computing for specified organizations


There is different models for deploying a cloud computing service and they affect organizations in different ways.

***  Creates an environment conducive to innovative startups and thus the potential for disruptive innovation

Private cloud

In a private cloud model a company owns the data centers that deliver the services to internal users only.

  • Scalability
  • Self-provisioning
  • Direct control
  • Changing computer resources on demand
  • Limited access through firewalls improves security

Can you think of any disadvantages?

Public cloud

In a public cloud services are provided by a third party and are usually available to the general public over the Internet.

Can you think of any Advantages?

Can you think of any disadvantages?

Hybrid cloud

The idea of a hybrid cloud is to use the best of both private and public clouds by combining both. Sensitive and critical applications run in a private cloud, while the public cloud is used for applications that require high scalability on demand. As TechTarget explains, the goal of a hybrid cloud is to “create a unified, automated, scalable environment that takes advantage of all that a public cloud infrastructure can provide while still maintaining control over mission-critical data”.

Summary of obstacles/Concerns

service availability

data lock-in also if wish to change what format will your data be in ? Could be very expensive to convert to a new data format

Company goes bust with all your data

data confidentiality and auditability ( security)

data transfer bottlenecks

performance unpredictability

Data Conversions

bugs in large-scale distributed systems

C.4.2 Cloud computing Over CS

Lesson Today -  C.4.2 Describe how cloud computing is different from a client-server architecture

Learning Objectives

  • Understand the Client Server Model 
  • Describe at least 3 advantages that cloud computing has over an in house client server model
  • User Check
    Able to describe one major concern of the cloud computing model 

Client-server architecture

An application gets split into the client side and server-side. The server can be a central communicator between clients (e.g. email/chat server) or allow different clients to access and manipulate data in a database.

 A client-server application does also not necessarily need to be working over the internet, but could be limited to a local network, e.g. for enterprise applications.

Cloud Computing

Some Advantages of Cloud Computing

  • Pay per use: elasticity allows the user to only pay for the resources that they actually use.
  • Elasticity: cloud applications can scale up or down depending on current demands. This allows a better use of resources and reduces the need for companies to make large investments in a local infrastructure.
  • Company has options to use any of these SaaS, IaaS or PaaS 
  • check
    Makes it easy for new start up companies - no big investment needed upfront

Teacher Notes:

Some Compelling Reasons to Choose Cloud Computing

  • Can grow and shrink automatically
  • No need to buy in house servers -  Hard disks crash - have a life time
  • No need for special air con room and tech staff
  • Auto Configure  - Save time  creating your own topology
  • Abstraction don't need to be concerned how it all works 

Scenario:

If you have an in house client server set up: The server is used to host your web site and associated database: Your site takes off and you are swamped with users and your server can not cope because and you are losing business as bandwidth has exceeded.

2 In house options expand Vertically or Horizontally

  • VERTICAL  Increase processing power increase RAM
  • HORIZONTAL: Add new machines / servers  

SaaS :  Software as a Service

Enter your text here...

C4 Lesson

Link to Lesson Notes Click here

C2 Lesson

Link to Lesson Notes Click here