With the aid of theory and practical examples identify five


GUIDELINES

The purpose of an assignment is to ensure that the Learner is able to:
- Use methods of enquiry and research in a disciplined field.
- Interpret and evaluate text.
- Have a sound understanding of key principles and theories, rules and awareness.
- Solve unfamiliar problems using correct procedures as well as investigate and critically analyse information and report thereof.
- Present and communicate information reliably and coherently.

Instructions and guidelines for writing assignments

1. Use the correct cover page provided by the institution.

2. All essay type assignments must include the following:
Table of contents
Introduction
Main body with subheadings
Conclusions and recommendations
Bibliography

3. The length of the entire assignment must have minimum of 5 pages. Preferably typed with font size 12
The quality of work submitted is more important than the number of assigned pages.

4. Copying is a serious offence which attracts a severe penalty and must be avoided at all costs. If any learner transgresses this rule, the lecturer will retain the assignments and ask the affected learners to resubmit a new assignment which will be capped at 50%.

5. Use the Harvard referencing method.

ASSIGNMENT 1

QUESTION ONE

1.1 With the aid of theory and practical examples, Identify five common project risk strategies employed to address threats that your project may face.

QUESTION TWO

2.1 Projects are often completed late. Describe the techniques you would use as a project manager to improve the accuracy and reliability of your project schedule. In responding to the question be sure to: critique project theory based on your experience and understanding. This is important - don't just "regurgitate" the theory. Provide examples, data or other relevant information to support your discussion. Examples can be from work experience, research, and study group experiences.

They should demonstrate the theoretical points you are asserting in the questions

ASSIGNMENT 2

QUESTION ONE

1. Create a java program that will count all words in a sentence. The program should have a minimum of two classes.
The first class should be named class1, this class will have the following:
- The main method (starting point)
- The object of class2
- Should also call the get method count_words(String str)

The second class should be named class2, this class should have the following:

- A constructor
- A get method named count_words(String str)
Constract a flowchart for class1 and class2 both combined.

QUESTION TWO

2.1 Create a Java program that will display the first 40 pentagonal numbers. Hint: A pentagonal number is a figurate number that extends the concept of triangular and square numbers to the pentagon, but, unlike the first two, the patterns involved in the construction of pentagonal numbers are not rotationally symmetrical.

QUESTION THREE

Write a Java program that will compute the future investment value at a given interest rate for a specified number of years. The java program should have a minimum of two classes.
classA
- The main method (starting point)
- The object of classb
- Should also call the void method named futureInvestmentValue (double investment Amount, double monthlyInterestRate, int years)

classB
- A get method named count_words(String str)

ASSIGNMENT 3

QUESTION ONE

Viruses, worms, Trojan horses, and hacking are all security issues in our computer network. Each of these malwares or programs attaches and spreads in different ways. Through hacking hackers can infect computers with various types or malware and viruses. Explain what viruses are, how it occurs and the types of cybercrimes that can result from it, and how to better protect computers.

Viruses and hacking have a major impact on two main topics discussed in Computer Information Technology. Provide Data Security Technologies and elaborate on how each is implemented.

QUESTION TWO

Discuss how developers should apply the following countermeasures to improve the security of their code:
a) Modularity
b) Coupling
c) Encapsulation
d) Information hiding
e) Mutual suspicion

If you forget your password for a website and you click [Forgot my password], sometimes the company sends you a new password by e-mail, but sometimes it sends you your old password by e-mail. Compare these two cases in terms of Vulnerability of the website owner.

Explain and draw how the viruses are affected on the file.

QUESTION THREE
KERBOROS VERSUS PUBLIC KEY INFRASTRUCTURE

Consider a Kerberos system in which the central server has been silently compromised. Which property of security has been violated from the user's Perspective? Explain.

Consider a PKI system in which the central server has been silently compromised.

Which property of security has been violated from the user's perspective? Explain.

The Internet has changed crime in a huge way. No longer does a bank robber even need to be in the same country to rob a bank or financial institution - they can crack an unprotected web site

from the comfort of their own home. No gun or physical presence is needed to rob a store - simply monitoring a poorly equipped store's WLAN can provide many credit card numbers. It is hard to safeguard your computer or prosecute criminals, when the criminal is in another country, possibly attacking through botnets. Company approach and implement security in a variety of ways. Discuss the below questions and make your own recommendations to base on security.

What confidentiality, integrity, and availability threats might such a system experience? Hypothesize vulnerabilities in such a system that an attacker might try to exploit.

What counter measures could be applied against these threats?

ASSIGNMENT 4

QUESTION ONE

Instructions

In this assignment, you will implement three inference algorithms for the popular puzzle game Sudoku.

A skeleton file homework4.py containing empty definitions for each question has been provided. Since portions of this assignment will be graded automatically, none of the names or function signatures in this file should be modified. However, you are free to introduce additional variables or functions if needed.

You may import definitions from any standard Python library, and are encouraged to do so in case you find yourself reinventing the wheel. If you are unsure where to start, consider taking a look at the data structures and functions defined in the collections, copy, and itertools modules.

You will find that in addition to a problem specification, most programming questions also include one or two examples from the Python interpreter. In addition to performing your own testing, you are strongly encouraged to verify that your code gives the expected output for these examples before submitting.

It is highly recommended that you follow the Python style guidelines set forth in PEP 8, which was written in part by the creator of Python. However, your code will not be graded for style.

Once you have completed the assignment, you should submit your file on Eniac using the
following turnin command, where the flags -c and -p stand for "course" and "project", respectively.

turnin -c cis521 -p hw4 homework4.py

You may submit as many times as you would like before the deadline, but only the last submission will be saved. To view a detailed listing of the contents of your most recent submission, you can use the following command, where the flag -v stands for "verbose".

turnin -c cis521 -p hw4 -v

Sudoku

In the game of Sudoku, you are given a partially-filled 9×99×9 grid, grouped into a 3×33×3 grid of 3×33×3 blocks. The objective is to fill each square with a digit from 1 to 9, subject to the requirement that each row, column, and block must contain each digit exactly once.

In this section, you will implement the AC-3 constraint satisfaction algorithm for Sudoku, along with two extensions that will combine to form a complete and efficient solver.

A number of puzzles have been made available on the course website for testing, including:

- An easy-difficulty puzzle: easy.txt.
- Four medium-difficulty puzzles: medium1.txt, medium2.txt, medium3.txt, and medium4.txt.
- Two hard-difficulty puzzles: hard1.txt and hard2.txt.


1. In this section, we will view a Sudoku puzzle not from the perspective of its grid layout, but more abstractly as a collection of cells. Accordingly, we will represent it internally as a dictionary mapping from cells, i.e. (row, column) pairs, to sets of possible values.

In the Sudoku class, write an initialization method init (self, board) that stores such a mapping for future use. Also write a method get_values(self, cell) that returns the set of values currently available at a particular cell.

In addition, write a function read_board(path) that reads the board specified by the file at the given path and returns it as a dictionary. Sudoku puzzles will be represented textually as 9 lines of 9 characters each, corresponding to the rows of the board, where a digit between "1" and "9" denotes a cell containing a fixed value, and an asterisk "*" denotes a blank cell that could contain any digit.

2. You are instructed to write a function sudoku_cells() that returns the list of all cells in a Sudoku puzzle as (row, column) pairs. The line CELLS = sudoku_cells() in the Sudoku class then creates a class-level constant Sudoku.CELLS that can be used wherever the full list of cells is needed. Although the functionsudoku_cells() could still be called each time in its place, that approach results in a large amount of repeated computation and is therefore highly inefficient. The ordering of the cells within the list is not important, as long as they are all present.

3. >>> sudoku_cells()

4. [(0, 0), (0, 1), (0, 2), (0, 3), (0, 4), ..., (8, 5), (8, 6), (8, 7), (8, 8)]

5. Write a function sudoku_arcs() that returns the list of all arcs between cells in a Sudoku puzzle corresponding to inequality constraints. In other words, each arc should be a pair of cells whose values cannot be equal in a solved puzzle. The arcs should be represented a two- tuples of cells, where cells themselves are (row, column) pairs. The line ARCS = sudoku_arcs() in the Sudoku class then creates a class-level constant Sudoku.ARCS that can be used wherever the full list of arcs is needed. The ordering of the arcs within the list is not important, as long as they are all present.

6. In the Sudoku class, write a method remove_inconsistent_values(self, cell1, cell2) that removes any value in the set of possibilities for cell1 for which there are no values in the set of possibilities for cell2 satisfying the corresponding inequality constraint. Each cell argument will be a (row, column) pair. If any values were removed, return True; otherwise, return False.

7. In the Sudoku class, write a method infer_ac3(self) that runs the AC-3 algorithm on the current board to narrow down each cell's set of values as much as possible. Although this will not be powerful enough to solve all Sudoku problems, it will produce a solution for easy- difficulty puzzles such as the one shown below. By "solution", we mean that there will be exactly one element in each cell's set of possible values, and that no inequality constraints will be violated.

8. Consider the outcome of running AC-3 on the medium-difficulty puzzle shown below. Although it is able to determine the values of some cells, it is unable to make significant headway on the rest.

9. However, if we consider the possible placements of the digit 7 in the upper-right block, we observe that the 7 in the third row and the 7 in the final column rule out all but one square, meaning we can safely place a 7 in the indicated cell despite AC-3 being unable to make such an inference.
10. In the Sudoku class, write a method infer_improved(self) that runs this improved version of AC-3, usinginfer_ac3(self) as a subroutine (perhaps multiple times).

You should consider what deductions can be made about a specific cell by examining the possible values for other cells in the same row, column, or block. Using this technique, you should be able to solve all of the medium-difficulty puzzles.

11. Although the previous inference algorithm is an improvement over the ordinary AC-3 algorithm, it is still not powerful enough to solve all Sudoku puzzles. In the Sudoku class, write a methodinfer_with_guessing(self) that calls infer_improved(self) as a subroutine, picks an arbitrary value for a cell with multiple possibilities if one remains, and repeats. You should implement a backtracking search which reverts erroneous decisions if they result in unsolvable puzzles. For efficiency, the improved inference algorithm should be called once after each guess is made.

ASSIGNMENT 5

QUESTION ONE

In the U.S coin system, the penny is the basic coin, and it is equal to cent, a nickel is equivalent to 5 cents, a dime is equivalent to 10 cents, a quarter is equivalent to 25 cents, and half-dollar is equivalent to 50 cents. Design and implement a program that would make use of the functions shown below. Each function has a single int formal parameter Amount.
a) HalfDollars (): Compute the maximum number of half-dollars that could be used in making change for Amount.
b) Quarters():Compute the maximum number of quarter that could be used in making change for Amount
c) Dimes ():Compute the maximum number of dimes that could be used in making change for Amount
d) Nickels () : Compute the maximum number of nickels that could be used in making change for Amount

QUESTION TWO

Design and implement a program that computes final averages for a set of grades. The program reads the grades from a user. (10)
The format of a grade line is:

N grades1, grades2, ............., grades5

Where N is total number of students and grades is the ith score. All scores must be between 0 and 100.
The program reads the grades from the user, calculate and display the average. The weighted average is computed as:
NB: Your program should validate its input. That is, it should make sure each score is between 0 and 100 and that each student has n scores/ grades. If a student's grades are invalid, the program should display an error message. The program should contain modules / functions that handles validating the input.

Extend 2.1 so that the program also determines a final letter grade.

Extend 2.2 so that the program computes and display an overall class average, lowest and highest grade. Use functions getMax and getMin to determine the lowest and the highest grades of students. (10)

Extend 2.3 so that the program print a distribution chart of grades data using technique similar to that in fig 1.

QUESTION THREE

3.1 Write a function named "reverse" that takes as its arguments the following:

(1) an array of floating point values; (15)

(2) an integer that tells how many floating point values are in the array. (15) The function must reverse the order of the values in the array.

The function should not return any value.

Attachment:- ASSIGNMENTS.rar

Request for Solution File

Ask an Expert for Answer!!
Dissertation: With the aid of theory and practical examples identify five
Reference No:- TGS02746491

Expected delivery within 24 Hours