Demonstrate and compares both the incarnations

Assignment Help Other Subject
Reference no: EM133349928

Advanced Programming Practices

1. INTRODUCTION

For many, a cold beverage in a glass is among the means for survival during summer. The main purpose of a coaster is to absorb condensation dripping along the glass, and thereby protect the surface of a table or any other surface used for placing the glass. The coasters are also of interest to tegestologists.

For the sake of reference, the project as well as its product is called CHEERS.

2. PROBLEM

Let there be two circular coasters of equal area (and negligible height). The purpose of CHEERS is to find how far the two coasters need to be moved on top of each other such that the area of the overlapping region is half the area of any one of the coasters, as illustrated in Figure 1.

30_Programming Practices.jpg

PROBLEM 1.

T must provide an outline of the solution, including the object-oriented design corresponding to P.

T must construct a CRC card model. NOTE
For each CRC card, the following must be described: (a) role, (b) responsibilities and the rationale for the responsibilities, and (c) collaborations and reasons for collaborating.

PROBLEM 2.

T must rationalize the selection of each algorithm deployed in S, and document the algorithms using pseudocode (as well as natural language, if necessary).

NOTE

The pseudocode should not be too close to the implementation.

PROBLEM 3.

(a) This is Incarnation 1.

S must be written from scratch. S must not make use any native support in programming languages for trigonometric functions, such as sin(x) and cos(x), and for the mathematical constants, such as π. S must not make use any application programming interfaces or library functions, other than for input, output, and basic arithmetic.

T must not use any source code from any other courses or any place on the Web.

NOTE

The following applies to (a) only.

T must provide the steps taken towards making S to be modifiable, readable, reusable, testable, and understandable.

T must provide the steps taken towards making the corresponding P to be general, robust, and usable.

T must provide a sample output, say, for different values of R. The output of P must be in structured plain text.

(b) This is Incarnation 2.

S must be written in a manner that seeks as many opportunities for reuse as possible. S could, for example, make use of application programming interfaces or library functions, available natively or otherwise.

T must not use any source code from any other courses.

NOTE

The following applies to (b) only.

T must provide the steps taken towards making S to be readable, modifiable, testable, and understandable.

T must provide the steps taken towards making the corresponding P to be general, robust, and usable.

T must provide a sample output, say, for different values of R. The output of P must be expressed in XML. This output must be valid with respect to some XML DTD.

NOTE

The following apply to both (a) and (b).

S must be written in Python. T must select the same version of Python (2.x or 3.y) for both (a) and (b).

S must not depend on any particular development environment (such as a specific operating system or an IDE). (T must prove that S is independent of any IDE.)

S must be placed on a distributed version control system. S must evolve iteratively, incrementally, and regularly. (T must at least twice a week commit non-trivially to a distributed version control system, and make his or her account accessible to the teaching assistants.) T is encouraged to use Semantic Versioning for versioning of artifacts.

T must use a debugger. (T must prove that a debugger was used.)

S must follow a style of programming recommended by an authoritative source. (For Python, one such authoritative source is PEP 8.) The actual style of programming must aim to be consistent across T. T must provide a pointer to the style guidelines used.

S must be documented appropriately using a ‘standard' documentation system. (For Python, such a documentation system is Pydoc.) It is recommended that the internal documentation and the source code evolve synchronously.

S must not violate established principles of programming. (For example, such principles for object-oriented programming are those related to abstraction, encapsulation, inheritance, and/or polymorphism.)

S must not declare π as a named constant. (It must compute the value of π.)

S must have proper support for handling exceptions. S must have proper error messages.
T must provide a listing of S.

T must provide a description of instructions for processing S (by compiling or interpreting it, as the case may be).

T must provide information related to any (reasonable) assumptions made by S, references for supporting technical arguments, claims, and any non-original work (that is, any work external to T), and so on. A comprehensive collection of resources on citing and referencing is available1. For example, ACM, APA, and IEEE provide standard formats for citing and referencing. It is important not to make claims that cannot be substantiated, and not to copy others' work verbatim regardless of whether it is cited. A work that is copied in any manner (syntactically, semantically, or pragmatically) does not earn any credit.

PROBLEM 4.

This is about static testing.

S must be reviewed (inspected) systematically against the "best practices" and style guidelines it is supposed to conform to.

NOTE

The static testing process must non-reciprocally rotate across the class.

Let T1, ..., Tn be the teams in the class. To make the process predictable, T1 will review S
T2, T2 will review S by T3, ..., Tn will review S by T1. (This is always possible if n > 2.)

Let Tα and Tβ be two arbitrary teams in the class. Then, a static testing of P by Tα can be carried out by Tβ, but not conversely, that is, a static testing of P by Tβ cannot be carried out by Tα.

Tα must make available all its incarnations to Tβ. Tβ must provide a record of the outcome of review.

PROBLEM 5.

This is about dynamic testing.

P must be tested systematically. There must be a list of test cases. There must be a description of each test case. A test case must clearly outline the input and expected output.

The dynamic testing process must non-reciprocally rotate across the class.

Let T1, ..., Tn be the teams in the class. To make the process predictable, T1 will test P by T2, T2 will test P by T3, ..., Tn will test P by T1. (This is always possible if n > 2.)

Let Tα and Tβ be two arbitrary teams in the class. Then, a dynamic testing of P by Tα can be carried out by Tβ, but not conversely, that is, a dynamic testing of P by Tβ cannot be carried out by Tα.

Tα must make available all its incarnations to Tβ. Tα must provide a collection of test cases.
Tβ must provide a record of the outcome of testing.

PROBLEM 6.
T must give a presentation that (a) using sample data, demonstrates and compares both the incarnations of P, and (b) highlights lessons learned from working together, reviewing, and testing efforts, and (c) points out limitations of any tools used.

Attachment:- Advanced Programming Practices.rar

Reference no: EM133349928

Questions Cloud

Components to develop for effective-servant leadership : empowering your subordinates and cultivating a vested interest in work might be the most essential components to develop for effective, servant leadership.
Discuss the biological processes of memory : Discuss the biological processes of memory? How do we store memories in the brain? Discuss the impact of stress hormones on memory?
What strategies you use to support present information : Identify the difference between presenting information and mental engagement. Describe what strategies you use to support present information, mental engagement
Benefits and risks for youths in competitive sports : What are some benefits and risks for youths in competitive sports?
Demonstrate and compares both the incarnations : SOEN 6441 Advanced Programming Practices, Concordia University - purpose of a coaster is to absorb condensation dripping along the glass, and thereby protect
Most effective leadership perspective : Explain whether servant leadership was the most effective leadership perspective in the event you selected.
What strategies have you observed in classrooms related : What strategies have you observed in classrooms related to attention? Reflect on your own teaching. What kind of strategies do you use most often
How to assess children development : What new things will you do to assess children's development in your classroom? How will you do it? What things will you include?
What are the limitations of the study : Summarize the results? Based on your own visual analysis, do you agree with the researchers' interpretation? Explain your rationale using citations

Reviews

Write a Review

Other Subject Questions & Answers

  Routine activities theory and the lifestyle theory

Explain and contrast the Routine Activities Theory and the Lifestyle Theory. How do these perspectives contribute to understanding the risks of victimization? T

  Describe what they are doing

describe what they are doing. What behaviors can you objectively observe using your senses - In this step, do not make interpretations or judgments

  Dominants traits attributed to italians in the cartoons

What are the dominants traits attributed to Italians in the cartoons (the mascot new orleans 1886, shadow of the black-hand and original wop)?

  Determine the the concept of culturally relevant

The concept of culturally relevant, anti-bias instruction includes planning lessons that are relevant to the children and families in your program.

  Discuss pursuing justice for the offender and for the victim

the same time, pursuing justice for the offender and for the victim. What does justice mean in this sense

  Description of dance styles

Discussion of your understanding of the use of line, form, repetition, and rhythm in each piece.

  How might the foregoing situation be resolved

How might the situation in the case study be resolved? Is obesity truly a disability, or will a different argument prevail? Do you believe that the hospital will be successful in getting the complaint dismissed, or will Susan successfully persuade..

  Identify and define the combining forms

Identify and define the combining forms and suffixesintroduced. Correctly spell medical terms and major anatomical structures relating to the clinical cases

  What are the differences in process maps

What are the differences in process maps (flowcharts), DFDs, and ERDs? How do they work together?

  What lab value will best reflect renal function

A nurse is reviewing a client's list of medications and notices that he is taking two anticholinergics.

  Summarize edwin sutherlands differential association theory

Summarize Edwin Sutherlands differential association theory. How does it differ from biological/psychological explanations of crime?

  Virtue ethics: practice makes permanent

How would a virtue ethicist reply to someone who says that they wish they could do more to express concern for the environment or be more courageous, but are too "weak willed" to do that?

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd