ICT365讲解、辅导c++程序设计、讲解c/c++ 调试Matlab程序|讲解留学生Processing
- 首页 >> Python编程 ICT365 Major Assignment One
This assignment aims to provide a .NET solution to a specific simulation problem. To solve this
problem, you need the knowledge gained from the first Topics of this Unit. You may also need
to undertake independent research to find out some .NET framework classes required in your
solution.
This assignment is worth 20% of the total unit assessment.
Learning Outcomes Assessed in this
Assignment
Demonstrate fluency in a contemporary programming language and software
development framework.
Implement and document an object-oriented programming solution using
object-oriented analysis and design techniques.
Evaluate and demonstrate the theory and concepts of contemporary/ industry standards
programming and design in the software development life cycle.
Demonstrate awareness of industry standards of software development.
Critically appraise the use of various software development frameworks.
Description of the Problem
Geospatial-based Recommender System using Social Networks and Multimedia
Murdoch University is conducting research in Assistive Technologies for Dementia Sufferers
and Carers, specifically to combat the group of symptoms present in the early stages
dementia, and that affect mental cognitive tasks such as memory and reasoning and reduce
Quality of Life. (Refer to the Appendix at the end of this document for definitions.)
The system is dependent on a person using lifelogging technology to input valuable personal
information into the system, e.g. by uploading geotagged photos or status updates. The
system can then use Artificial Intelligence (AI) to learn habits, cues, to support someone in
their daily activities. The AI (in its simplest form, merely retrieving the “nearest” lifelogged
information) will support the human memory and reasoning systems, for instance by
knowing which photos, and other information, can be used at the appropriate moment to
trigger memories. The GPS-enabled reminder system acts as a kind of “cognitive scaffold”
supporting recall of important events, people, and so on in a persons’ environment. This
integrated help can provide security to the user, by mitigating against anxiety, and even
reduce care giver stress by lending support to daily activities and interactions.
Figure 1. Example map with images of friends, family, associates displayed
Your role is to create a simulation program that implements certain core features of the
desired end-product. It will be WinForms-based C#.NET program that has a map as a
foundation, and clicking on this map will result in one of two actions:
- STORE EVENT: Add a new event to the lifelog list of events
- RETRIEVE EVENT: Retrieve and display the most relevant information that is stored in
the lifelog list of events, given the time/location/current profile
The lifelog events are stored in a SOAP XML file. SOAP is a specific flavour of XML often used
to return queries from collections. The following figure (2) shows an example/template that
can be used for this assignment.
>
ID1
This is some tweet in my day
999
999
datetimestamp
ID2
This is some status update in my day
999
999
datetimestamp
ID3
/photos/image.jpg
999
999
ID4
/videos/film.mp4
999
999
datetimestamp
datetimestamp
ID4
/tracklog/track.gpx
.....
datetimestamp
datetimestamp
Figure 2. Example SOAP file “lifelog-events.xml” with proposed Event examples
NOTE: While the domain of this assignment will no doubt be new to you, the key areas that
are assessed in this assignment are the use of Libraries, Collections, Design Patterns, GUI
coding, Refactoring, UML, Testing and Documentation. The complete scenario for the
assignment will be discussed in lectures and support provided in tutorials.
The Task
Your task is divided into two parts:
• Basic Features: your system must have a set of prescribed features. All students are
required to implement these basic features. The full marks for this part is 65% of the
assignment.
This part will be assessed in terms of completeness in meeting the prescribed
feature requirement, quality of your code, the appropriateness of your choice of
visual controls, the ease-of-use and the look-and-feel of your graphical user
interface, the robustness and reliability of your program, and the overall quality of
your documentation which includes the adherence to Documentation and
Submission Requirements.
• Advanced Features: This part contains the design patterns and design principles.
This part is worth 35% of the assignment.
This part provides an ideal platform for more ambitious students and/or senior
Computer Science students to demonstrate their creativity and competency in
software design and implementation.
As part of your solution, you need to provide a detailed description of the patterns
and principles you have implemented in your system. Marks will be awarded for
novelty and usefulness of the functionalities, appropriateness and ease of use of the
graphical user interface, and reliability and robustness of the implementation.
To score highly in this part, we expect significant enhancements over and beyond
the base system.
The Basic Features
The basic features are worth 65%. Your system must be window-based and implemented in
.NET using C#. It must contain the following functionality:
• Task 01
Consider the events provided in the example SOAP file. Add in several more events
(at least 20) into the file.
• Task 02
Create a Windows form GUI using Visual Studio. A key part of this must be a canvas
area/map to display the events from your SOAP file.
• Task 03
Using LINQ to XML load the data from the SOAP file into an appropriate collection of
objects. Use a C# Dictionary as the format for your collection. Develop an
appropriate class(es) for the events.
• Task 04
Display the events (using suitable icons, text etc) on the canvas.
• Task 05
By clicking on the canvas, give the user the option to Add a new event, or Retrieve
information. If Adding, use a subform to obtain the relevant information and insert
into the SOAP file. If Retrieving, develop a method to indicate which of the current
events are being accessed, and display the information (e.g. draw a line from the
current position to the nearest Event, or a circumference around the current
position etc.)
The Advanced Features
The advanced features are worth 35%. The following is a list of advanced features for your
consideration. You may implement some of them, all of them, or none of them. You may
also implement features not listed below. If you do not implement any advanced feature,
your marks will not exceed 65%.
Advanced GUI metaphors.
Additional functionality, for instance: the ability to review and link related Events;
adding People into the system; a calendar of activities to be reminded of; derivation
of new Events from information already logged/recorded about a person (e.g.
Google); consideration of how to implement a geoprofile; consideration of
sophisticated event models from the literature; consideration of representations of
memories (and their indexes) from the literature.
Unit tests for the most important parts of your code.
Description of any refactoring that you have made during your development.
Implementation of appropriate design patterns and principles into your solution.
For example, consider which patterns would: allow the system to be flexible enough to
easily add new Events; make sense in a GUI event-driven programme.
Documentation and Submission Requirements
Your submission must be in the form of a single ZIP archive file consisting of 1) one
Microsoft Word file named "Assignment1.doc" containing a critical analysis and
documentation of your solution, and 2) the Visual C# files for your solution to the problem.
Your assignment will not be marked unless both are included in the ZIP archive file.
You must submit the ZIP file using ICT365 Unit LMS on or before the deadline.
A Microsoft Word document named "Assignment1.doc" containing the documentation of
your solution to the problem. It must contain the following documents and these
documents must be layout in the following order:
i. The “ICT365 Major Assignment Check List” is available from the Assignment section.
All students must complete this form.
ii. If you have been granted extension, include the email from your Unit Coordinator.
iii. The detailed description of the problem you aim to solve. This includes a detailed
specification of the advanced features you have implemented. Please only list
features that are a fully working.
iv. Self-diagnosis, evaluation and declaration. You must provide a full and detailed
declaration of the following: the features that are fully implemented and fully
working, the features that are not fully working, and the features that are not
implemented. Where possible, you should also identify the possible causes of the
problems for those features that are not fully working. You will not receive a pass
mark unless the above declaration is made.
v. A brief description of your solution to the problem. The length of your description
should be around one page, but no more than two pages.
vi. Evidence that your solution meets each requirement of the assignment, including
each of the requirements you have specified for the self-selected advanced features.
Please note that although your tutor may test your program to verify the evidence
presented in your documentation, it is not the responsibility of your tutor to test your
program for the purpose of finding marks for you. It is up to individual student to
mount a convincing case that the submitted solution meets all requirements. You will
lose a significant number of marks (up to 70% of the assignment) if the evidence you
presented is not convincing or not complete, even if your program actually works.
vii. The source code listing - including all Visual C# files of your application.
The ZIP file name must conform to the following format:
ICT365_MajorAssignment1_FirstName_Surname.zip
For example, someone with the name of John Smith should name his assignment ZIP file as
ICT365_MajorAssignment1_John_Smith.zip
The ZIP file must be submitted using ICT365 Unit LMS. Please be aware that the Unit LMS
will not accept your assignment if it is late by more than 10 days. Please type in your email
address when submitting your assignment, so that LMS will send you a confirmation that
your assignment is submitted successfully.
The above documentation and submission requirements will be strictly enforced. Your
assignment will not be marked, or your marks will be significantly reduced, if you fail to
adhere to the above requirements.
Policy on the Reuse of the Third Party Source Code
Please read this section very carefully.
All students are encouraged to solve the problems independently with their own source
code. I understand, however, that occasionally there may be justifiable reasons to re-use
source codes from a third party. Please note that if you have used one or more pieces of
third party source codes in your program (this includes the situations where you have made
minor modifications to the third party source code), your assignment will be acceptable only
if you have satisfied all of the following conditions:
• The third party source code is fully identified, including the page numbers and line
numbers in your hard-copy assignment documentation, and
• The origin of the third party code is fully disclosed and acknowledged in your
assignment submission, and
• The third party source code is fully commented in your program listing. All variables,
functions and major control structures must be commented to show clearly that you
understand the logic of the code, and
• The third party source code is less than 20% of your program (in terms of the
number of lines), excluding the code specifically allowed to be used.
Failure to satisfy any one of the above conditions will result in 0 marks being awarded to
your entire assignment.
The above policy will be rigorously enforced by the Unit Coordinator.
Deadline and Penalty for Late Submission
The deadline for submitting this assignment is given in the respective Assignment
Submission section of the Unit LMS.
Unless you have exceptional circumstances, be advised that late submissions will incur a
penalty of 10% of the total marks per day (including weekends and public holidays). Please
see the further explanation on how the number of days is calculated in the following
paragraph. Work submitted more than 10 days late will not be accepted.
In calculating the number of days late, a fractional day is rounded up to one whole day. For
example, if you submit your assignment one day and three hours (1.125 days) after the
deadline, your submission is considered to be late for two whole days under this rule, hence
your marks will be deducted by 20%.
Applications for extension of your assignment deadline can only be made via email to the
Unit Coordinator or his delegate, normally prior to the specified due date of the assignment.
If an extension is granted (also by email), you must attach a copy of the email to your
submission (see Documentation and Submission Requirements). Applications for extension
by phone or in person do not count even if granted. The above policy will be rigorously
enforced.
Errata
This document is subject to change based on errors found. Any errors found and corrected
will be posted in the Unit Announcements page of the Unit LMS. If you print out a copy of
this page, please follow the news in the Unit Announcements page.
Appendix: Dementia and Mild Cognitive Impairment
Dementia is a clinical diagnosis made when acquired cognitive deficits in more than one
area of cognition interfere with activities of daily living and represent a decline from a
previously higher level of functioning.
This assignment aims to provide a .NET solution to a specific simulation problem. To solve this
problem, you need the knowledge gained from the first Topics of this Unit. You may also need
to undertake independent research to find out some .NET framework classes required in your
solution.
This assignment is worth 20% of the total unit assessment.
Learning Outcomes Assessed in this
Assignment
Demonstrate fluency in a contemporary programming language and software
development framework.
Implement and document an object-oriented programming solution using
object-oriented analysis and design techniques.
Evaluate and demonstrate the theory and concepts of contemporary/ industry standards
programming and design in the software development life cycle.
Demonstrate awareness of industry standards of software development.
Critically appraise the use of various software development frameworks.
Description of the Problem
Geospatial-based Recommender System using Social Networks and Multimedia
Murdoch University is conducting research in Assistive Technologies for Dementia Sufferers
and Carers, specifically to combat the group of symptoms present in the early stages
dementia, and that affect mental cognitive tasks such as memory and reasoning and reduce
Quality of Life. (Refer to the Appendix at the end of this document for definitions.)
The system is dependent on a person using lifelogging technology to input valuable personal
information into the system, e.g. by uploading geotagged photos or status updates. The
system can then use Artificial Intelligence (AI) to learn habits, cues, to support someone in
their daily activities. The AI (in its simplest form, merely retrieving the “nearest” lifelogged
information) will support the human memory and reasoning systems, for instance by
knowing which photos, and other information, can be used at the appropriate moment to
trigger memories. The GPS-enabled reminder system acts as a kind of “cognitive scaffold”
supporting recall of important events, people, and so on in a persons’ environment. This
integrated help can provide security to the user, by mitigating against anxiety, and even
reduce care giver stress by lending support to daily activities and interactions.
Figure 1. Example map with images of friends, family, associates displayed
Your role is to create a simulation program that implements certain core features of the
desired end-product. It will be WinForms-based C#.NET program that has a map as a
foundation, and clicking on this map will result in one of two actions:
- STORE EVENT: Add a new event to the lifelog list of events
- RETRIEVE EVENT: Retrieve and display the most relevant information that is stored in
the lifelog list of events, given the time/location/current profile
The lifelog events are stored in a SOAP XML file. SOAP is a specific flavour of XML often used
to return queries from collections. The following figure (2) shows an example/template that
can be used for this assignment.
.....
Figure 2. Example SOAP file “lifelog-events.xml” with proposed Event examples
NOTE: While the domain of this assignment will no doubt be new to you, the key areas that
are assessed in this assignment are the use of Libraries, Collections, Design Patterns, GUI
coding, Refactoring, UML, Testing and Documentation. The complete scenario for the
assignment will be discussed in lectures and support provided in tutorials.
The Task
Your task is divided into two parts:
• Basic Features: your system must have a set of prescribed features. All students are
required to implement these basic features. The full marks for this part is 65% of the
assignment.
This part will be assessed in terms of completeness in meeting the prescribed
feature requirement, quality of your code, the appropriateness of your choice of
visual controls, the ease-of-use and the look-and-feel of your graphical user
interface, the robustness and reliability of your program, and the overall quality of
your documentation which includes the adherence to Documentation and
Submission Requirements.
• Advanced Features: This part contains the design patterns and design principles.
This part is worth 35% of the assignment.
This part provides an ideal platform for more ambitious students and/or senior
Computer Science students to demonstrate their creativity and competency in
software design and implementation.
As part of your solution, you need to provide a detailed description of the patterns
and principles you have implemented in your system. Marks will be awarded for
novelty and usefulness of the functionalities, appropriateness and ease of use of the
graphical user interface, and reliability and robustness of the implementation.
To score highly in this part, we expect significant enhancements over and beyond
the base system.
The Basic Features
The basic features are worth 65%. Your system must be window-based and implemented in
.NET using C#. It must contain the following functionality:
• Task 01
Consider the events provided in the example SOAP file. Add in several more events
(at least 20) into the file.
• Task 02
Create a Windows form GUI using Visual Studio. A key part of this must be a canvas
area/map to display the events from your SOAP file.
• Task 03
Using LINQ to XML load the data from the SOAP file into an appropriate collection of
objects. Use a C# Dictionary as the format for your collection. Develop an
appropriate class(es) for the events.
• Task 04
Display the events (using suitable icons, text etc) on the canvas.
• Task 05
By clicking on the canvas, give the user the option to Add a new event, or Retrieve
information. If Adding, use a subform to obtain the relevant information and insert
into the SOAP file. If Retrieving, develop a method to indicate which of the current
events are being accessed, and display the information (e.g. draw a line from the
current position to the nearest Event, or a circumference around the current
position etc.)
The Advanced Features
The advanced features are worth 35%. The following is a list of advanced features for your
consideration. You may implement some of them, all of them, or none of them. You may
also implement features not listed below. If you do not implement any advanced feature,
your marks will not exceed 65%.
Advanced GUI metaphors.
Additional functionality, for instance: the ability to review and link related Events;
adding People into the system; a calendar of activities to be reminded of; derivation
of new Events from information already logged/recorded about a person (e.g.
Google); consideration of how to implement a geoprofile; consideration of
sophisticated event models from the literature; consideration of representations of
memories (and their indexes) from the literature.
Unit tests for the most important parts of your code.
Description of any refactoring that you have made during your development.
Implementation of appropriate design patterns and principles into your solution.
For example, consider which patterns would: allow the system to be flexible enough to
easily add new Events; make sense in a GUI event-driven programme.
Documentation and Submission Requirements
Your submission must be in the form of a single ZIP archive file consisting of 1) one
Microsoft Word file named "Assignment1.doc" containing a critical analysis and
documentation of your solution, and 2) the Visual C# files for your solution to the problem.
Your assignment will not be marked unless both are included in the ZIP archive file.
You must submit the ZIP file using ICT365 Unit LMS on or before the deadline.
A Microsoft Word document named "Assignment1.doc" containing the documentation of
your solution to the problem. It must contain the following documents and these
documents must be layout in the following order:
i. The “ICT365 Major Assignment Check List” is available from the Assignment section.
All students must complete this form.
ii. If you have been granted extension, include the email from your Unit Coordinator.
iii. The detailed description of the problem you aim to solve. This includes a detailed
specification of the advanced features you have implemented. Please only list
features that are a fully working.
iv. Self-diagnosis, evaluation and declaration. You must provide a full and detailed
declaration of the following: the features that are fully implemented and fully
working, the features that are not fully working, and the features that are not
implemented. Where possible, you should also identify the possible causes of the
problems for those features that are not fully working. You will not receive a pass
mark unless the above declaration is made.
v. A brief description of your solution to the problem. The length of your description
should be around one page, but no more than two pages.
vi. Evidence that your solution meets each requirement of the assignment, including
each of the requirements you have specified for the self-selected advanced features.
Please note that although your tutor may test your program to verify the evidence
presented in your documentation, it is not the responsibility of your tutor to test your
program for the purpose of finding marks for you. It is up to individual student to
mount a convincing case that the submitted solution meets all requirements. You will
lose a significant number of marks (up to 70% of the assignment) if the evidence you
presented is not convincing or not complete, even if your program actually works.
vii. The source code listing - including all Visual C# files of your application.
The ZIP file name must conform to the following format:
ICT365_MajorAssignment1_FirstName_Surname.zip
For example, someone with the name of John Smith should name his assignment ZIP file as
ICT365_MajorAssignment1_John_Smith.zip
The ZIP file must be submitted using ICT365 Unit LMS. Please be aware that the Unit LMS
will not accept your assignment if it is late by more than 10 days. Please type in your email
address when submitting your assignment, so that LMS will send you a confirmation that
your assignment is submitted successfully.
The above documentation and submission requirements will be strictly enforced. Your
assignment will not be marked, or your marks will be significantly reduced, if you fail to
adhere to the above requirements.
Policy on the Reuse of the Third Party Source Code
Please read this section very carefully.
All students are encouraged to solve the problems independently with their own source
code. I understand, however, that occasionally there may be justifiable reasons to re-use
source codes from a third party. Please note that if you have used one or more pieces of
third party source codes in your program (this includes the situations where you have made
minor modifications to the third party source code), your assignment will be acceptable only
if you have satisfied all of the following conditions:
• The third party source code is fully identified, including the page numbers and line
numbers in your hard-copy assignment documentation, and
• The origin of the third party code is fully disclosed and acknowledged in your
assignment submission, and
• The third party source code is fully commented in your program listing. All variables,
functions and major control structures must be commented to show clearly that you
understand the logic of the code, and
• The third party source code is less than 20% of your program (in terms of the
number of lines), excluding the code specifically allowed to be used.
Failure to satisfy any one of the above conditions will result in 0 marks being awarded to
your entire assignment.
The above policy will be rigorously enforced by the Unit Coordinator.
Deadline and Penalty for Late Submission
The deadline for submitting this assignment is given in the respective Assignment
Submission section of the Unit LMS.
Unless you have exceptional circumstances, be advised that late submissions will incur a
penalty of 10% of the total marks per day (including weekends and public holidays). Please
see the further explanation on how the number of days is calculated in the following
paragraph. Work submitted more than 10 days late will not be accepted.
In calculating the number of days late, a fractional day is rounded up to one whole day. For
example, if you submit your assignment one day and three hours (1.125 days) after the
deadline, your submission is considered to be late for two whole days under this rule, hence
your marks will be deducted by 20%.
Applications for extension of your assignment deadline can only be made via email to the
Unit Coordinator or his delegate, normally prior to the specified due date of the assignment.
If an extension is granted (also by email), you must attach a copy of the email to your
submission (see Documentation and Submission Requirements). Applications for extension
by phone or in person do not count even if granted. The above policy will be rigorously
enforced.
Errata
This document is subject to change based on errors found. Any errors found and corrected
will be posted in the Unit Announcements page of the Unit LMS. If you print out a copy of
this page, please follow the news in the Unit Announcements page.
Appendix: Dementia and Mild Cognitive Impairment
Dementia is a clinical diagnosis made when acquired cognitive deficits in more than one
area of cognition interfere with activities of daily living and represent a decline from a
previously higher level of functioning.