Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

ITECH3107 – Mobile Device Programming

Assignment 1 – Student Attendance System

Due Date: 11:59pm, Friday, 27th  October (end of Week 8)

This assignment will test your Android development skills and is worth 30% of your overall course mark.

Android Development

This assignment requires you to develop an Android application which uses several Activities which are related through the use of Intents. To write the application you will need to use the Android Studio Integrated Development Environment (IDE).

Your application must perform all tasks listed in this document and be capable of running on any Android device with a minimum API version of 23 (i.e. Android 6.0 "Marshmallow") up to the latest version of Android.

Your application should be created to display correctly on an emulated Google Pixel 4 device. However, by using appropriate layouts (e.g. ConstraintLayout) the application should also be able to display correctly on any Android device with any sized screen and resolution.

Warning: If your application is not created using the latest version of Android Studio and the minimum SDK requirements listed below, your submission may not be marked.

Plagiarism Policy

The Federation University policy on plagiarism can be found at the following location:

http://policy.federation.edu.au/university/student_plagiarism/ch01.php

I highly recommend that you familiarise yourself with what is and what is not considered plagiarism, but I'll summarise the key aspects below:

.     For this assignment, if you use any external resources to assist with your programming, please reference them using comments in code. For example, if you implemented an algorithm based on a Stack Overflow post, you should acknowledge this. You must also specify any help/sources you consulted in completing  this assignment using the form on Moodle, prior to submitting your assignment.

.     Do NOT share code with fellow students. These are individual assignments, not group projects. If the same code is found in multiple students’ projects, you’ll be reported to the Academic Integrity Officer and risk getting zero for the assignment and having a plagiarism flag put on your record.

Application Specification

Project Settings

Your Android application should have the following settings:

Minimum SDK: API 23

Target / Compilation SDK: Latest

Project/Application Name: FedUni Student Attendance <YOUR_STUDENT_ID_NUMBER>

For example, FedUni Millionaire 12345678

Company URL: au.edu.federation.itech3107.studentattendance<YOUR_STUDENT_ID>

For example, this would make the package name:

au.edu.federation.itech3107.studentattendance12345678

Application Description

A client has approached you to develop a student attendance system in Android.

In this first iteration of development, the client only wants you to develop a “proof-of-concept” app that includes the main functionality. The key requirements for this iteration include:

.    The teachers should be able to register and login after registration. Students won’t be able to access this application.

.    Teacher should be able to add units/courses such as ITECH3106 (add at least 3 courses/units for testing purpose).

.    Teacher should be able to add students using their student id and names to each course.

.    Teacher should be able to add starting and ending dates for the courses/units as per the timetable. Consider one class per week.  You need to use calendar API for this purpose.

.    Teacher can click the course/unit which displays a new page for marking attendance.

.     In the new page provide functionality to choose current date. For choosing date, you should display a dropdown list to choose the current date from.

.     For taking attendance, page should display list of students with their ids.  Display a checkbox against each student to tick it if the student is present.  Provide a save button at the bottom to save the attendance.

.    The system should save the attendance for each class separately.  You need to use a database to save students’ list and attendance.

.    You can use appropriate APIs wherever required.

Table 1. Question values and safe money.

Programming  Requirements

You may be required to include both Activities and additional classes in your application to achieve the requirements in an elegant manner. There is no limit to the number of additional classes you can include in your  app but you should aim for clean and logical design of your program. You should also follow the best practices for Android such as not hardcoding strings into layout files and follow other Java programming conventions.

Version Control

In order to demonstrate iterative development of your solution for the client, it is expected that you will utilise GitHub (or any other ) to create a repository for your assignment and make regular commits to this repository.

This will help you to demonstrate that the solution is your own work, while also allowing you to further experience the GitHub environment. Your repository can be private, but please provide access to the Unit Coordinator.

Submission and marking process

Create a single zip file containing the Android Studio project of your FedUni Student Attendance application and    upload it to the upload location on Moodle for Assignment 1 of this course. You can easily export your project as  a zip by selecting File > Export to Zip File…. There is no written component to this assessment besides the code in the completed project.

Assignments will be marked on the basis of fulfilment of the requirements as specified in the marking guide (which can be found on the last page of this document). You may be required to attend an interview with your marker to discuss certain aspects of your assignment.

In addition to the marking criteria, marks may be deducted for failure to comply with the assignment requirements, including (but not limited to):

• Incomplete functionality,

• Incomplete submissions (e.g. missing files)

Refer to the course description for details of the policy on marking of late assignments.

Any applications for extensions or special consideration should be made as early as possible, and in all cases prior to the deadline for submission.

ITECH3107 Assignment 1 Marking Criteria

Requirement

Marks

awarded

App functionality / design for Teacher

 

Registration screens behaves correctly with suitable UI

Three fields with user id and two password fields (second for confirmation of the password)

/5

Login screens behaves correctly with suitable UI

/5

Adding courses behaves correctly with suitable UI

Options to add and delete courses are provided and working correctly.

/10

Adding students to the units works correctly.

Option to add student id and student name are provided and working correctly.

/10

Adding timetable to each course with one class per week for 12 weeks

Appropriate views are used for adding timetable.

/10

Teacher can select a date to mark attendance

Dropdown option is provided to select one of the 12 dates to mark attendance.

/10

Marking attendance works correctly with suitable UI

Checkbox is provided for each student which can be ticked. Save button provided to save the attendance.

/10

Teacher can retrieve previous attendance by specifying a date

Appropriate view is provided to view the attendance using a selected date.

/10

General programming/ other

 

Use of Activities / additional classes

/5

Code style / comments

/5

Robustness of code (does it crash unexpectedly?)

/5

Use of GitHub for version control

/5

TOTAL MARKS

/90

Mark out of 30%

/30