Devise suitable algorithmic solutions

Assignment Help Other Subject
Reference no: EM133555445

Programming Fundamentals

Coding Challenge

1. Overview
The main objective of this final project is to assess your capability of program design and implementation for solving a non-trivial problem. You are to solve the problem by designing a number of classes, methods, code snippets and associating them towards a common goal. If you have questions, please ask via the relevant Canvas discussion forums in a general manner; for example, you should replicate your problem in a different context in isolation before posting, and you must not post your code on the Canvas discussion forum.

2. Assessment Criteria
This assignment will determine your ability to:
i. Follow coding, convention, and behavioural requirements provided in this document and in the course lessons;
ii. Independently solve a problem by using programming concepts taught in this course;
iii. Design an OO solution independently and write/debug in Python code;
iv. Document code;
v. Provide references where due;
vi. Meet deadlines;
vii. Seek clarification from your "supervisor" (instructor) when needed via the Canvas discussion forums; and
viii. Create a program by recalling concepts taught in class, understand and apply concepts relevant to solution, analyse components of the problem, evaluate different approaches.

Learning Outcome 1: Analyse simple computing problems.
Learning Outcome 2. Devise suitable algorithmic solutions and code these algorithmic solutions in a computer programming language (i.e., Python).
Learning Outcome 3. Develop maintainable and reusable solutions using object-oriented paradigm.

Assessment Details
Please ensure that you have read Sections 1-3 of this document before going further.

Problem Overview: In this final coding challenge, you are asked to develop a Python program with the Object-Oriented Programming paradigm, named my_record.py, that can read data from files and perform some operations. You are required to implement the program following the below requirements. Note that we will give you some files for you to run with your developed program, BUT you should change the data in these files to test your program.

Requirements: Your code must meet the following functionalities, code, and documentation requirements. Your submission will be graded based on the rubric published on Canvas. Please ensure you read all the requirements and the rubric carefully before working on your assignment.

A - Functionalities Requirements:
There are 4 levels, please ensure you only attempt one level after completing the previous level.

B - Code Requirements:
You must demonstrate your ability to program in Python by yourself, i.e., you should not use any Python packages/libraries that can do most of the coding for you. The only Python libraries allowed in this assignment are sys, os, and datetime. If other packages/libraries are used, you will get a 0 mark or a heavy penalty.
Your program at all levels should be fully OO, e.g., no variables, methods, or code snippets dangling outside a class. Your main program should simply create an object and run its methods to invoke methods from other classes to perform the required functionalities.
You should test/verify the program with different text files (not just run with our text files) to ensure your program satisfies all the required functionalities.
Your code needs to be formatted consistently. You must not include any unused/irrelevant code (even inside the comments). What you submitted must be considered the final product.
You should design your classes carefully. You may use a class diagram to assist with the design. In the DI and HD levels, you are required to provide a detailed class diagram to show your class design. An example of a class diagram is shown below on the next page - Figure 1 (note that this is a

class diagram of a different programming assignment). In the diagram, the variables and methods of each class are shown. Note that if your code is at the PASS or CREDIT level, you do not need to submit any diagram; a diagram at these levels would NOT result in any mark.
You could use tools like PowerPoint, Keynotes, or online tools like moqups.com to draw the diagram.
The diagram needs to be submitted in jpg, gif, png, or pdf format.
Finally, note that in places where this specification may not tell you how exactly you should implement a certain feature, you need to use your judgment to choose and apply the most appropriate concepts from our course materials. You should follow answers given by your "client" (or "supervisor" or the teaching team) under Canvas/Discussions/Discussion on Final Coding Challenge.

C - Documentation Requirements:
You are required to write comments (documentation) as a part of your code. Writing documentation is a good habit in professional programming. It is particularly useful if the documentation is next to the code segment that it refers to. NOTE that you don't need to write an essay, i.e., you should keep the documentation succinct.
Your comments (documentation) should be in the same Python file. Please DO NOT write a separate file for comments (documentation).
At the beginning of your Python file, your code must contain the following information:

1. Your name and student ID.
2. The highest level you have attempted. This means you have completed all the requirements of the levels below. Mark will be only given at the lowest level of partial completion. For example, if you completed the PASS level, tried 50% of the CREDIT level, 30% of the DI level, 10% of the HD level, then your submission will be marked at the CREDIT level only (we will ignore the DI and HD levels, so please make sure you fully finish one level before moving to the next one).
3. Any problems of your code and requirements that you have not met. For example, scenarios that might cause the program to crash or behave abnormally, the requirements your program does not satisfy. Note that you do not need to handle or address errors that are not covered in the course.
Besides, the comments in this final coding challenge should serve the following purposes:
• Explain your code in a precise but succinct manner. It should include a brief analysis of your approaches instead of simply translating the Python code to English. For example, you can comment on why you introduce a particular function/method, why you choose to use a while loop instead of other loops, why you choose a particular data type to store the data information. These comments can be placed before the code blocks (e.g., functions/methods, loops, if) and important variable declarations that the comments refer to.
• Document some analysis/reflection as a part of your code. Here, you need to write some paragraphs (could be placed at the end or at the beginning of your code) to explain in detail your design process, e.g., how you came up with the design of the program, how you started writing the code after the design process, the challenges you met during the code development.
• Document the references, i.e., any sources of information (e.g., websites, tools) you used other than the course contents directly under Canvas/Modules, you must give acknowledgement of the sources, explaining how you use the sources in this assignment. More detailed information regarding the references can be found in Section 5.

Attachment:- Coding Challenge.rar

Reference no: EM133555445

Questions Cloud

Explains why the song emperor would host scholar-officials : explains why the Song emperor would host scholar-officials such as those depicted in the image? He shared the Confucian values that prized scholarship and learn
How strategies for incorporating this framework are similar : How strategies for incorporating this framework are similar and different across the manufacturing industry and the service industry.
What is his argument for the independence model : Why does Stephen J. Gould argue that the Conflict Model is the wrong model for understanding science and religion?
Evaluate and discuss the new deal and its impacts related : Evaluate and discuss the New Deal and its impacts related to the biblical model of statesmanship and biblical principles. What can we learn from this?
Devise suitable algorithmic solutions : COSC2531 Programming Fundamentals, RMIT University - Devise suitable algorithmic solutions and code these algorithmic solutions in a computer programming
Technology and innovation in sustainable business : Compare the relationship between technology and innovation in sustainable business. List three to five main contributing factors in Stonyfield's success.
Define nativism and how it affected attitudes toward : Why do a authors conclude " that those who prosecuted Sacco and Vanzetti were far more concerned with who the defendants were and what they believed than with
Explain why the qualitative method was best : Explain why the qualitative method was best for this investigation and rationalize why other designs would not be appropriate.
Establishing plan for stimulating and maintaining motivation : Part of their preparation involves establishing a plan for stimulating and maintaining motivation over time.

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