1st SIT Coursework – 01 Question paper Year Long 2024/2025
Module Code: Module Title: Module Leader: |
CS6004NI Application Development Mr. Abhishek Khadka (Islington College) |
Coursework Type: Coursework Weight: Submission Date: Coursework given out: Submission Instructions: Warning: |
Individual This coursework accounts for 30% of the overall module grades. First Milestone: Thursday, 19 December 2024 Second Milestone: Sunday, 5 January 2025 Final Deadline: Friday, 17 January 2025 Week 6
Note: Exclude dot-folders (.git, .vs, .vscode) and build output folders (bin, obj) from project repository. Submit the deliverables to the Islington College MST portal before 01:00 PM on the due date. You have two submission options:
File Naming Convention: <London met Id> <Name>.<pdf|zip> E.g. 19030867 Bishal Gharti Chhetri.zip London Metropolitan University and Islington College take plagiarism very seriously. Offenders will be dealt with sternly. |
ยฉ London Metropolitan University
PLAGIARISM
You are reminded that there exist regulations concerning plagiarism. Extracts from these regulations are printed overleaf. Please sign below to say that you have read and understand these extracts:
Extracts from University Regulations on Cheating, Plagiarism and Collusion
Section 2.3: โThe following broad types of offence can be identified and are provided as indicative examples โฆ.
- Cheating: including taking unauthorised material into an examination; consulting unauthorised material outside the examination hall during the examination; obtaining an unseen examination paper in advance of the examination; copying from another examinee; using an unauthorised calculator during the examination or storing unauthorised material in the memory of a programmable calculator which is taken into the examination; copying coursework.
- Falsifying data in experimental results.
- Personation, where a substitute takes an examination or test on behalf of the candidate. Both candidate and substitute may be guilty of an offence under these Regulations.
- Bribery or attempted bribery of a person thought to have some influence on the candidateโs assessment.
- Collusion to present joint work as the work solely of one individual.
- Plagiarism, where the work or ideas of another are presented as the candidateโs own.
- Other conduct calculated to secure an advantage on assessment.
- Assisting in any of the above.
Some notes on what this means for students:
- Copying another student’s work is an offence, whether from a copy on paper or from a computer file, and in whatever form the intellectual property being copied takes, including text, mathematical notation, and computer programs.
- Taking extracts from published sources without attribution is an offence. To quote ideas, sometimes using extracts, is generally to be encouraged. Quoting ideas is achieved by stating an author’s argument and attributing it, perhaps by quoting, immediately in the text, his or her name and year of publication, e.g. โe = mc2 (Einstein 1905)”. A reference section at the end of your work should then list all such references in alphabetical order of authors’ surnames. (There are variations on this referencing system which your tutors may prefer you to use.) If you wish to quote a paragraph or so from published work then indent the quotation on both left and right margins, using an italic font where practicable, and introduce the quotation with an attribution.
CONTRACT CHEATING
Contract cheating (also known as assessment outsourcing, commissioning, or ghost writing) is when someone seeks out another party, or AI generator service, to produce work or buy an essay or assignment, either already written or specifically written for them or the assignment to submit as their own piece of work.
Contract cheating undermines the integrity of the academic process and devalues the qualifications awarded by the university. Students are reminded that academic integrity is a fundamental principle of our institution. Engaging in contract cheating not only impacts the individualโs academic record but also the reputation of the university.
Students are encouraged to seek support if they are struggling with their coursework. The university offers a range of resources, including academic counselling, tutoring services, and workshops on study skills and time management. Utilizing these resources can help students achieve their academic goals without resorting to dishonest practices.
Penalty:
- Failure in the Module: The student must re-register for the same module, and the re-registered module will be capped at a bare pass.
- Ineligibility to Continue on the Course: Where re-registration of the same module, or a suitable alternative, is not permissible, the student will not be able to continue the course. Additionally, the following penalty will be applied to the studentโs final award:
- Undergraduate Honors: The studentโs final classification will be reduced by one level.
- Unclassified Bachelors: Downgraded to Diploma in Higher Education.
- Foundation Degree: Distinction downgraded to Merit; Merit downgraded to Pass; Pass downgraded to Certificate in Higher Education.
- Masters: Distinction downgraded to Merit; Merit downgraded to Pass; Pass downgraded to Postgraduate Diploma.
Reporting and Consequences:
Instances of contract cheating will be thoroughly investigated, and students found guilty will face the penalties outlined above. It is the responsibility of every student to ensure that their work is their own and to avoid situations that could lead to accusations of academic misconduct.
By adhering to these standards, students contribute to a fair and equitable academic environment, ensuring the value and recognition of their qualifications are maintained.
SCENARIO
A company has posted a project for auction on the Pranlancer platform. Due to your excellent reputation, positive reviews, and competitive bid, you have been chosen to execute the project within a set deadline. The project involves developing a prototype desktop application designed for personal expense tracking. As a C#.NET Developer, you have decided to use a suitable .NET Core framework to complete the project. The key requirements for the application are outlined below.
Upon the first startup, the application should prompt the user to provide a username, application password, and preferred currency type. The application must track cash inflows (credit, gain, or budget), cash outflows (debit, spending, or expenses), and debts. For cash outflows, sufficient balance is required. The debt tracking feature should include fields such as the source of debt, the due date, and must ensure debts are cleared only from cash inflows. Additionally, pending debts should be highlighted. Each transaction can include optional notes and should be categorized with primary labels such as credit, debit, or debt. Users should also be able to tag transactions with custom labels, such as “monthly,” “rent,” “groceries,” “salary,” and others for better organization.
Users should have the ability to search, filter and sort records by title, transaction type, tags, date range, and date. The application must provide a dashboard that offers detailed statistics, including total cash inflows, outflows, debts, cleared debts, remaining debts, and records of the top 5 highest or lowest transactions. The dashboard should also list pending debts, all of which can be filtered by a date range.
Default Tags: Yearly, Monthly, Food, Drinks, Clothes, Gadgets, Miscellaneous, Fuel, Rent, EMI, Party, etc.
Default Date Range: Current month.
Import/Export File Formats: Any suitable structural formats like CSV, JSON, Excel, or the option to use SQLite for local storage.
TASK
The deliverables are outlined on the first page. Review the provided scenario and analyze it to extract all relevant requirements. For reference, the fixed requirements are detailed in the marking scheme below.
You are tasked with developing a C#.NET software application based on the given scenario. Additionally, clarify your contribution according to the project type (i.e., individual or group).
After completing the application, ensure it is thoroughly documented. Refer to the marking scheme for documentation requirements and review the “Things to Remember” section for further guidance.
THINGS TO REMEMBER
- Plagiarism:
- Plagiarism is grounds for failure and applies to deliverables. All parties involved will be penalized.
- Code-level plagiarism is prohibited. Always provide proper attribution for any borrowed code.
- Documentation:
- Development without accompanying documentation (and vice versa) is not allowed and will result in failure.
- Group Projects:
- Groups can have up to 6 members. Only the group leader is responsible for submission.
- Frameworks:
- Any framework under C#.NET is permitted.
- Deployment:
- Deploying or publishing the completed application is encouraged.
- Architectural Patterns:
- Following well-known architectural patterns is encouraged.
- Non-Functional Requirements:
- Addressing non-functional requirements such as security, performance, scalability, compatibility, and usability will enhance your projectโs evaluation.
- Development Tools:
- Using project templates, libraries, packages, or modules to simplify the development process is encouraged, provided you justify their use.
- Version Control:
- Use version control systems (e.g., Git) to manage your codebase. Regular commits and clear commit messages are important.
- User Experience (UX):
- Pay attention to the user interface (UI) and user experience (UX) design. An intuitive and user-friendly application will positively impact your evaluation.
- Project Management:
- Demonstrate effective project management practices, including setting milestones, tracking progress, and managing resources. This will be reflected in your project review.
- References:
- Always provide references for any external resources used, such as libraries, remote repositories, articles, forums, or Q&A sites.
“We welcome and encourage your creativity.”
MARKING SCHEME
Section |
Topic |
Full Marks (100) |
A |
Development |
90 |
AA |
Feature |
60 |
1 |
Cash Inflows/Outflows/Debt Tracking (i.e. credit, debit, Debt transactions) |
5 |
2 |
Sufficient balance check for outflows |
5 |
3 |
Clearing debt from inflows and highlighting pending debts |
5 |
4 |
Ability to add custom or existing tags/labels to a transaction |
5 |
5 |
Ability to add optionally a note to a transaction |
5 |
6 |
Filtering transactions by type, tags, and date range |
4 |
7 |
Sorting transactions by date |
4 |
8 |
Searching transactions by title, seamlessly with existing sorting and filtering results |
2 |
9 |
Display total number of transactions and total transactions (inflows + debts – outflows) |
5 |
10 |
Display of total inflows, outflows, debt, cleared debt, remaining debt |
5 |
11 |
Display of highest/lowest inflow, outflow, and debt transactions |
5 |
12 |
Properly listing pending debts in the dashboard |
5 |
13 |
Dashboard filtering by specific date ranges |
5 |
AB |
Quality |
30 |
1 |
Code Readability (i.e. naming convention, comments, indentation, consistent formatting/styles, organization, error messages, logical flow, expressions) |
5 |
2 |
Code Efficiency (Data structures, algorithms, optimizations, redundant computations) |
5 |
3 |
Code Modularity (SoC, code reusability, SRP, abstraction, Dependency Injection (DI)) |
5 |
4 |
Error Handling (exception handling, input validation, logging, graceful degradation, error propagation) |
5 |
5 |
Version Control (VCS (i.e. Git), meaningful commit messages, logical commit history, effective branching/merging, Tagging/Releases) |
5 |
6 |
User Experience (UX) (Design, Usability, Responsiveness, Consistency) |
5 |
B |
Documentation |
10 |
1 |
Project Overview (purpose, scope, objectives) |
1 |
2 |
Features & Functionalities (key features, corresponding functionalities, visual guides) |
4 |
3 |
Proof of Work (PoW) (project artifacts: designs, UML diagrams, VCS repository, milestone chart, testing etc.) |
2 |
4 |
Individual Reflection(s) (roles & responsibilities, personal insights, challenges, learnings, growth, impact on future work, personal evaluation) |
2 |
5 |
Conclusion (objective restatement, implications, recommendations, findings, limitations, future research & development, concluding statement) |
1 |
MILESTONE 1 (Thursday, 19 December 2024)
- Task 1: Initialize private Git repository with an empty MAUI project.
- Task 2: Project Report
- Project Title
- UI Design (Wireframe)
- Data/Entity Modeling (E.g. Product, Order, Customer etc.)
- Technology Stack
- Framework (E.g. MAUI Blazor Hybrid, WinForms, Xamarin etc.)
- External Libraries (E.g. Newtonsoft.Json, Bogus, MudBlazor etc.)
- Persistence Mechanism: (e.g., file handling using semi-structured formats such as CSV, Excel, and JSON; local database using SQLite)
- Task 3: By week 10, must complete at least 5 features.
MILESTONE 2 (Sunday, 5 January 2025)
- Task 1: Completion of at least 10 features
- Task 2: Submit the Work in Progress (WIP) (i.e. Zipped Project Repo)