-
Notifications
You must be signed in to change notification settings - Fork 2
CW1
Your task is to develop a basic console application that will emulate the main features of a music streaming service such as Spotify or Apple Music. You should code a basic application that is able to store a list of song objects. Each song object should be able to store the artist’s name, the song title and the current number of times the song has been played.
Your application should have the following features:
- Add a new song to the list of songs
- Remove a new song from the list of songs
- Print a list of all the songs stored
- Print a list of songs over a given number of plays
The data below is intended to be an example of values for song name, artist name and play count. However, for your submission, you must add your own song data. You must not copy the values below. You should add a minimum of ten songs, featuring the song name, artist name and play count.
You need to replace the below data with your own (remember 10 rows)
| Song name | Artist name | Play count |
|---|---|---|
| Beautiful | Anne-Marie | 863,015 |
| Bad Habits | Ed Sheeran | 127,191,452 |
| Halo | Beyonce | 991,888,598 |
| Clash | Dave (feat. Stormzy) | 7,070,513 |
| It Gets Better | Swedish House Mafia | 7,563,930 |
✅ LO1: Design, implement and test programs to solve simple problems.
| Fail | Fail | Pass | Pass | Pass | Pass | Pass | |
|---|---|---|---|---|---|---|---|
| 0 to 34 (F) | 35 to 39 (F) | 40 to 49 (D) | 50 to 59 (C) | 60 to 69 (B) | 70 to 79 (A) | 80 to 100 (A) | |
| Not successful | Below required standard | Satisfactory | Good | Very Good | Excellent | Outstanding | |
| Testing 80% This is evidenced by: Source code Screen shots of testing | The solution (if one submitted at all) does not fulfil the requirements and the code does not compile into a functioning program. There is no evidence of an investigation as to why the program does not compile/run. | There is evidence that an attempt has been made, but the source code does not compile and/or does not fulfil the basic requirements of the application. There is minimum to no evidence that the solution has been tested. | The solution does compile and create a functioning program that fulfils the basic requirements, and there is evidence that these basic features have been tested. | The solution compiles and fulfils half of the stated requirements (more than the basic requirements). These features implemented have supporting test evidence. | The solution compiles fulfils most (not all) of the stated requirements. The implementation of these features is supported by appropriate test evidence. | The solution compiles, works without exception and fulfils all the requirements and evidence is presented of these features being fully tested. | In addition to a complete and functioning solution, a feature (or several) has been added that makes the application ‘stand out.’ There is evidence that all functionality (including the new features) has been fully tested. |
| Documentation 10% This is evidenced by the presence of a GitHub wiki page. The wiki page should feature a list of features, design, testing evidence of features being executed, and a short evaluation. | No wiki is present with the repository. | An empty wiki or blank template has been supplied (but hasn’t been modified). | A wiki is present and features some detail about the development of the application. Significant sections are missing or incomplete. | The wiki documents roughly half the development of this application. | The wiki documents most of the development journey of the application but has one or two omissions. | The development of the application has been detailed in the wiki, but there are one or two minor issues with what has been presented. | The development of the application has been extensively detailed featuring comprehensive commentary and discussion of features. No issues were found, and outstanding features have been fully documented. |
| Quality 10% This is evidenced by: Code comments Code indentation Author name tags No Code duplication Use of Constants and Enumerations (where applicable) | No submission has been made (therefore quality is absent) or too many quality issues are present. Code does not contain an author name, is not commented or indented, the naming convention has not been applied to class, variable and methods, code duplication is present, and constants are not declared for values that do not change. | A solution has been submitted but minimal quality metrics are present. Code is unlikely to contain an author name, is not commented or indented, the naming convention has not been applied to class, variable and methods, code duplication is present, and constants are not declared for values that do not change. | The solution may feature evidence of a code quality metric, but more than five quality issues have been identified. | There is evidence that some code quality metrics have been applied but four to five minor quality issues have been identified. | There is evidence that code quality metrics have been applied consistently, but two or three minor quality issues have been identified. | All code quality metrics have been applied consistently, but with one minor exception. For example, one method comment may be missing, but comments are present in all other places. | All code quality metrics are implemented consistently across all the submitted source code; in short, no issues can be found. |