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

  Cross-cultural opportunities and conflicts in canada

Short Paper on Cross-cultural Opportunities and Conflicts in Canada.

  Sociology theory questions

Sociology are very fundamental in nature. Role strain and role constraint speak about the duties and responsibilities of the roles of people in society or in a group. A short theory about Darwin and Moths is also answered.

  A book review on unfaithful angels

This review will help the reader understand the social work profession through different concepts giving the glimpse of why the social work profession might have drifted away from its original purpose of serving the poor.

  Disorder paper: schizophrenia

Schizophrenia does not really have just one single cause. It is a possibility that this disorder could be inherited but not all doctors are sure.

  Individual assignment: two models handout and rubric

Individual Assignment : Two Models Handout and Rubric,    This paper will allow you to understand and evaluate two vastly different organizational models and to effectively communicate their differences.

  Developing strategic intent for toyota

The following report includes the description about the organization, its strategies, industry analysis in which it operates and its position in the industry.

  Gasoline powered passenger vehicles

In this study, we examine how gasoline price volatility and income of the consumers impacts consumer's demand for gasoline.

  An aspect of poverty in canada

Economics thesis undergrad 4th year paper to write. it should be about 22 pages in length, literature review, economic analysis and then data or cost benefit analysis.

  Ngn customer satisfaction qos indicator for 3g services

The paper aims to highlight the global trends in countries and regions where 3G has already been introduced and propose an implementation plan to the telecom operators of developing countries.

  Prepare a power point presentation

Prepare the power point presentation for the case: Santa Fe Independent School District

  Information literacy is important in this environment

Information literacy is critically important in this contemporary environment

  Associative property of multiplication

Write a definition for associative property of multiplication.

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