Question: IN DETAILED - Pseudo code for findLCS() appears after the pseudo code for cutRod(). int cutRod( int [] p ) Initialize. Set n to the
IN DETAILED - Pseudo code for findLCS() appears after the pseudo code for cutRod(). int cutRod( int [] p ) Initialize. Set n to the length of the prices array p. Allocate space for an array r from 0 ton Set r[ o ] to 0 Loop for j from 1 to n inclusive Set q to -o0 for i from 1 toj inclusive if p[i] + r[ j - i] >q Set q to p[i] + r[j - i] set r[j ] to a Return r[n] int [][][] findLCS( sequence X, sequence Y) Initialize. Set m to the length of X and n to the length of Y. Declare two 2D arrays of size m+1 by n+1 named c and b. Loop for i from 1 to m inclusive forj from 1 to n inclusive if x[i] equals y[j] cli,j) = 1 + cli - 1, j - 1) bli, j) = NW else if cli - 1,j) = cli, j - 1) cli, j) = cli - 1,j) bli, j) = N else cli, j) = cli, j - 1) bli, j) = W Return the 2D arrays c and bConsider [18 marks] (c) Discuss the reasons why languages such as Fortran, Algol and PL/I designed in 1980s and 1990s are less widely used than languages designed in the last 20 years. [6 marks] 4 [TURN OVER CST.2002.2.3 11 Operating Systems II (a) What problem do real-time scheduling algorithms try to solve? [2 marks] (b) Assign the First host IP address from Network X subnet to S0/1/0 interface of R1. k. Assign the Last host IP address from Network X subnet to S0/1/1 interface of R3. 1. Assign the First host IP address from Network Y subnet to S0/1/0 interface of R3. m. Assign the Last host IP address from Network Y subnet to S0/1/1 interface of R2. n. Assign the First host IP address from Network Z subnet to S0/1/0 interface of R2. 0. Assign the Last host IP address from N2. The blocks are connected with each through an underground tunnel. The distance between blocks is 130 meters. Each block has its own server room for housing servers and network devices. Each floor has its own telecommunication closet and the floor can be occupied up to a maximum of 320 staffs. Company X1YZ has 3199 different departments as follow: for the simulation. TLBs and caches are examples of content-addressable memories (CAMs). (a) What is the principal difference between a CAM and a RAM? [4 marks] (b) What is the difference between fully associative, set associative and direct mapped lookup? [6 marks] (c) Why are TLBs always much smaller than caches? [4 marks] (d) Which of the lookup mechanisms in part (b) is usually used for a TLB and why aren't the other mechanisms usually used? [6 marks] 2 ECAD Consider the following mysterious Verilog module. module mystery(c,r,a,s); input c,r,a; output [2:0] s; reg [2:0] s; always @(posedge c or posedge r) if(r) s<=0; else begin if(a && (s<7)) s<=s+1; else if(!a && (s>0)) s<=s-1; end endmodule (a) How many flip-flops will be required to implement the mystery module, and how will signals c and r be connected to these flip-flops? [5 marks] (b) What is the state transition diagram for this mystery module? [5 marks] (c) If this module were synthesised to the minimum sum of products form, what would the equations be for next state bits s[0], s[11] and s[12]? [110 marks] 2 CST.2104.1.3 3 Data Structures and Algorithms (a) Describe how the Lempel Ziv text compression algorithm works, illustrating your answer by deriving the sequence of numbers and corresponding bit patterns it would generate when applied to a string starting with the following 24 characters: ABCDABCDABCDABCDABCDABCD ... You may assume that the initial table is of size 256 (containing bytes 0 to 255) and that the codes for "A", "B", "C" and "D" are 65, 66, 67 and 68, respectively. [12 marks] (b) Estimate how many bits the algorithm would use to encode a string consisting of 1000 repetitions of the character "A". [8 marks] 4 Comparative Programming Languages (a) Discuss to what extent a programmer can expect a program that conforms to a standard to generate identical results when run under different conforming compilers on different machines. [6 marks] (b) ALGOL 60 provided call by value and call by name, Pascal provided call by value and call by reference, and ALGOL-W provided a variety of calling methods including call by result and call by value-result. Briefly describe the calling mechanisms just mentioned and discuss why most modern programming languages provide only call by value. [8 marks] (c) Discuss the reasons why languages such as Fortran, Algol and PL/I designed in 1950s and 1960s are less widely used than languages designed in the last 20 years. [6 marks] 3 [TURN OVER CST.2004.3.4 5 Operating Systems II (a) What problem do real-time scheduling algorithms try to solve? [2 marks] (b) Describe one static priority and one dynamic priority real-time scheduling algorithm. You should discuss the issue of admission control, and comment on the data structures that an implementation would need to maintain and on how these would be used to make scheduling decisions.are a data structure protected by a mutual exclusion lock. (i) What scheduling problem could arise here? [2 marks] (ii) How could this problem be overcome? [2 marks] (d) The designer also wishes the real-time system to use demand paged virtual memory for efficiency. Object n = new Integer(422), 33o = new String("Based"); Object [] v; Integer [] w = new Integer[10]; v = w; v[4] = n; v[5] = o; [4 marks] (e) Consider the Java code: Object n = new Integer(42); ArrayList v1; ArrayList v2; ArrayList w = new ArrayList<>(10); Explain any differences in behaviour between assignments v1 = w and v2 = w and also between method calls v1.set(4,n) and v2.set(4,n). [4 marks] 6 CST.2016.3.7 6 Further Java (a) Describe the operation of wait() and notifyAll(). Ensure that your answer explains when locks are acquired and released. [5 marks] (b) A future is a mechanism to store the eventual result of a computation done in another thread. With the three datasets you have decided to use multiple tools in your Hadoop environment, an external hive table called "Company" in the default database using Company_data.csv , use a separate folder for file in HDFS. After Completing your hive table make sure you can access it, secondly upload the Company_Emp_data.csv and the Sales_data.csv to a HDFS folder. Then,Give all uses of required in a typing derivation for N1; prove that there does not exist a typing derivation for N2. With the three datasets you have decided to use multiple tools in your Hadoop environment, an external hive table called "Company" in the default database using Company_data.csv , use a separate folder for file in HDFS. After Completing your hive table make sure you can access it, secondly upload the Company_Emp_data.csv and the Sales_data.csv to a HDFS folder. Write brief notes on functions as values and results in ML, illustrated with the help of the functionals map and exists. What functions can we obtain from these via currying? [6 marks] (b) Consider the function zarg defined below: fun zarg f ([], e) = e | zarg f (x::xs, e) = f(x, zarg f (xs,e)); Show that with the help of this function, it is possible to an expression for the sum of a given list of integers. Then describe what zarg does in general. [4 marks] (c) A polymorphic type of branching trees can be declared as follows. Note that the children of a branch node are given as a list of trees, and that only the leaf nodes carry labels. datatype 'a vtree = Lf of 'a | Br of ('a vtree) list; (i) Write function flat t that converts a given tree t of this type to a list of the labels (without eliminating duplicates). Your function should run in linear time in the size of the tree. [4 marks] (ii) Write function counts x t that counts the number of times that x occurs as a label in t, but without first converting t to a list. Well-known utility functions may be assumed to be available. 3 (TURN OVER) CST.2016.1.4 SECTIONc 3 Object-Oriented Programming Java generics allows an ArrayList object to be constrained to use a single specific type (e.g. ArrayList). However, some applications require the ability to store objects of multiple unrelated types. In this question the aim is to store Integer objects alongside LinkedList objects. (a) One solution is to use ArrayList, since all Java objects extend Object. Explain why this is bad practice. [2 marks] (b) Seeking to provide a solution that allows an arbitrary set of constrained types, a programmer writes an abstract ConstrainedArray base class. To use it, the class is extended and a specialised void add(...) method should be provided for each acceptable type. public abstract class ConstrainedArray { protected ArrayList mArray = new ArrayList(); public Object get(int idx) {return mArray.get(idx);} public int size() { return mArray.size(); } } (i) Show how to a class IntListArray that extends this base class and accepts only Integer or LinkedList objects. Where appropriate, objects should be copied on insertion. [10 marks] Data: What is a principal type scheme? Give the principal type scheme for N1, or explain informally why it does not have one. Initially, (a) Why are TLBs always much smaller than caches? [4 marks] (b) Which of the lookup mechanisms in part (c) is usually used for a TLB and why aren't the other mechanisms usually used