Assignment 1: Part C (Analytical Essay)

Assignment 1: Part C (Analytical Essay)

Dr Colin Matthews has asked you to develop an analytical essay (between 750 and 1000 words in length) to the client, Dr Holst outlining the major issues that the Decision Support System’s results have highlighted. Create a Word Document (using Word 2007 to current) and name it ‘[lastname] [initial] _ [student number] _ [course code] _ [assignment number
(eg. genrichr_0050051005_cis5100_assign2.docx).

Essays have a particular structure – An introduction, a body (where you write your answer in a number of paragraphs, usually one for each idea or topic) and a conclusion.  The conclusion is where you sum up your ‘argument’.  Essays normally do not have headings.

The information at the following URL may be useful:

The body of your essay should consider the following issues:

  • Define what a Decision Support System is.
  • Explain why a Decision Support System is the appropriate tool for this project.
  • From the results of the Decision Support System results (Report Worksheet and Scenario Summary) discuss the following (keeping in mind the information provided in the preamble on page 2):
  1. Which Mark-up Type would be most appropriate for the business? Why?
  2. How would the choice of the Mark-up Type impact on the customer’s decision to purchase from the company? Why?
  3. What would be the impact on the business’s profit if the plan to provide a discount to large orders was implemented? Why?
  4. Which Recommended Freight Type would be most appropriate for the business? Why?
  5. What would be the impact that the different Recommended Freight Types would have on the business’s profit if the cost was transferred to the business instead of the customer (as discussed in the preamble)? Why?
  6. Which country would be most appropriate for the business to import from at the moment? Why?
  7. What issues could cause the business to rethink its choice of country of import? Why?

The essay should be using a proportional font (eg. Arial, Times New Roman etc.), with a font size of 11 or 12, and be laid out using 1 ½ line spacing.

Note: It is expected that you will use the Baltzan et al and Beskeen et al textbooks to answer the topics Dr Colin Matthews has given you for the essay, as well as reputable online sources of information. You need to include a List of References formatted using the Harvard AGPS style on a separate page and include In-text references for any direct or paraphrased quotes used (see the following USQ website for referencing help:



Leave a comment

Posted by on January 9, 2019 in Academic Writing


Fiduciary Income Tax



TXX 5774 DIS

Fiduciary Income Tax

Final Exam

Fall 2018

December 8, 2018

The test consists of 50 multiple choice questions worth 2 points each for a total score of 100 for the Final Exam.

*There is a separate answer sheet posted with the exam. You must use the answer sheet. BE SURE TO INCLUDE YOUR NAME ON THE ANSWER SHEET. DO NOT SUBMIT A COPY OF THE TEST.

Your completed answer sheet is due no later than 11PM Saturday, December 8. You will need to click on Assignments on the Canvas menu and then click on Final Exam which will take you to the submission page where you will upload your completed answer sheet.

Multiple choice. Identify on your answer sheet the one choice for each question that best completes the statement or answers the question.


21.Larry,Moe and Shep, estate residuary beneficiaries, each received a distribution of property from the estate consisting of 100 shares of ABC,Inc.

The stock constituted part of original estate inventory. The decedent paid $1,000 for each 100 share lot and each 100 share lot was worth $2,000 when he died. Larry sold his 100 share lot for $1,500 two months after receiving it. Larry

a.realizes and  recognizes a long term capital loss of $500.

b.realizes and recognizes a short term capital gain of $500.

c.realizes and recognizes a long term capital gain of $500.

d.realizes neither gain nor loss.

22.The decedent’s will states in part “ I devise the sum of $20,000 to Jane and the personal representative shall pay this devise in five monthly installments of $4,000 each  beginning 3 months from  the date of my death. Knowing Jane is in desperate need of funds, the personal representative pays Jane her devise in one lump sum of $20,000 3 months after the decedent’s death. Jane’s devise

a.will be income tax free to her.

b.will be subject to income tax depending on the amount of DNI for the estate’s tax year.

c.must be returned to the personal representative for payment in installments. subject to the claims of the decedent’s creditors because it is payable in installments.

23.Distributable Net Income (DNI)

a.will vary depending on the number of estate/trust beneficiaries.

b.applies to estate but not trusts. a general rule does not include capital gains.

d.does not limit the amount that can be income taxed to estate/trust beneficiaries.

24.The net operating loss deduction (NOL)

a.cannot exceed 20% of the estate’s/trust’s DNI.

b.pass through (carryover) can be used by a beneficiary regardless of whether the beneficiary is engaged in a business operation. deductible only on the estate’s federal estate tax return. unavailable to estates and trusts..

25.Investment advisory fees paid by an estate or trust

a.are subject to the 4% reduction required by section 67 IRC.

b.are fully income tax deductible to the extent listed without objection on an estate/trust fiduciary accounting.

c.are fully tax deductible.

d.none of the above is correct.

26.Tax free income, e.g., municipal bond income, is

a.excluded from the computation of DNI for trusts but not estates.

b.included in the computation of DNI for complex trusts but not simple estates.

c.subject to reduction in DNI for its pro-rata share of estate/trust expenses.

d.excluded from the computation of DNI.

27.A simple trust has ordinary gross  income of $30,000 . It also has $5,000 of capital gains allocated to trust principal. The trustee is paid a fee of $5,000 which the trust agreement says must all be paid from trust principal. How much is the trust’s accounting income (FAI)?





28.Which of the following statements is incorrect?

a.The income tax rates applied to trusts and estates are highly compressed compared to income tax rates for individuals.

b.Form 1041 is the income tax return for most types of trusts and estates.

c.Form 1041 illustrates the conduit theory of income taxation since all taxable income received by an estate or trust is subject to being taxed twice, like a C corporation.

d.The income taxation of estates and trusts is governed by Subchapter J, IRC.

29.Which of the following statements is incorrect?

a.The section 645,IRC election allows a qualified recovable trust to choose a fiscal income tax year.

b.The section 645 election is not available if there is a charitable trust beneficiary.

c.The section 645 election is available in the absence of an estate provided a qualified revocable trust exists.

d.The section 645 election is available to estates and trusts.

30.If no federal estate tax return (Form 706) is required for a decedent’s estate

a.the section 645,IRC election can be renewed by the personal representative for a period not exceeding 6 months.

b.the section 645 election ends when the local probate court enters its order discharging the personal representative.

c.the section 645 election begins on date of death.

d.alternate valuation of estate assets can still be elected by the personal representative.

31.The separate share rule limited to simple trusts.

b.applies to estates but not trusts.

c.applies to trusts but not estates.

d.applies to estates and trusts.

32.Trust DNI is $10,000. This consists of $3,000 tax exempt interest and $7,000 taxable interest. The trustee distributes $5,000 to the trust’s sole beneficiary. The beneficiary’s distribution is deemed to consist of

  1. taxable interest of $2,500 and tax exempt interest of $2,500.

b.taxable interest of $3,500 and tax exempt interest of $1,500. assuming the trustee elects to have all of the income deemed taxed to the trust.

d.taxable interest of $3,500.

33.Alice is the sole beneficiary of a simple trust to whom the trustee is required to distribute all current trust income by the terms of the trust agreement. During the trust’s taxable year the trustee receives $10,000 of DNI which is also the same as FAI. The trustee ignores the terms of the trust agreement and makes no distribution to Alice.

a.Alice should report the DNI on her 1040 but not for income taxation since she received nothing.

b.Alice is not taxable on the DNI.

c.Alice is taxable on the DNI.

d.Alice is taxable on $9,700 of DNI.

  1. May’s will provides in part that she devises the sum of $30,000 each to Larry, Moe and Shep. During the estate’s first income tax year the estate has $6,000 of DNI and the personal representative distributes $30,000 each to Larry, Moe and Shep.

a.The personal representative can elect to have the $6,000 of DNI occur in tax year 2 of the estate.

b.The personal representative can elect to have all the DNI taxed all to the estate, or all in equal shares to Larry,Moe and Shep or partly to the estate and to Larry,Moe and Shep.

c.Larry,Moe and Shep will not be income taxed on their distributions.

d.Larry,Moe and Shep will each be taxed on $2,000 of DNI as first tier beneficiaries.

35.Fiduciary Accounting Income (FAI)

a.must be calculated on a monthly basis during the administration of and estate/trust. determined by the Internal Revenue Code.

c.rules trump Subchapter J rules on income taxation.

d.affects the computation of DNI.

Leave a comment

Posted by on December 9, 2018 in academic writing, Academic Writing



Accounting questions

PROBLEM ONE [15 Points]




C-Market reports the following analysis of potential losses in its accounts receivable for the year 2018.


Age Past Due Receivable Balance Estimated Loss (%)
0-30 days past due $89,600 1.0%
31-60 days past due 39,200 3.6%
61-90 days past due 24,400  8.6%
Over three months past due     4,400 91.0%
Total $157,600  




The credit balance of Allowance for Uncollectible Accounts is $975 as of

December 31, 2018 [that is prior to adjustments].




  1. Compute bad debt expense recorded for   2018.









  1. What is the net amount of accounts receivable to be reported on C-Market’s December 31, 2018 balance sheet?






EQUITY [30 Points]


West Valley Corporation had the following stockholders’ equity information from the balance sheet for year ending 12/31/2018.


Preferred Stock – $50 par value, 10% cumulative, 10,000 shares authorized, 4,000 shares issued


Treasury Stock on Preferred $50 par value, 10% cumulative 1000 shares, company paid $150,000 for the Treasury Stock


Common Stock – $2 par value, 1,000,000 shares authorized, 60,000 shares issued


Capital Excess of Par $480,000


Treasury Stock on Common 8,000 shares, company paid $160,000 for the Treasury Stock


Retained Earnings $45,000,000



A).  If dividends were paid in the amount of $4,000,000 how much would the preferred shareholders and common stockholders receive assuming no dividends in the arrears?



B).  Assuming the company has been in the arrears for two years, how much in dividends would the preferred shareholders and common shareholders receive if the company paid $8,000,000 in dividends this current year?


C).  What is the dividend pay-out per share for both the common and preferred stock?



D).   What would be the impact on the balance sheet if the company announced a 2-1 stock split on preferred stock?



E).   The company has announced a 10% stock dividend on the common stock when the market value of each common share was $25.  Describe the impact to the company of such an announcement. Provide specific numbers.



F). What is the result if the company announced a common stock dividend when the market price was $ 30 per share?



INVENTORY [15 Points]



Derby Inc. has purchased the following inventory items during the month of April.


April 1            5,000 units @ $5 each


April 10          10,000 units @ $10 each


April 16          10,000 units @ $20 each


April 28          5,000 units @ 15 each


Beginning inventory for Derby @ March 31, 2018 as 10,000 @ $1 each.


Derby Inc. sold 10,000 units for $30 on April 8 and 20,000 units for $40 on April 30.


What would be the Cost of Goods Sold and Ending Inventory for FIFO; LIFO, AVERAGE methods if Derby follows the periodic timing procedure?


What is the gross margin if Derby adopted the perpetual LIFO accounting method?












Borel Inc., a calendar year company, purchased a large truck for transporting racehorses. The cost of the trailer was $200,000 and was purchased on March 31, 2018.  The dealer stated the truck would provide 10 good years with $20,000 in salvage value.  What would be the depreciation expense during the first three years of ownership if Borel Inc. adopted the following depreciation methods: Straight Line; Sum-of-the-Year’s digits; and Double Declining Balance?

The Cash Flow Statement is from GE [25 POINTS]


Based on the items found in the GE’s Cash Funds Flow Statement would you purchase GE Stock – please provide reasons using the information from the cash flow statement and use numbers when those numbers would support your conclusions.


Leave a comment

Posted by on December 9, 2018 in academic writing, Academic Writing



Assignment 2: Best Coding Practices

Assignment 2: Best Coding Practices

Due Week 9 and worth 215 points

You have been promoted to manager for the e-Commerce site for the company you made up in Assignment 1. You are concerned about the recent SQL attack. Your team reacted to the situation by notifying you immediately. You and your team were successful in containing and correcting the issues that allowed the Website and database to be compromised by a SQL injection attack.

Knowing that many of the issues can be created by human error, you have decided to evaluate the processes your team uses when they code. As their leader, it is your responsibility to be current on all of the best secure coding practices. Your job is to create guidelines for best coding practices, which you will present to your team.

For Part I, you’re going to write a memo to the CEO and CSO documenting your guidelines based on your findings when you evaluated your company’s processes.

  1. Justify why it is less expensive to build secure software than to correct security issues after a breach.
  2. Outline the objectives and purpose of your company’s “best secure coding practices” and explain how it will influence your division.
  3. Evaluate which method of the secure software development life cycle will best serve your team and explain how you plan on implementing your thoughts into your existing processes.
  4. Identify three resources that can be used as “reference material” and act as a beginner’s guideline for new employees. Outline the importance of each resource and how each resource can assist new coders.
  5. Use at least four quality references in this assignment. Note: Wikipedia and similar websites do not qualify as quality references. Be sure to CITE your sources with complete functioning Web links. Test the links to ensure they work before submitting your paper
  6. Format your assignment according to the following formatting requirements:
    • Typed, double spaced, using Times New Roman font (size 12), with one-inch margins on all sides.
    • Include a cover page containing the title of the assignment, the student’s name, the professor’s name, the course title, and the date. The cover page is not included in the required page length.
    • Include a reference page. Citations and references must follow professional business language format.

Part II: PowerPoint Presentation

Create a PowerPoint presentation for your team in which you:

  1. Outline the all of the major aspects of the Best Practice Coding guideline, including objectives, purpose, resources, and methodology. Note: Please include your fictional company’s name on each slide of your presentation. Remember, you’re planning on using this experience when you take what you’ve learned out into the real world.

The specific course learning outcomes associated with this assignment are:

  1. Analyze common Website attacks, weaknesses, and security best practices.
  2. Describe the attributes and qualities of secure coding practices and the tools used to conduct security verification.
  3. Analyze the role and importance of quality assurance testing for Web applications using a security lifecycle.
  4. Use technology and information resources to research issues in securing Web-based applications.
  5. Write clearly and concisely about Web application security topics using proper writing mechanics and technical style conventions.

Grading for this assignment will be based on answer quality, logic / organization of the paper, and language and writing skills, using the following rubric.

Leave a comment

Posted by on November 30, 2018 in academic writing, Academic Writing



Quiz for nursing students

A process that allows you to get articles and books from other libraries across the United States is ________________________.

Select one:
a. U.S. Library Lending Program
b. Academic Library Exchange
c. WorldCat Map Service
d. Interlibrary loan

Question 2

Not yet answered
Points out of 5.00
Flag question

Question text

You may search in Journal Finder in the following manner:

Select one:
a. Name of the journal
b. Article title
c. Author
d. All of the above

Question 3

Not yet answered
Points out of 5.00
Flag question

Question text

If you need resources to help with the research process, you would find an abundance of resources on the following page(s) on the library website:

Select one:
a. Tutorials
b. Subject Guides
c. Research and Citation Tools
d. All of the above

Question 4

Not yet answered
Points out of 5.00
Flag question

Question text

Two of the collections of databases that you will find in the Quicklinks of popular databases list are ________________________.

Select one:
a. Netlibrary and Alistart Premier Map
b. NC LIVE and Business Source Complete
c. J-Stor and LexisNexis
d. NC Complete and Academic Search Complete

Question 5

Not yet answered
Points out of 5.00
Flag question

Question text

Moye Library is open on Saturdays from ____________________.

Select one:
a. 2:00-6:00
b. 10:00-5:00
c. 11:00-3:00
d. Noon-4:00

Question 6

Not yet answered
Points out of 5.00
Flag question

Question text

The Online Catalog includes the following:

Select one:
a. All of the media that is housed in Moye Library
b. All of the media that is housed in Moye Library other than periodicals
c. All media housed in Moye Library other than DVD’s and computer files
d. None of the above

Question 7

Not yet answered
Points out of 5.00
Flag question

Question text

Some items that are cataloged cannot be checked out of the library. Those items have a call number that begins with _____________.

Select one:
b. REF
c. DVD
d. REL

Question 8

Not yet answered
Points out of 5.00
Flag question

Question text

To request items be sent to you from Moye Library, you email the following person:

Select one:
a. Instruction Librarian
b. Director of the Library
c. Cataloger
d. Reference Librarian

Question 9

Not yet answered
Points out of 5.00
Flag question

Question text

If you request an item from Moye Library and you do not live near Mount Olive, the item will be delivered to you in the following manner:

Select one:
a. Mailed to you
b. Sent to your local public library for pick-up
c. Sent to the closest college/university library for pick-up
d. None of the above

Question 10

Not yet answered
Points out of 5.00
Flag question

Question text

An expanded library record in the library catalog gives you the following:
Select one:
a. A list of libraries within a 100 mile radius where you can find the item
b. An expanded list of call numbers to indicate multiple places where the item is shelved in the library
c. The expanded ISBN number
d. Usually an expanded description of the item

Question 11

Not yet answered
Points out of 5.00
Flag question

Question text

The Advanced Search in the library catalog gives you these options:

Select one:
a. The ability to add search rows
b. Search indexes such as title, subject, and keyword
c. Boolean operators
d. All of the above

Question 12

Not yet answered
Points out of 5.00
Flag question

Question text

You can search for e-books through the following gateways:

Select one:
a. The library catalog and the e-book catalog
b. The library catalog and the e-book portal in NC LIVE
c. The e-book catalog on the Moye Library website
d. Journal finder

Question 13

Not yet answered
Points out of 5.00
Flag question

Question text

In WorldCat Discovery advanced search, there are __________________.

Select one:
a. Eight default databases
b. Database lists divided by subjects. 
c. Database lists divided by vendor
d. All of the above

Question 14

Not yet answered
Points out of 5.00
Flag question

Question text

Some of the Tools that are available to help manage your use of the e-books are ______________.

Select one:
a. Cite, email, and author biography
b. Save, cite, and import to Moye Library catalog
c. Chapter download, print, and cite
d. Export, import, and cite

Question 15

Not yet answered
Points out of 5.00
Flag question

Question text

The “search within” feature for the e-books allows you to:

Select one:
a. Search within the audio file of the book
b. Search within the entire contents of the book
c. Search within abstract of the book
d. All of the above

Question 16

Not yet answered
Points out of 5.00
Flag question

Question text

Boolean operators can help you focus your search; they are:

Select one:
a. Tutorials on using fields and wildcards
b. Help resources for using shortcuts and truncation symbols
c. And, or, not
d. Operators that supply subject headings for your search

Question 17

Not yet answered
Points out of 5.00
Flag question

Question text

The “Search Within” feature of Proquest Ebook Central or eBooks on EBSCOhost allows you to:

Select one:
a. Use a tool similar to the index of a print book
b. Find all of the pages a word or term is on
c. Search the entire book
d. All of the above

Question 18

Not yet answered
Points out of 5.00
Flag question

Question text

You can filter for e-books when using the WorldCat Discovery search by doing the following:

Select one:
a. Use a basic search and choose the e-book tab found above the search box
b. Use a basic search in the e-book catalog found on the Moye Library homepage
c. Use the Advanced Search for WorldCat Discovery and choose “eBook” in the  “Format” dropdown box under “Limit Your Search.”
d. On the results page, add “ebook” as a keyword in the filter marked “type of book” 

Question 19

Not yet answered
Points out of 5.00
Flag question

Question text

There are multiple ebook databases in the ebook portal in NC LIVE. Three of them are:

Select one:
a. ABC-CLIO, HomeGrown Ebooks Collection, OpenLibrary
b. Ebrary Academic, MyAcademic, Free Library
c. Home Grown Collection, One Click audio e-books, Thomas Jefferson Library
d. Gale Virtual Reference, Credo Reference, LexisNexis

Question 20

Not yet answered
Points out of 5.00
Flag question

Question text

To find Moye Library normal operating hours and/or holiday-vacation hours you should

Select one:
a. Check the library website
b. Call the library
c. Check Moye Library social media accounts
d. All of the above
Leave a comment

Posted by on September 27, 2018 in Academic Writing


Week 5 DQ#1

Week 5 DQ#1 due day 3

Week 5 DQ#1 due day 5

Be sure you use APA 6thedition formatting for all your work!

Using a minimum of 250 words and a maximum of 350 words [word count does not include citations and references] (5 points):

  1. Find a PEER-REVIEWED nursing research article that is 5 years old or younger on a topic that interests you, and then find one. (You cannot use the same one that you used in the discussion questions or weekly assignments thus far).Ask the librarians to help you if you are having problems.
  2. Save that article to your hard drive as a PDF file.
  3. Summarize (use your own words – no direct quotes allowed) one section of the article using APA 6thedition formatting for all citations (85 points). Let us know what section you are paraphrasing (i.e., discussion, methods, literature review, findings, etc.) (5 points).
  4. Upload the article as a PDF file into your DQ response in the classroom (5 points), so we can all read it.

Grading Rubric (points out of 100)

Word count maintained = 5 points

2 expected outcomes = 90 points total

Upload one PDF article = 5 points

5 + 90 + 5 = 100 points total

Any errors = 0.5 point deduction per error (i.e., grammar, punctuation, spelling, formatting, etc.)

Leave a comment

Posted by on September 26, 2018 in academic writing, Academic Writing



Section II Project (Submission required)

Section II Project (Submission required)

Purpose of this project is to exercise the concepts learned in this chapter. It is not the purpose of this project to create realistic services and applications. We will create more realistic services and applications in the subsequent projects. In this project, you can use a console application or a simple GUI application to implement the user interface to your program. You do not need to create Web applications.

Description: Consider that you are creating an e-business: a book distribution system that involves bookstores and publishers. The system consists of multiple bookstores (clients) and multiple publishers (servers). The bookstores can buy in quantity of books from the publishers with lower prices. The required architecture and the major components of the system are shown in the diagram below.





In this project, you will implement both clients and servers in one system in multithreading. You will further implement such systems in distributed web client and server systems in the following projects.

An Operation Scenario of the book distribution system is outlined as follows:

(1) A Publisher uses a pricing model to calculate dynamically the book price for the bookstores. If the new price is lower than the previous price, it emits a (promotional) event and calls the event handlers in the bookstores that have subscribed to the event.


(2) A BookStore evaluates the price, generates an OrderObject (consisting of multiple values), and sends the order to the Encoder to convert the order object into a plain string.


(3) The Encoder converts the object into a string.


(4) The Encoder sends the encoded string back to the caller.


(5) The BookStore sends the encoded string to one of the free cells in the MultiCellBuffer.


(6) The Publisher receives the encoded string from the MultiCellBuffer and sends the string to the Decoder for decoding.


(7) The Decoder sends the OrderObject to the Publisher. The decoded object must contain the same values generated by the BookStore.


(8) The Publisher creates a new thread, an OrderProcessingThread, to process the order;


(9) The OrderProcessingThread processes the order, e.g., checks the credit card number and calculates the total amount.


(10) The OrderProcessingThread sends a confirmation to the bookstore and prints the order (on screen).


Note, the encoder and decoder here do not perform encryption and decryption tasks.

Components in the diagram are explained in details as follows, with their grading scores (points) allocation, Components 1, 2, 3, 4, and 5 belong to Assignment 3, and the rest of the components belong to Assignment 4. You will submit both assignments together as a project. We will enter the scores under assignments 1 and 2, for the purpose of score management.


Assignment 3 Tasks

  1. Publisher1 through PublisherK* are the objects of a class on the server side: Each object has a method to be started as a thread by the Main method and will perform a number of functions. It uses a PricingModel to determine the book prices. It defines a price-cut event that can emit an event and call the event handlers in the BookStore if there is a price-cut according to the PricingModel. It receives the orders (in a string) from the MultiCellBuffer. It calls the Decoder to convert the string into the order object. For each order, you must start a new thread (resulting in multiple threads for processing multiple orders) from OrderProcessing class (or method) to process the order based on the current price. There is a counter p in the Publisher. After p (e.g., p = 20) price cuts have been made, a Publisher thread will terminate. The bookstores do not have to make an order after each price cut. [15 points]

*Note 1: For the individual project, the number of publishers K = 1. For a group project (both two-member and three-member group), K = 2 if you have a 2-member team, and K = 3 if you have a 3-member team.


  1. PricingModel: It can be a class or a method in the Publisher class. It decides the price of books, which must be between 50 and 200. It can increase or decrease the price. You must define a mathematical model. The model can be a simple random function for individual projects. However, for the group projects, a more complex model must be developed, where the price must be a function with multiple parameters, such as the available number of the books and the number of orders received within a given time period. In other words, the function must take the amount of orders as input. You can use a hard-coded table of the prices, for example, in each weekday. You must make sure that your model will allow the price to go up some times and go down other times within your iterations of testing. [5 points]


  1. OrderProcessing is a class or a method in a class on the server’s side. Whenever an order needs to be processed, a new thread is instantiated from this class (or method) to process the order. It will check the validity of the credit card number. If you are doing an individual project or a two-member group project, you can define your credit card format, for example, the credit card number from the bookstores must be a number registered to the Publisher, or a number between two given numbers (e.g., between 5000 and 7000). For the three-member group project, a bank service must be created. Each OrderProcessing thread will calculate the total amount of charge, e.g., unitPrice*NoOfBooks + Tax + LocationCharge. For the group (two and three members) projects, a confirmation must be sent back to the bookstore when an order is completed. You can implement the confirmation in different ways. For example, you can use another buffer for the confirmation, where you can use a buffer cell for each thread, so that you do not have to consider the conflict among the threads. However, you still need to coordinate the write and read between the producer and the consumer. [10 points]


  1. BookStore1 through BookStoreN, You can set N = 5 in your implementation. Each bookstore is a thread instantiated from the same class (or the same method in a class). The bookstore’s actions are event-driven. Each bookstore contains a callback method (event handler) for the Publisher to call when a price-cut event occurs. The bookstore will calculate the number of books to order, for example, based on the need and the difference between the previous price and the current price. The thread will terminate after the Publisher thread has terminated. Each order is an OrderClass object. The object is sent to the Encoder for encoding. The encoded string is sent back to the bookstore. Then, the bookstore will send the order in string format to the MultiCellBuffer. For group project, before sending the order to the MultiCellBuffer, a time stamp must be saved. When the confirmation of order completion is received, the time of the order will be calculated and saved (or printed). [10 points]


The following components will be counted as assignment 3 tasks.


  1. OrderClass is a class that contains at least the following private data members:

 senderId: the identity of the sender, you can use thread name or thread id.

 cardNo: an integer that represents a credit card number.

 receiverID: the identity of the receiver, you can use thread name or a unique name defined for a publisher. If you are doing an individual project, you do not need this field.

 amount: an integer that represents the number of books to order.

 unit price: a double that represents the unit price of the book received from the publisher.


You must use public methods to set and get the private data members. You must decide if these methods need to be synchronized. The instances created from this class are of the OrderObject. [10 points]


Assignment 4 Tasks


  1. MultiCellBuffer class is used for the communication between the bookstores (clients) and the publishers (servers): This class has n data cells (for individual project, n = 2 and for group project, n = 3). The number of cells available must be less than (<) the max number of bookstores in your experiment. To write data into and to read data from one of the available cells, setOneCell and getOneCell methods can be defined. You must use a semaphore of value n to manage the availability of the cells. You must use an additional lock mechanism to provide read or write permissions for a cell. You cannot use a queue for the buffer, which is a different data structure. The semaphore allows a bookstore to see the availability of the cells, while the lock mechanism allows the agent to gain the right to write into one of the buffer cells. The Publisher can read buffer cells at the same time. Synchronization/monitor is required for read/write and write/write overlap. [20 points]


  1. Encoder is a class or a method in a class: The Encoder will convert an OrderObject into a string. You can choose any way to encode the values into a string, as long as you can decode the string back to the original order object. [10 points] Page 5 of 7


  1. Decoder is a class or a method in a class: The Decoder will convert the encoded string back into the OrderObject. Note: encoder and decoder here DO NOT perform encryption and decryption. [10 points]


  1. Bank service is a class. This question is for the three-member group projects only. It allows the bookstore to apply for a credit card number. The bookstore will use this number to purchase books from the publishers. The publishers will send the credit card number and the amount to the bank. The bank charges the account and returns the message “valid” if the account exists and the funds are sufficient for the purchase, otherwise, it returns “not valid”. When a publisher sends the credit card number and the amount to the bank, it will call the encryption service in the ASU repository to encrypt the credit card numbers in a string. If you use the .svc service, you must use “Add Service Reference”. If you use the .asmx service, you must use “Add Web Reference”. The recommendation is to use the .svc service, as it is the new standard. On the other hand, the bank will call the ASU decryption service to decrypt the number before comparing with the valid credit card numbers. The Bank class must also allow the account holder to deposit funds into the account. [20 points]


  1. Main: The Main thread will perform necessary preparation, create the buffer classes, instantiate the objects, create threads, and start threads. [10 points]


Additional Tasks for group projects

Two-member Teams: If you are doing the project as a group of two members, you are required to complete the following additional tasks:

[1] You must implement multiple suppliers (publishers) with K = 2. You must deal with all the issues that are incurred because of the increase in the number of suppliers.

[2] You must develop a more complex price model.

[3] The supplier must send a confirmation back to the bookstore when an order is completed.

[4] The buffer size (number of cells in the buffer) is 3, instead of 2.

In this option, one member must write the code of the bookstores and the main program. The other member must write the code of the supplier. The two members must jointly write the code for the buffer class.


Three-member Teams: If you are doing the project as a group of three members, you are required to complete all the additional tasks for the two-member group projects and the following additional tasks:

[1] You must implement multiple suppliers (publishers) with K = 3. You must deal with all the issues that are incurred because of the increase in the number of suppliers.

[5] If you have a three-member team, you must also define the bank service. The third member must implement the Bank class and share some other tasks in the assignment.

For three member team, there are totally 70 points in Assignment 4 of the project. The 70 points will be scaled to 50 points proportionally. For example, 70 à 50, 60 à 43, and 50 à 36.



  1. It is the purpose of this course to enforce the knowledge of C# (Visual Studio), as we have multiple courses in our program that use Java. We encourage you to use C#. However, we allow the use of Java (on NetBeans) in this assignment. You must indicate the environment (e.g., VS 2015 or 2017 or NetBeans) that you use, so that the TA can use the same environment to grade the project. We taught multithreading in both Java and C#. However, we did not teach event-driven programming in Java. If you choose to do the project in Java, you need to study this part on your own. I suggest that you do the project in Java only if you already know how to program events. The event handling in Java is not as easy as in C# for this project, and you need to take extra effort to implement the required functions.


  1. You must follow what is defined in the assignment/project document. You have flexibility to choose your implementation details if they are not explicitly specified in the document. If you are not sure on any issue, ask the instructor or the TA by posting the question in the discussion board.
  2. The program and each component of the program must be well commented.
  3. You can choose to do this project as an individual project or a group project. I encourage you to do as a group project. Projects 3 and 5 will be required group projects and thus, you need to build a team anyway. The team building process is for assignments 3 and 5. The group used in assignment 2 does not have to be the same group for assignments 3 and 5. However, the group for assignment 3 and 5 must be the same, as the project in assignment 5 will be based on assignment 3.
  4. Project 3 will be partly a team project. If you have formed a team in this project, you can use the same team for the project 3. Of course, you can also use a different team for the project 3.





Submission Requirement

All submissions must be electronically submitted to the assignment folder where you downloaded the assignment paper. All files must be zipped into a single file.

Submission preparation notice: The assignment consists of multiple distributed projects and components. They may be stored in different locations on your computer when you create them. You must choose your own location to store the project when you create the project. Then, you can copy these projects into a single folder for the blackboard submission. To make sure that you have all the files included in the zip file and they work together, you must test them before submission. You must also download your own submission from the blackboard. Unzip the file on a different machine, and test your assignment and see if you can run the solution in a different machine, because the TA will test your application on a different machine.

If you submitted an empty project folder, or an incomplete project folder, we cannot grade your resubmission after the due date! We grade only what you submitted before the submission due date. Please read FAQ document in the course Web page for more details.

Grading of Programming Assignment/Project

The TA will grade your program following these steps:

(1) The TA will read your program and give points based on the points allocated to each component, the readability of your code (organization of the code and comments), logic, inclusion of the required functions, and correctness of the implementations of each function.

(2) Compile the code. If it does not compile, 40% of the points given in (1) will be deducted. For example, if you are given 20 points in step (1), your points will become 12 if the program fails to compile.(3) If the code passes the compilation, the TA will execute and test the code. If, for any reason, the program gives an incorrect output or crashes for any input, 20% of the points given in (1) will be deducted.

Please notice that the TA will not debug your program to figure out how big or how small the error is. You may lose 40% or 20% of your points for a small error such missing a comma or a space!

Late submission deduction policy:

 No penalty for late submissions that are received within 24 hours of the given due date;

 1% grade deduction for every hour after the first 24 hours of the grace period!

 No submission will be allowed after Tuesday midnight.


Leave a comment

Posted by on September 17, 2018 in academic writing, Academic Writing