Questions
New legislation passed in 2017 by the U.S. Congress changed tax laws that affect how many...

New legislation passed in 2017 by the U.S. Congress changed tax laws that affect how many people file their taxes in 2018 and beyond. These tax law changes will likely lead many people to seek tax advice from their accountants (The New York Times). Backen and Hayes LLC is an accounting firm in New York state. The accounting firms believe that it may have to hire additional accountants to assist with the increased demand in tax advice for the upcoming tax season. Backen and Hayes LLC has developed the following probability distribution for x= number of new clients seeking tax advice.

x f(x)
20 .05
25 .20
30 .25
35 .15
40 .15
45 .10
50 .10

a. Is this a valid probability distribution? Explain.

b. What is the probability that Backens and Hayes LLC will obtain 40 or more new clients?

c. What is the probability that Backens and Hayes LLC will obtain fewer than 35 new clients?

d. Compute the expected value, variance, and standard deviation of x.

In: Math

Signs For Fields Machinery Ltd. is considering the replacement of some technologically obsolete machinery with the...

Signs For Fields Machinery Ltd. is considering the replacement of some technologically obsolete machinery with the purchase of a new machine for $72,000. Although the older machine has no market value, it could be expected to perform the required operation for another 10 years. The older machine has an unamortized capital cost of $27,000. The new machine with the latest in technological advances will perform essentially the same operations as the older machine but will effect cost savings of $17,500 per year in labour and materials. The new machine is also estimated to last 10 years, at which time it could be salvaged for $11,500. To install the new machine will cost $7,000. Signs For Fields has a tax rate of 30 percent, and its cost of capital is 15 percent. For accounting purposes, it uses straight-line amortization, and for tax purposes its CCA is 20 percent.

a. Should Signs for Fields Machinery purchase the new machine?

b. If the old machine has a current salvage value of $9,000, Should Signs For Fields purchase the new machine?

c. Calculate the IRR and PI for part a.

In: Finance

Java 2D Drawing Application. The application will contain the following elements: a) an Undo button to...

Java 2D Drawing Application.

The application will contain the following elements:

a) an Undo button to undo the last shape drawn.

b) a Clear button to clear all shapes from the drawing.

c) a combo box for selecting the shape to draw, a line, oval, or rectangle.

d) a checkbox which specifies if the shape should be filled or unfilled.

e) a checkbox to specify whether to paint using a gradient.

f) two JButtons that each show a JColorChooser dialog to allow the user to choose the first and second color in the gradient.

g) a text field for entering the Stroke width.

h) a text field for entering the Stroke dash length.

I) a checkbox for specifying whether to draw a dashed or solid line.

j) a JPanel on which the shapes are drawn.

k) a status bar JLabel at the bottom of the frame that displays the current location of the mouse on the draw panel.

If the user selects to draw with a gradient, set the Paint on the shape to be a gradient of the two colors chosen by the user. If the user does not chose to draw with a gradient, then Paint with a solid color of the 1st Color. The following code can build a gradient paint object:

Paint paint = new GradientPaint(0, 0, color1, 50, 50, color2, true);

To set the stroke for a line to be drawn, you can use the following code:

if (dashCheckBox.isSelected())

{

stroke = new BasicStroke(lineWidth, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND, 10, dashLength, 0);

} else

{

stroke = new BasicStroke(lineWidth, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND);

}

Where the first stroke line build a dashed line and dashLength is a one element float array with the dash length in the first element. The second stroke line build an undashed line with the line width specified from the GUI.

Note: When dragging the mouse to build a new shape, the shape should be drawn as the mouse is dragged.

A template project has been provided for you in Canvas in Java2DDrawingApplicationTemplate.zip. This project contains a MyShapes hierarchy that is a complete shape hierarchy for drawing a line, rectangle or oval. You must use this MyShapes hierarchy. A template for the Drawing Application Frame is also provided along with a template for the DrawPanel inner class. You do not need to use these templates if you so choose.

In the paintComponent(Graphics g) method of the DrawPanel, to loop through and draw each shape created by the user, you will loop through an ArrayList of MyShapes, that you built, and call the draw(Graphics2D g2d) method for each shape. The draw method is already implemented in the MyShapes hierarchy.

Note: You do not need to build an event handler for each component in the top two lines of the frame. You only need to create event handlers for the buttons. You can get the values out of all the other components in the top two lines, when the user presses the mouse button on the DrawPanel. At that time, you have all the information you need to build a new Myshapes object.

*Note: Please Do Not Use the One from Github. I have worked on the code a little bit I’m unable to get the code to draw objects and get coordinates of the mouse when moving in the drawPanel. In the comments below, I have attached different classes that I have created for the code. In addition to this file, I have six more classes so a total of 7 files and the names are 1. MyBoundedShapes
2. MyLine
3. MyOval
4. MyRectangle
5. MyShapes
6. Java2dDrawingApplication
7. DrawingApplicationFrame (current code)*


/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package a5;

/**
*
* @author dhruvi
*/
import java.awt.BasicStroke;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.GridLayout;
import java.awt.Paint;
import java.awt.Point;
import java.awt.Stroke;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.util.ArrayList;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JColorChooser;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.CompoundBorder;
import javax.swing.border.EmptyBorder;
import javax.swing.border.LineBorder;

public class DrawingApplicationFrame extends JFrame {
static ArrayList<String> itemsDrawn;
  
// Create the panels for the top of the application. One panel for each
// line and one to contain both of those panels.
private final JPanel topPanel = new JPanel();
private final JPanel first_line_panel = new JPanel();
private final JPanel second_line_panel = new JPanel();
private DrawPanel drawPanel = new DrawPanel();
private final JPanel statusPanel = new JPanel();
  
// create the widgets for the firstLine Panel.
private final JButton undo = new JButton("Undo");
private final JButton clear = new JButton("Clear");
private final JLabel shape = new JLabel("Shapes:");
public JComboBox shapes = new JComboBox<>(new String[] {"Oval", "Rectangle", "Line"});
private final JCheckBox filled = new JCheckBox("Filled");

//create the widgets for the secondLine Panel.
private final JCheckBox gradient = new JCheckBox("Use Gradient");
private final JButton foreground = new JButton("1st Color");
private final JButton background = new JButton("2nd Color");
private final JCheckBox dashed = new JCheckBox("Dashed");
private final JLabel width = new JLabel("Line Width:");
private final JTextField lineWidth = new JTextField("10");
private final JLabel length = new JLabel("Dash Length:");
private final JTextField dashLength = new JTextField("15");
static JLabel mousePos = new JLabel("( , )");

// Variables for drawPanel.
  
//public MouseHandler mouseHandler = new MouseHandler();
private int mouseX = 0;
private int mouseY = 0;
  
// add status label
  
// Constructor for DrawingApplicationFrame
public DrawingApplicationFrame() {
  
// add topPanel to North, drawPanel to Center, and statusLabel to South
topPanel.setLayout(new BorderLayout());
first_line_panel.setLayout(new FlowLayout());
second_line_panel.setLayout(new FlowLayout());
drawPanel.setLayout(new BorderLayout());
statusPanel.setLayout(new BorderLayout());
  
// add widgets to panels
// firstLine widgets
first_line_panel.add(undo);
first_line_panel.add(clear);
first_line_panel.add(shape);
first_line_panel.add(shapes);
first_line_panel.add(filled);
  
// secondLine widgets
second_line_panel.add(gradient);
second_line_panel.add(foreground);
second_line_panel.add(background);
second_line_panel.add(width);
second_line_panel.add(lineWidth);
second_line_panel.add(length);
second_line_panel.add(dashLength);
second_line_panel.add(dashed);
  
// add top panel of two panels
topPanel.add(first_line_panel, "North");
topPanel.add(second_line_panel, "South");
  
drawPanel.setVisible(true);
drawPanel.setBackground(Color.WHITE);
  
statusPanel.add(mousePos, BorderLayout.WEST);
statusPanel.setVisible(true);

super.add(topPanel, "North");
super.add(drawPanel, "Center");
super.add(statusPanel, "South");
  
//add listeners and event handlers
// Create event handlers, if needed
clear.addActionListener((ActionEvent arg0) -> {
itemsDrawn = new ArrayList<>();
drawPanel.repaint();
});
  
undo.addActionListener((ActionEvent arg0) -> {
if (itemsDrawn.size() != 0) {
itemsDrawn.remove(itemsDrawn.size() - 1);
drawPanel.repaint();
}
});
  
foreground.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent event) {
foreground.setBackground(JColorChooser.showDialog(null, "Pick your color", Color.BLACK));
}
});
  
background.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent event) {
background.setBackground(JColorChooser.showDialog(null, "Pick your color", Color.BLACK));
}
});
}

// Create a private inner class for the DrawPanel.   
private class DrawPanel extends JPanel {
public DrawPanel(){
itemsDrawn = new ArrayList<>();
}

public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
  
//loop through and draw each shape in the shapes arraylist
for (MyShapes Shape : itemsDrawn) {
Shape.paint(this, g2d);
}
}
}
  
private class MouseHandler extends MouseAdapter implements MouseMotionListener {
  
public void mousePressed(MouseEvent event) {
Paint paint;
repaint();
}

public void mouseReleased(MouseEvent event) {
repaint();
}

@Override
public void mouseDragged(MouseEvent event) {
shapeObject.setEndPoint(event.getPoint());
repaint();
statusPanel.setText("(" + event.getX() + "," + event.getY() + ")");
}

@Override
public void mouseMoved(MouseEvent event) {
String position = "(" + event.getPoint().x + "," + event.getPoint().y + ")";
mousePos.setText(position);
}
}
}
}

In: Computer Science

 Wells Printing is considering the purchase of a new printing press. The total installed cost of...

 Wells Printing is considering the purchase of a new printing press. The total installed cost of the press is $ 2.15 million. This outlay would be partially offset by the sale of an existing press. The old press has zero book​ value, cost $ 1.01 million 10 years​ ago, and can be sold currently for $ 1.29 million before taxes. As a result of acquisition of the new​ press, sales in each of the next 5 years are expected to be $ 1.65 million higher than with the existing​ press, but product costs​ (excluding depreciation) will represent 54 % of sales. The new press will not affect the​ firm's net working capital requirements. The new press will be depreciated under MACRS- using a​ 5-year recovery period. The firm is subject to a 40 % tax rate. Wells​ Printing's cost of capital is 11.4 % ​(Note: Assume that the old and the new presses will each have a terminal value of $ 0at the end of year​ 6.)

Rounded Depreciation Percentages by Recovery Year Using MACRS for
First Four Property Classes              
   Percentage by recovery year*          
Recovery year    3 years    5 years    7 years    10 years
1    33%   20%   14%   10%
2    45%   32%   25%   18%
3    15%   19%   18%   14%
4    7%   12%   12%   12%
5        12%   9%   9%
6        5%   9%   8%
7            9%   7%
8            4%   6%
9                6%
10                6%
11                4%
Totals   100%   100%   100%   100%

               

a. Determine the initial investment required by the new press.

a. Determine the initial investment required by the new press.

Calculate the initial investment will​ be:  ​(Round to the nearest​ dollar.)

Installed cost of new press

$

Proceeds from sale of existing press

$

Taxes on sale of existing press

$

Total after-tax proceeds from sale

$

Initial investment

$

b. Determine the operating cash flows attributable to the new press.​ (Note: Be sure to consider the depreciation in year​ 6.)

c. Determine the payback period.

d. Determine the net present value​ (NPV) and the internal rate of return​ (IRR) related to the proposed new press.

e. Make a recommendation to accept or reject the new​ press, and justify your answer.

SHOW ALL WORK!!! Including formulas

In: Statistics and Probability

Oscar Clemente is the manager of Forbes Division of Pitt, Inc., a manufacturer of biotech products....

Oscar Clemente is the manager of Forbes Division of Pitt, Inc., a manufacturer of biotech products. Forbes Division, which has $3.5 million in assets, manufactures a special testing device. At the beginning of the current year, Forbes invested $3.5 million in automated equipment for test machine assembly. The division's expected income statement at the beginning of the year was as follows.

Sales revenue $ 15,600,000
Operating costs
Variable 1,950,000
Fixed (all cash) 7,100,000
Depreciation
New equipment 1,430,000
Other 1,200,000
Division operating profit $ 3,920,000

A sales representative from LSI Machine Company approached Oscar in October. LSI has for $5.65 million a new assembly machine that offers significant improvements over the equipment Oscar bought at the beginning of the year. The new equipment would expand division output by 10 percent while reducing cash fixed costs by 5 percent. It would be depreciated for accounting purposes over a 3-year life. Depreciation would be net of the $400,000 salvage value of the new machine. The new equipment meets Pitt's 20 percent cost of capital criterion. If Oscar purchases the new machine, it must be installed prior to the end of the year. For practical purposes, though, Oscar can ignore depreciation on the new machine because it will not go into operation until the start of the next year.

The old machine, which has no salvage value, must be disposed of to make room for the new machine.

Pitt has a performance evaluation and bonus plan based on ROI. The return includes any losses on disposal of equipment. Investment is computed based on the end-of-year balance of assets, net book value. Ignore taxes.

Required:

a. What is Forbes Division's ROI if Oscar does not acquire the new machine? (Enter your answer as a percentage rounded to 1 decimal place (i.e., 32.1).)

b. What is Forbes Division's ROI this year if Oscar acquires the new machine? (Enter your answer as a percentage rounded to 1 decimal place (i.e., 32.1).)

c. If Oscar acquires the new machine and it operates according to specifications, what ROI is expected for next year? (Enter your answer as a percentage rounded to 1 decimal place (i.e., 32.1).)

In: Accounting

Oscar Clemente is the manager of Forbes Division of Pitt, Inc., a manufacturer of biotech products....

Oscar Clemente is the manager of Forbes Division of Pitt, Inc., a manufacturer of biotech products. Forbes Division, which has $4.03 million in assets, manufactures a special testing device. At the beginning of the current year, Forbes invested $5.06 million in automated equipment for test machine assembly. The division’s expected income statement at the beginning of the year was as follows.

Sales revenue $ 16,120,000
Operating costs
Variable 2,110,000
Fixed (all cash) 7,560,000
Depreciation
New equipment 1,580,000
Other 1,280,000
Division operating profit $ 3,590,000

A sales representative from LSI Machine Company approached Oscar in October. LSI has for $6.27 million a new assembly machine that offers significant improvements over the equipment Oscar bought at the beginning of the year. The new equipment would expand division output by 10 percent while reducing cash fixed costs by 5 percent. It would be depreciated for accounting purposes over a three-year life. Depreciation would be net of the $639,000 salvage value of the new machine. The new equipment meets Pitt's 12 percent cost of capital criterion. If Oscar purchases the new machine, it must be installed prior to the end of the year. For practical purposes, though, Oscar can ignore depreciation on the new machine because it will not go into operation until the start of the next year.

The old machine, which has no salvage value, must be disposed of to make room for the new machine.

Pitt has a performance evaluation and bonus plan based on residual income. Pitt uses a cost of capital of 12 percent in computing residual income. Income includes any losses on disposal of equipment. Investment is computed based on the end-of-year balance of assets, net book value. Ignore taxes.

Required:

a. What is Forbes Division’s residual income if Oscar does not acquire the new machine?

b. What is Forbes Division’s residual income this year if Oscar acquires the new machine?

c. If Oscar acquires the new machine and operates it according to specifications, what residual income is expected for next year?

(Enter your answers in thousands of dollars. Negative amounts should be indicated by a minus sign. Round your answers to the nearest whole dollars)

In: Accounting

Oscar Clemente is the manager of Forbes Division of Pitt, Inc., a manufacturer of biotech products....

Oscar Clemente is the manager of Forbes Division of Pitt, Inc., a manufacturer of biotech products. Forbes Division, which has $4.5 million in assets, manufactures a special testing device. At the beginning of the current year, Forbes invested $3.5 million in automated equipment for test machine assembly. The division's expected income statement at the beginning of the year was as follows.

Sales revenue $ 15,800,000
Operating costs
Variable 2,075,000
Fixed (all cash) 7,300,000
Depreciation
New equipment 1,470,000
Other 1,200,000
Division operating profit $ 3,755,000

A sales representative from LSI Machine Company approached Oscar in October. LSI has for $6.5 million a new assembly machine that offers significant improvements over the equipment Oscar bought at the beginning of the year. The new equipment would expand division output by 10 percent while reducing cash fixed costs by 5 percent. It would be depreciated for accounting purposes over a 3-year life. Depreciation would be net of the $500,000 salvage value of the new machine. The new equipment meets Pitt's 20 percent cost of capital criterion. If Oscar purchases the new machine, it must be installed prior to the end of the year. For practical purposes, though, Oscar can ignore depreciation on the new machine because it will not go into operation until the start of the next year.

The old machine, which has no salvage value, must be disposed of to make room for the new machine.

Pitt has a performance evaluation and bonus plan based on ROI. The return includes any losses on disposal of equipment. Investment is computed based on the end-of-year balance of assets, net book value. Ignore taxes.

Required:

a. What is Forbes Division's ROI if Oscar does not acquire the new machine? (Enter your answer as a percentage rounded to 1 decimal place (i.e., 32.1).)

b. What is Forbes Division's ROI this year if Oscar acquires the new machine? (Enter your answer as a percentage rounded to 1 decimal place (i.e., 32.1).)

c. If Oscar acquires the new machine and it operates according to specifications, what ROI is expected for next year? (Enter your answer as a percentage rounded to 1 decimal place (i.e., 32.1).)

In: Accounting

QUESTION 7 Contreras, Inc. is analyzing the replacement of a color copier. The old machine was...

QUESTION 7

Contreras, Inc. is analyzing the replacement of a color copier. The old machine was purchased 4 years ago for $40,000; it falls into the MACRS 7-year class; and it has 3 years of remaining life and a $7,000 salvage value 3 years from now. The current market value of the old machine is $14,000. The new machine has a price of $50,000, plus an additional $300 for installation and modification. Delivery of the machine will require $200. The new machine falls into the MACRS 7-year class, has a 3-year economic life, and can be salvaged for $18,000. The new machine will allow for a $3,000 increase in inventory, and accounts payable is expected to increase by $1,000. The new machine is expected to increase revenue by $15,000 per year and increase costs by $3,000 per year. The firm has a 13 percent cost of capital and a marginal tax rate of 21 percent. The MACRS 7-year class uses the following percentages: 14%, 25%, 17%, 13%, 9%, 9%, 9%, and 4% (in that order). (Round all CFs to the nearest dollar.)

What is the initial investment outlay at Year 0?

A.

Outflow of $38,836

B.

Outflow of $36,164

C.

Outflow of $38,084

D.

Outflow of $37,916

E.

Outflow of $40,164

If they switch out the old machine for the new one, how much more tax savings will the company get from the change in depreciation expense in Year 2 (t = 2)?

  1. A.

    $1,895

    B.

    $11,375

    C.

    $2,632

    D.

    $9,025

    E.

    $7,426

What is the tax effect from selling the new machine at the end of the project

A.

Inflow of $886

B.

Inflow of $462

C.

None of the other choices is correct.

D.

Outflow of $462

E.

Outflow of $886

Should the firm replace its older machine with the new machine?

A.

None of the other choices is within $100 of the correct answer.

B.

No, buying the new machine would lower the firm’s value by $3,188 expressed in today's dollars.

C.

No, buying the new machine would lower the firm’s value by $4,416 expressed in today's dollars

D.

No, buying the new machine would lower the firm’s value by $5,297 expressed in today's dollars.

E.

No, buying the new machine would lower the firm’s value by $6,871 expressed in today's dollars.

In: Finance

Problem 14-46 (Static) Equipment Replacement and Performance Measures (LO 14-2) Oscar Clemente is the manager of...

Problem 14-46 (Static) Equipment Replacement and Performance Measures (LO 14-2)

Oscar Clemente is the manager of Forbes Division of Pitt, Inc., a manufacturer of biotech products. Forbes Division, which has $4 million in assets, manufactures a special testing device. At the beginning of the current year, Forbes invested $5 million in automated equipment for test machine assembly. The division's expected income statement at the beginning of the year was as follows.

Sales revenue $ 16,000,000
Operating costs
Variable 2,000,000
Fixed (all cash) 7,500,000
Depreciation
New equipment 1,500,000
Other 1,250,000
Division operating profit $ 3,750,000

A sales representative from LSI Machine Company approached Oscar in October. LSI has for $6.5 million a new assembly machine that offers significant improvements over the equipment Oscar bought at the beginning of the year. The new equipment would expand division output by 10 percent while reducing cash fixed costs by 5 percent. It would be depreciated for accounting purposes over a three-year life. Depreciation would be net of the $500,000 salvage value of the new machine. The new equipment meets Pitt's 20 percent cost of capital criterion. If Oscar purchases the new machine, it must be installed prior to the end of the year. For practical purposes, though, Oscar can ignore depreciation on the new machine because it will not go into operation until the start of the next year.

The old machine, which has no salvage value, must be disposed of to make room for the new machine.

Pitt has a performance evaluation and bonus plan based on ROI. The return includes any losses on disposal of equipment. Investment is computed based on the end-of-year balance of assets, net book value. Ignore taxes.

Required:

a. What is Forbes Division's ROI if Oscar does not acquire the new machine?

b. What is Forbes Division's ROI this year if Oscar acquires the new machine? (Enter your answer as a percentage rounded to 1 decimal place (i.e., 32.1).)

c. If Oscar acquires the new machine and it operates according to specifications, what ROI is expected for next year? (Enter your answer as a percentage rounded to 1 decimal place (i.e., 32.1).)

In: Accounting

Task Generics: GenericStack Class. Java. package Modul02; public class GenericStack<E> { private java.util.ArrayList<E> list = new...

Task Generics: GenericStack Class. Java.

package Modul02;

public class GenericStack<E> {

private java.util.ArrayList<E> list = new java.util.ArrayList<>();

public int size() {

return list.size();

}

public E peek() {

return list.get(size() - 1);

}

public void push(E o) {

list.add(o);

}

public E pop() {

E o = list.get(size() - 1);

list.remove(size() - 1);

return o;

}

public boolean isEmpty() {

return list.isEmpty();

}

@Override

public String toString() {

return "stack: " + list.toString();

}

}

package Modul02;

public class TestGenericStack {

public static void main(String[] args) {

GenericStack<String> gsString = new GenericStack<>();

gsString.push("one");

gsString.push("two");

gsString.push("three");

while (!(gsString.isEmpty())) {

System.out.println(gsString.pop());

}

GenericStack<Integer> gsInteger = new GenericStack<>();

gsInteger.push(1);

gsInteger.push(2);

gsInteger.push(3);

//gsInteger.push("4");

while (!(gsInteger.isEmpty())) {

System.out.println(gsInteger.pop());

}

}

}

Create a new version of GenericStack that uses an array instead of an ArrayList (this version should also be generic). Be sure to check the size of the array before adding a new item; - if the array becomes full, double the size of the array, and you must copy elements from the old array to the new one.
Note that one cannot use the new operator on a generic type, new E is not allowed.
To create the generic array, a cast must:
private E [] elements = (E[]) new Object[100];

Important that push checks that there is enough space, if not you have to double the stack size before push. Pushes should also not allow zero values ​​as arguments, because now they should only be ignored.

Tips: System.arraycopy (...); Public interface for the class is known, but start writing the tests first.

Write tests:
The tests will cover all scenarios (all possible ways you can use a stack). Since this is a generic class, test it for at least two different types (What if someone uses pop or peek on a blank stack?). Remember to include a test where the stack must be doubled to accommodate a new push (). Feel free to introduce a new public method capacity () that responds to the stack's current capacity. Also, create (if you haven't done) a constructor for the stack that takes in startup capacity (before you have one that creates a default capacity).

In: Computer Science