My Blackboard Android Application

joyfulfightMobile - Wireless

Dec 10, 2013 (3 years and 10 months ago)

96 views


Page
1




My Blackboard Android Application

ECE 479

Vertically Integrated Projects

Smart Phone Team

Fall 2011













Team Members


Krishna Jhajaria



-

Junior, CompE

Tung Lun





-

Junior, CompE

Peachanok Lertkajornkitti


-

Junior, EE

Tianhe Liu

-

Senior, EE

Lin Yang



-

Sophomore
, EE












Page
2


Contents




1.

G
oals
………………………………………………………………………











3


2.

C
hallenges and current

status
…………………………………………








.
3


3.

Functionality
………………………………………………………………










5

3.1.


Adding
……………………………………………………………











.
.
7

3.2.


Deleting
……………………………………………………………











.8

3.3.


Linking
………………………………………………………………











9

3.4.

Grade calculator
………………………………………………………








.10

3.5.

Notepad
…………………………………………………………………









11

3.6.

Assignment reminder
……………………………………………………






.
1
1


4.

User Interface
……………………………………………………………










12


5.

Architecture
………………………………………………………………









..
13


6.

Team

contributions……………………………………………
………
……







..
14















Page
3


1. Goal
s



Blackboard course management system is
an

online
course environment

allows instructors to
deliver course materials t
o students.
But it is difficult to g
et access
th
r
ough

browser in android
phone. And the Blackboard application in the Android Market can’t be accessed by Purdue
students due to the reason that

Purdue University has not licensed

the Blackboar
d Mobile
Learn software.

So the
preliminary
goal for this project wa
s to develop a

Blackboard

Android
application that allows students to access Blackboard easily
. However,
according to

our

research and
communication, we

found that we cannot connect
the Blackboard server

due to
safety reason. Hence,
we

modified the project goal as to create an application that
allows

students to keep track of their academic performs in school. It would include the following
features:




Grade calculator



Attendance tracker



Assignments
reminder



Notepad


2.
Challenges and
Current Status

The first challenge was at the beginning of this semester, none of us had a background

with
Android or Java. We learned
basic
material
s from homework, wiki

and
then
start our project.
During design process
we le
arned in doing
, we
did
research from websites, videos and work
together

while
trying to
sol
ve problems
.


The second challenge in our design process wa
s to modify

our project go
al in last 5 weeks. The
problem

we encountered during our
preliminary
design process
was

that
l
og in f
rom our
application to blackboard server is unauthenticated.
It r
equired a blackboard account,
which
only

can be acquired from blackboard sever.
We tried to

solve th
is

problem

as e
mailed and
visited ITap ,
e
mailed Blackboard Mobile

service

,
j
oined

the Pur
due Blackboard’s wiki,
a
ttended
the B
lackboard user group’s meeting

and e
mailed Stan Kruse,

who is

in

charge of

Purdue
Blackboard Team. The result was we can’t access Blackboard server. Hence we decide to create
d
atabase in the application
that

didn’t need the log in function.

One feature we didn’t complete is
Attendance tracker
.
At first,
we
want to do a pop out dialog
at user desired time, and record
attendance. Reconstructed
: No pop out dialog. User will
manually input their attendance. Pro
gram will give evaluation on user’s attendance.

Another challenge was to become familiar

with using the
SVN repository for the

application
code
.
We can’t figure it out in several weeks but finally got it done thanks to the help from
William.



Page
4




Current
Status of the project
:




GUI

(complete)



Cut off algorithm

(complete)



Linking activities

(complete)



Add/delete/edit items

(complete)



Text
entry
/save (complete)



Grade calculator (complete)



Notepad (complete)



Assignments reminder (complete)



Attendance tracker
(not complete)



Debugging & Finalizing (complete)



Works on Android phone version 2.1


Future
Prospective
s



Include Attendance tracker functionality



Improve the GUI



Ma
ke grade calculation more
flexible

by entering the
cut

offs.



Include online access to course

pages through the app








Page
5


3.
Functionality

3.1
Add
I
tems

Once this

application is launched

by clicking the icon on the phone screen
, the first layout user
s

can
see is the cour
se list.

All the courses created by the user previously are stored in the database and is
reproduced each time the user opens the app.

This list is shown in Figure 3.1.1.

An

add course


button is also visible in

this page which can be used to add new courses in the list
.
On pressing
the

Add Course


button the user is directed to a fresh page where h
e can enter the course name,
course number and a small
description

about that course. This can be seen in
Figure 3.1.2.

And
lastly

this page also has an

About


button which opens a new page displaying the information
about the app. This can be seen as in Figure 3.1.3.




Figure

3.2.1
T
he

course list screen





Page
6



Figure 3.1.2 Adding a new course


Figure 3.1.3 The about button



Page
7


3.2
Delete Items

In order to
facilitate

the user t have a flexible approach to the course list, a delete course
functionality is also provided in the app.
If
the user

want
s

to delete a course
, long pressing th
e

specific

course name

would pop up a menu

saying

delete course

. Pressing the

delete course


button permanently deletes the course

and all of its info like grades,
reminders,
notes etc. from the
database
.

A screenshot how to delete a course

is provided in Figure 3.2.1





Figure 3.2.
1

Delete screen








Page
8


3.3
Link pages


O
n selecting a particular course the user is directed to a menu of options for
the course. The menu
consists of 4 items.




Grade
s
:
Update scores and calculate projected grade

for the particular course
.




Assignments
:
S
et
alarms
notification alerts




Attendance
: Keep a track of the attendance in class for the particular course.




Notes
:

Take notes during the lecture.


This page also serves as a link to th
e various activities and binds all the pages of the app together. It
has a back button to g
o back to the main menu where the course listing is displayed.

Figure 3.3.1
shows a screenshot of this page.









Figure 3.3.1 The course content screen




Page
9


3.4
Grade Calculator


On pressing the

Grades


button the user is directed to this activity as shown in Figure 3.4.1. In
here,
t
he

user can enter new
scores for an
y assignment, project, homework
, exams, midterms
etc

or update his
past scores to the most recent number.

This page also allows the user to
calculate the projected grade for that course.


T
he grades are displayed in the

grade calculation page in a matrix form, it includes the items of
“Finals Exam”, “Midterms”, “Homework” and
“Others” in the left column
;
“Score”, “Full”,
“Weight” in the upper row.

Users can type scores and percentage weight in the corresponding
box and press “Calculate” button to get cumulative scores and GPA in the “Total” and “Grade”
lines.
The cutoff for GPA

we used in this calculator is “A” for score above 90, “B” for 80 above,
“C” for 70 above and so on.
The
typed
score
s
and result
s
can be clear and reset by click “Reset”

button.
“Save Scores”

button is used to save the results each time
as references for
u
sers
in the
future.



On pressing the calculate button the current cour
se percentage based on the entered scores is
displayed together with the projec
ted grade.
It is not required to fill all the boxes in order for
the grade to be calculated. If nothing is entered, the program counts it a
s a zero for that
particular se
ction
.
H
owever,

the user should make sure that the sum total of all the weight
percentile should add up to 100 for correct calculations.
Refer to Figure 3.
4
.2 for
an exampl
e
screenshot of grade calculation
.






Figure 3.4.1 The Grade Calculator screen



Figure 3
.4.1 The
calculated grade is B+



Page
10


3.5
Notepad


The notepad section in the app was created in order to
facilitate

the students to take
quick notes during lecture of write down
important reminders
,
information

regarding
office hours, instructor

s email address, office locations, exam dates etc.

The functionality of the notepad app i
s very simple. It consists of a

Add Notes


button
which can be use to create fresh notes. On pressing the add notes button the user is
directed to a fresh page where he c
an enter the title of the
note and then continue
writing the body. Once the note has been written he can press the save note but
ton and
the note gets added to the database of the course inside the app. These notes can be
reviewed anytime simply by
browsing

to this page.
The user can also edit the previo
usly
written note as
a
nd

when required. The

changes would be saved and the note would be
updated.

There is also a funct
ionality to delete the n
ote by long pressing the note title if
he
wants to thrash away the note.









Figure 3.5.1 The Notepad screen





Page
11


3.6
Assignment Notification


This page helps the user to set reminders for due dates when an assignment is du
e for that
course. For example there are 3 assig
nments in the semester which the student must submit,
one on 12
th

September
,

another on 14
O
ctober and third on 16
th

November.

Hence the student
can enter these 3 dates of the as
signment and also select when he wants h
im to be reminded
to complete the assignment. Accordingly the
alert system would

notify the user before an
assignment is due and the user will be saved from the risk of missing the assignment
submission.

The app is integrated with the android alarm system to serve this purpose.



S
etting the assignment due date is very simple.

It is similar to
an

alarm clock. Users can
press
“add assignment
” to get a pop out screen which has the selection of “Time” and “Ringtone”.
When the “Time” button is pressed, users will see a small pop out screen with items of time
and AM/PM

to set up due date for assignments
.

The user can also type a small message which
would be
pertinent

to the
assignment

information. The screenshots for this is provided in
Figure 3.6.1 and Figure 3.6.2.










Figure 3.6.1

Assignment notifications



Figure 3.6.
2 Notification set





Page
12


4.
User Interface


The current
GUI of our application is simple but enough to present each feature.

Th
e background of layouts is
android 2.1
featured
.
The tabs and icons are used for differen
t
content as following:


Layout: Relative Layout design has been used in order to create the xml files as it is
an
easy and
efficient

way of making symmetrical buttons and text windows.


List feature:
List

functionality is used to display the courses currently stored in the data base.


B
uttons: The buttons used are simple in design with proper labels to
facilitate

user inter
face.
Every screen has a back button for t
he user to
easily browse through pages.


Icons: The icons have been used from online sources with no copyright
infringement

involved.
The sources are listed in the refer
ence page.


PS: Due to the last minute change of our project, not much eff
ort could be placed i
n
developing

the GUI of the entire app.
The layout and the design of our app is pretty simple and to the point.
We wanted to concentrate more on the functionality and u
sage due to the timing constraints
we faced.
For fu
ture
enhancements

we would like to suggest some
Photoshop

work to fu
rther
enhance the
a
ppearance and standard of ou
r

application.



















Page
13


5.
Architecture


T
he S
Q
Lite database has been used to store the courses in the android app. Each time
the user
presses the

add course


button

a new entry in the database is created. Every entry in the
database for the particular course consists of the following
items:




Course name



Course description



Course grades



Course attendance (total days, days attended)



Assignm
ent due dates



Notes


The following diagram illustrates the basic architecture of our app.



































Figure 5
.1 Application
architecture


Data

Data

Data

Data

Icon

Course
List


Course
Content

Grade

Assignment

Notepad




Database
in

Application


Page
14




5.
Team Contribution


Krishna Jhajaria
:

Created the database for addi
ng,
deleting an editing courses, m
ade the
layouts and connected the activities with each other.

Designed the grade calculator to store
and display the projected grade.

Created the notepad function which allows users to create and
edit notes.

Peachanok
Lertkajornkitti
:

W
orked on

Cut off algorithm,
Grade calculation
,
and
comm
unications with professors, I
TAP

office,
and
Blackboard teams

and
a
ttended Blackboard
group meeting.



Tianhe Liu
:

W
orked on Attendance tracker
,
r
esearch
ed

on existing bla
ckboard building bloc
k
and APIs, worked on layout and xml files.


Lin Yang
:

W
rote code for the linking activities
, made screen
s can shift between each other
,
w
rote code and xml for grade calculator
,
communicated

with
ITAP

office
, and a
ttended
Purdue
B
lackboard group meeting

and w
rote
final report
.

Tung Lun

Loo
:

C
reated

all the xml layouts for the first stage Blackboard app
,

l
inked all the
activities of the app
, r
esearched on parsing information from the websites
, a
tten
ded seminar
hosted by
ITAP
, w
rote codes for "Assignment" feature of
the second stage application

and
c
oded alarm reminder for the assignment's due date and time
.



7
.


References


i)

Sample
code to get a head start with
SQ
L
ite database and management.




http://developer.android.com/resources/tutorials/notepad/index.html

ii)

Icons for the apps


http://www.marmalademoon.com/how
-
to
-
customize
-
your
-
desktop
-
with
-
icons
-
and
-
wallpapers/


http://www.differencebetween.net/object/difference
-
between
-
notepad
-
and
-
wordpad/