CSCI5709 A4 Instructions

User Manual:

Open the PDF directly: View PDF PDF.
Page Count: 14

DownloadCSCI5709-a4-instructions
Open PDF In BrowserView PDF
Assignment 4
Due Date: August 5th, 2018
Assignment 4 provides you with an opportunity to re-do an assignment you have previously submitted for
grading, in order to improve your grade. However, there are a few additional requirements and conditions you
must meet for Assignment 4. These additional requirements may not have been requirements set out in the
original handout of the assignment you have chosen. For the additional requirements of A1 see A4.9, for A2 see
A4.10, for A3 see A4.11.
Specifically, Assignment 4 makes the assumption that you will be making significant additions and/or changes to
your original assignment, i.e., you cannot simple re-submit a previous assignment without any changes to your
code, nor can you re-submit an assignment with minimal changes made to its original submission. You must
ensure your completed Assignment 4 meets the criteria specified in this handout, the criteria will vary based on
the assignment you choose to re-do. As part of this assignment, you will also have to provide explanations and
justifications for the changes/additions you have made for this assignment (See A4.12), e.g., an explanation of
the issues/bugs the original assignment had, the impact these issues/bugs had on the overall assignment,
approach taken to fix these issues and how these changes were applied, an explanation of how your current
approach is better or improves on the approach/technique you implemented for your original assignment.
Finally, it goes without saying that any instance of academic dishonesty will be reported. If you decide to use
and modify any existing code, e.g., code found on online or printed sources or code used during in-class/tutorial
examples, you are expected to provide author attribution in your code comments as well as an explanation of
when, how and why your code or section of code was modified.
Learning Objectives:
1. Revise your web development knowledge by using HTML and CSS to create a responsive and standardscompliant simple website.
2. Judge and apply wireframing, UI and UX design techniques discussed in class, while considering the
usability of the device used to access your website.
3. To assess the coding quality of a given application’s Front-End, and its implementation of external
solutions (e.g., APIs, Frameworks, client-side languages).
4. To assess the coding quality of a given application’s Back-End, and its implementation of external solutions
(e.g., APIs, Frameworks, data storage and data format, server-side languages).
5. Judge best approaches to apply for the purposes of improving the code quality, speed, and performance of a
given application, and mitigate any bugs in the application’s Front-End and Back-End.

Page 1 of 14

Requirements:
For your Assignment 4, you must do the following:
A4.1. Create an assignment folder called ‘a4’, within the ‘csci5709’ folder you created for Assignment 1
inside your ‘public_html’ folder on Bluenose.
Note: If your files are not inside their corresponding assignment folder on bluenose.cs.dal.ca, the
markers will not be able to access your work and you will receive a grade of 0. It is the responsibility of
the student to ensure their assignments are available for grading before the due date.
A4.2. Each file you create for this assignment (e.g., style sheets, included files, images,) must reside in your
‘public_html’ directory on sftp://bluenose.cs.dal.ca (i.e., your FTP server).
A4.3. Your files should be organized in folders within your assignment folder. i.e., your CSS files should be
inside a ‘css’ folder, your included files should be inside a ‘includes’ folder, your images should be
inside an ‘images’ folder, your javascript files should be inside a ‘js’ folder, your fonts should be
inside a ‘fonts’ folder, etc.
A4.4. In order for your assignment files to be accessible to you for testing, and for grading, you must ensure
you are using the correct file permission settings on your files and folders. On a shared server, such as
Bluenose, it is recommended to use ‘755’ (i.e., rwxr-xr-x) on folders, and ‘644’ (i.e., rw-r--r--)
on individual files.
A4.5. The ‘home’ page of this assignment should be called index.php / index.js / index.html / index.*
and must reside inside your a4 folder, along with all other necessary documents and/or images. Your
assignment should be readily accessible to the TA and the Instructor through the following URL:
http://web.cs.dal.ca/~yourcsusername/csci5709/a4/
Note: You are encouraged to check your work through the URL specified above, as the Instructor and
TAs will not be checking any other URL. In the event your assignment is not able to be
deployed to Bluenose due to lack of support for a given language (e.g., ASP.NET). Then, your
justification document must also include instructions on how to successfully download,
install, and launch your assignment 4.
A4.6. You may use any off-the-shelf boilerplates, or front-end or back-end frameworks(e.g., Bootstrap,
Foundation, Skeleton, PHalcon, AngularJS, React.JS, etc.).
A4.7. You may not use Lorem Ipsum text for the content of your pages. Any text used must be relevant
to the overall purpose of the assignment, the design you implement must complement the content.

Page 2 of 14

A4.8. You are encouraged to work towards an aesthetically pleasing website that applies the design and
development UI, UX, Usability, and Accessibility principles discussed in class. You may use
Creative Commons images and/or logos with proper author attribution (provided through code
comments, and/or README.txt file).
A4.9. If you have chosen Assignment 1 as the assignment you will be re-doing for Assignment 4,
then you must ensure your assignment meets the following requirements:
1. Your Assignment 4 must first meet all the requirements specified in the Assignment 1 handout.
2. Your Assignment 4 homepage must clearly define above the fold that this submission is an
improvement on Assignment 1.
3. Your assignment will comprise of at least FIVE (5) pages: a ‘home’ page, a ‘login’ page, a
‘registration’ page, a ‘welcome’ page, and an ‘update’ or ‘profile’ page.
4. Your assignment’s navigation bar should include links for a user to ‘login’ and ‘register’, in case the
user is not logged in, and a ‘sign out’ or ‘log out’, and ‘update profile’ option, in case the user
has already logged in.
5. Your forms should be properly validated through JS and PHP.
Note: Your assignment’s web forms must implement UI and UX techniques for increasing the usability
of your overall assignment (e.g., user feedback, error tolerance and recovery, etc).
6. Users must be able to update any information they may have provided through their registration
process. This updated information should be validated on the client and server sides according to the
specification set in the original Assignment 1 handout.
7. Your assignment must implement the use of Cookies and Sessions to allow the user to, not only
register, but also log into your application, update/change information on their user profile (e.g.,
My Profile or My Account), delete their account, and be able to log out.
8. Once the user has filled out and successfully submitted the registration form, a confirmation page
or AJAX message should be displayed to the user. In case the submission was unsuccessful, the
appropriate messages should be displayed so that the user knows which corrections should be made
(e.g., ‘confirmed password does not match the password you have chosen’).

Page 3 of 14

A4.10.If you have chosen Assignment 2 as the assignment you will be re-doing for Assignment 4,
then you must ensure your assignment meets the following requirements:
1. Your Assignment 4 must first meet all the requirements specified in the Assignment 2 handout.
2. Your Assignment 4 homepage must clearly define above the fold that this submission is an
improvement on Assignment 2.
3. Your Assignment 4 implements a different layout and design from what was submitted in your
original Assignment 2 or your group’s project.
Note: Your assignment’s layout and design must still complement its overall purpose and brand
attributes.
4. Your Assignment 4 implements the finished UI for ALL pages noted in the sitemap defined in your
group’s Project Proposal.
Note: Your finished UI must include both pages requiring authentication and not requiring
authentication.
5. Your Assignment 4 must not use Lorem Ipsum text. However, all pages must have relevant
content to the overall purpose of your project.
6. Your Assignment 4 implements the required Front-End validation techniques on ALL web form
elements, and provides appropriate feedback for increasing the overall usability of your
assignment (e.g., error recovery and tolerance).
7. Your assignment must implement the use of Cookies and JSON to allow the user to, not only
register, but also log into your application, update/change information on their user profile (e.g.,
My Profile or My Account), delete their account, and be able to log out.
Note: The data provided by the user should be written to a text file in JSON format on the clientside.
8. Your assignment implements the use of AJAX for displaying confirmation or success messages to the
user, in case of successful form submission.
Note: In the case of your ‘registration’ form, your success or confirmation message must include a
summary of ALL the information provided by the user.

Page 4 of 14

A4.11.If you have chosen Assignment 3 as the assignment you will be re-doing for Assignment 4,
then you must ensure your assignment meets the following requirements:
1. Your Assignment 4 must first meet all the requirements specified in the Assignment 3 handout.
2. Your Assignment 4 homepage must clearly define above the fold that this submission is an
improvement on Assignment 3, as well as note the group you belong to (i.e., Group #).
3. Your Assignment 4 must implement TWO (2) of the ‘bonus’ features defined by your group in your
Project Proposal (i.e., these features must not have been defined as ‘must have’ or ‘within the scope’
features).
4. The ‘bonus’ features you implement for Assignment 4 must be features requiring or facilitating some
sort of user interaction.
5. The features you implement must follow the design considerations made in your project, and apply
the design and development UI, UX, Usability, and Accessibility principles discussed in class.
6. The features you implement must be cross-browser compatible and cross-platform compatible.
7. Provide the following details in your justification document, in addition to those specified in A4.13:
1. Give an estimate of how much it would cost to develop the application set forth by your
group, provide a breakdown of the cost (e.g., front-end, back-end, data management, testing,
etc.) as well as the total cost.
2. Web applications constantly face scalability issues. Provide an explanation of how your
application could scale to a large number of users. How would the scalability of your
application impact its short-term and long-term costs?

Page 5 of 14

A4.12.Provide explanations and justifications for the changes/additions you have made for this assignment.
These justifications must be included in a single document named A4_LastName_FirstName.pdf,
and must address the following questions:
1. Provide an explanation of the issues/bugs present in the original assignment.
2. What impact did these issues/bugs have on the overall functionality and/or UI of the original
assignment?
3. What were the original approaches and/or techniques used in the original assignment which caused
the issues/bugs you set to correct for Assignment 4?
4. Why did you implement the approaches and/or techniques used in the original assignment which
caused theses issues/bugs?
5. Which approaches and/or techniques were implemented to resolve the issues/bugs that had been
present in the original assignment? How is this solution implemented? How is this solution better
than the solution you had originally implemented?

Page 6 of 14

Marking Rubric
The following grading criteria will be used for marking your assignment.
In the case you have submitted an improvement on Assignment 1:
[10 points] Your Assignment 4 must meets all the requirements specified in the Assignment 1 handout, and
clearly defines above the fold that this submission is an improvement on Assignment 1.
[10 points] Your assignment will comprise of at least FIVE (5) pages: a ‘home’ page, a ‘login’ page, a
‘registration’ page, a ‘welcome’ page, and an ‘update’ or ‘profile’ page.
[5 points] Your assignment’s navigation bar should include links for a user to ‘login’ and ‘register’, in case
the user is not logged in, and a ‘sign out’ or ‘log out’, and ‘update profile’ option, in case the
user has already logged in.
[5 points] Your forms are properly validated through JS according to the specifications in the Assignment 1
handout.
Note: Your Assignment 4 will receive a maximum of 2.5 points if no meaningful feedback is provided
to the user in case of successful or unsuccessful form submissions.
[10 points] Your forms are properly validated through Object-Oriented PHP according to the
specifications in the Assignment 1 handout.
Note: In the case your Assignment 4 implements procedural PHP, then you may receive up to a
maximum of 5 points for this component. You Object-Oriented PHP script must make use of proper
try/catch statements with meaningful messages displayed in case of exceptions being caught.
[15 points]Your assignment successfully implements the use of Cookies and Sessions to allow the user to, not
only register, but also log into your application, update/change information on their user
profile (e.g., My Profile or My Account), delete their account, and be able to log out.
Note: Users must be able to update any information they may have provided through their
registration process. This updated information should be validated on the client and server-sides
according to the specification set in the original Assignment 1 handout.
[20 points]Your assignment files successfully pass W3C (HTML5 and CSS3) Validation.
Notes: Your assignment must not have any validation or cross-browser or cross-platform compatibility
errors. Validation warnings, on the other hand, will not negatively impact your grade.
However, in the case your validation errors are specifically due to the framework or APIs
used, these errors will not incur any deduction as long as no cross-browser compatibility
issues are observed. Failure to validate your code will result on receiving a maximum grade of 50%.
Page 7 of 14

In the case you have submitted an improvement on Assignment 2:
[10 points]Your Assignment 4 must meets all the requirements specified in the Assignment 2 handout, and
clearly defines above the fold that this submission is an improvement on Assignment 2.
[10 points]Your Assignment 4 implements a different layout and design from what was submitted in your
original Assignment 2 or your group’s project.
[5 points] Your Assignment 4 implements the finished UI for ALL pages noted in the sitemap defined in
your group’s Project Proposal..
[10 points]Your Assignment 4 implements the required Front-End validation techniques on ALL web form
elements, and provides appropriate feedback for increasing the overall usability of your
assignment (e.g., error recovery and tolerance).
[15 points]Your assignment implements the use of Cookies and JSON to allow the user to, not only register,
but also log into your application, update/change information on their user profile (e.g., My
Profile or My Account), delete their account, and be able to log out.
Note: The data provided by the user should be written to a text file in JSON format on the clientside.
[5 points] Your assignment implements the use of AJAX for displaying confirmation or success messages to
the user, in case of successful form submission.
Note: In the case of your ‘registration’ form, your success or confirmation message must include a
summary of ALL the information provided by the user.
[20 points]Your assignment files successfully pass W3C (HTML5 and CSS3) Validation.
Notes: Your assignment must not have any validation or cross-browser or cross-platform compatibility
errors. Validation warnings, on the other hand, will not negatively impact your grade.
However, in the case your validation errors are specifically due to the framework or APIs
used, these errors will not incur any deduction as long as no cross-browser compatibility
issues are observed. Failure to validate your code will result on receiving a maximum grade of 50%.

Page 8 of 14

In the case you have submitted an improvement on Assignment 3:
[5 points] Your Assignment 4 must meets all the requirements specified in the Assignment 3 handout, and
clearly defines above the fold that this submission is an improvement on Assignment 3, as well as
note the group you belong to.
[30 points]Your Assignment successfully implements TWO (2) of the ‘bonus’ features defined by your group
in your Project Proposal.
[5 points] The ‘bonus’ features you implement for Assignment 4 facilitate some sort of user interaction.
[5 points] The features you implemented in Assignment 4 follow the design considerations made in your
project, and apply the design and development UI, UX, Usability, and Accessibility principles
discussed in class.
[15 points]Your justification document provides the following information, in addition to those specified in
A4.13:
1. Provide a brief description of the TWO (2) ‘bonus’ features you implemented as part of your
assignment 4. [5 points]
2. Give an estimate of how much it would cost to develop the application set forth by your
group, provide a breakdown of the cost (e.g., front-end, back-end, data management, testing,
etc.) as well as the total cost. [5 points]
3. Web applications constantly face scalability issues. Provide an explanation of how your
application could scale to a large number of users. How would the scalability of your
application impact its short-term and long-term costs? [5 points]
[15 points]Your assignment files successfully pass W3C (HTML5 and CSS3) Validation.
Notes: Your assignment must not have any validation or cross-browser or cross-platform compatibility
errors. Validation warnings, on the other hand, will not negatively impact your grade.
However, in the case your validation errors are specifically due to the framework or APIs
used, these errors will not incur any deduction as long as no cross-browser compatibility
issues are observed. Failure to validate your code will result on receiving a maximum grade of 50%.

Page 9 of 14

Once you have completed Assignment 4, you will also be required to provide explanations and justifications for
the changes/additions you have made for this assignment:
[35 points]Your assignment includes a single PDF named A4_LastName_FirstName.pdf, which must
address the following questions:
1. Provide an explanation of the issues/bugs present in the original assignment. [5 points]
2. What impact did these issues/bugs have on the overall functionality and/or UI of the original
assignment? [10 points]
3. What were the original approaches and/or techniques used in the original assignment which caused
the issues/bugs you set to correct for Assignment 4? [5 points]
4. Why did you implement the approaches and/or techniques used in the original assignment which
caused theses issues/bugs? [5 points]
5. Which approaches and/or techniques were implemented to resolve the issues/bugs that had been
present in the original assignment? How is this solution implemented? How is this solution better
than the solution you had originally implemented? [10 points]

Submission Guidelines
Your assignment must be submitted through Bluenose and Brightspace.

To submit your work to Brightspace:
•

Create a copy of your completed ‘a4’ folder and name it A4.

•

Ensure a copy of all your assignment files are included inside your A4 folder.

•

Compress your assignment folder to create A4.zip, AND rename your assignment folder to match the
naming conventions specified in your Course Syllabus (A4_LastName_FirstName.zip). Submit this
compressed folder as your assignment on Brightspace.

To submit your work to Bluenose:
•

Login to Bluenose at bluenose.cs.dal.ca using your CS Username and CS Password. You may use
Terminal or an FTP Client (e.g., FileZilla) to connect to Bluenose.
Note: If you are using an FTP Client, you may use sftp://bluenose.cs.dal.ca as your hostname. If you
need help logging on to bluenose, please follow the instructions available on the CS Support website
(https://web.cs.dal.ca/~tlin/cs_support/)
Page 10 of 14

•

Once logged into Bluenose, go into your ‘public_html’ folder and, if you have not already done so,
create a folder called ‘csci5709’.
Note: All your work must be reside inside your ‘csci5709’ folder, this folder must be nested inside
your ‘public_html’ folder. If your files are not inside your ‘public_html’ directory on
bluenose.cs.dal.ca, the markers will not be able to access your work and you will receive a grade of 0. It is
the responsibility of the student to ensure their assignments are available for grading before the due date.

•

Go into your ‘csci5709’ folder and create an assignment folder called ‘a4’.
Note: You will need to create an assignment folder for each individual assignment, as well as your final
project, as we go through the term (i.e., a2, a3, a4, and project).

•

Place the all the files you created and used for this assignment inside the ‘a4’ folder you created on
Bluenose.
Note: In order for your assignment files to be accessible through a browser for testing and grading, you
must ensure you are using the correct file permission settings on your files and folders. On a shared server,
such as Bluenose, it is recommended to use ‘755’ (i.e., rwxr-xr-x) on folders, and ‘644’ (i.e., rw-r-r--) on individual files. You can set your file permissions easily through an FTP client by right clicking
on the file or folder you want to set specific permission settings. Depending on your FTP client, you will
need to click on ‘Get Info’ or ‘File Permissions’. Once on the file permissions window, you can simply
enter the numeric value described above.

•

Test your assignment is readily accessible and properly working by visiting the following URL:
http://web.cs.dal.ca/~yourcsusername/csci5709/a4/
Note: You are encouraged to check your work through the URL specified above, as the Instructor and
TA will not be checking any other URL. The rule of thumb is “if you can see your assignment on a
browser through your assignment’s URL, the TA and Instructor can see and grade your assignment”.

In addition to the submission instructions detailed above, there are a few other guidelines you should follow for
this assignment:
•

You must use HTML5 semantic document divisions (discussed in class) where possible, instead
of simply using divisions 
. • You must not copy / paste code from any websites – this amounts to plagiarism. Do not copy / paste text and content from the websites either. • Images. If you want to use other images on your website, be sure to use images that are published under Creative Commons licenses, i.e. you can use them with proper attribution. A good place to search for such images is on the Creative Commons website: http://search.creativecommons.org/ Always remember to Page 11 of 14 attribute credit to the image creator. Credit should either be in HTML comments or in a separate document named “README.txt” • The emphasis in Assignment 3 is for you to apply the back-end frameworks suitable for your project based on the set of requirements set by your group in your group proposal, and assess your decisions thoroughly as they relate to your project and your expected users. • This approach helps you translate your ideas / concepts from class into actual websites, allowing you to apply what you have learned. • You are welcome to include additional features in A4 such as those that can be achieved through the use of CSS, Javascript, as well as client-side and back-end frameworks. However, keep in mind that your assignment 3 should meet the criteria specified by your group in your project proposal, as such bear in mind the following: - Your submission must meet the criteria specified in A4, first and foremost. Beyond this requirement, you are welcome to include additional aspects of future assignments. However, no bonus points will be granted or replacement will be allowed for any missing aspects of A4. - You stand to lose points if the additional markup / CSS elements or other code that you might implement interferes with the basic requirements of A4. - I will not stop you from exploring beyond what is taught in class or what is expected in these assignments. However, please be mindful of what you submit as your assignment submission. Page 12 of 14 Academic Integrity1 At Dalhousie University, we respect the values of academic integrity: honesty, trust, fairness, responsibility and respect. As a student, adherence to the values of academic integrity and related policies is a requirement of being part of the academic community at Dalhousie University. What does academic integrity mean? Academic integrity means being honest in the fulfillment of your academic responsibilities thus establishing mutual trust. Fairness is essential to the interactions of the academic community and is achieved through respect for the opinions and ideas of others. Violations of intellectual honesty are offensive to the entire academic community, not just to the individual faculty member and students in whose class an offence occurs. (See Intellectual Honesty section of University Calendar) How can you achieve academic integrity? - Make sure you understand Dalhousie’s policies on academic integrity. - Give appropriate credit to the sources used in your assignment such as written or oral work, computer codes/ programs, artistic or architectural works, scientific projects, performances, web page designs, graphical representations, diagrams, videos, and images. Use RefWorks to keep track of your research and edit and format bibliographies in the citation style required by the instructor (See http://www.library.dal.ca/How/ RefWorks). - Do not download the work of another from the Internet and submit it as your own. - Do not submit work that has been completed through collaboration or previously submitted for another assignment without permission from your instructor. - Do not write an examination or test for someone else. - Do not falsify data or lab results. These examples should be considered only as a guide and not an exhaustive list. What will happen if an allegation of an academic offence is made against you? I am required to report a suspected offence. The full process is outlined in the Discipline flow chart, which can be found at: http://academicintegrity.dal.ca/Files/AcademicDisciplineProcess.pdf and includes the following: 1. Each Faculty has an Academic Integrity Officer (AIO) who receives allegations from instructors. 2. The AIO decides whether to proceed with the allegation and you will be notified of the process. 3. If the case proceeds, you will receive an INC (incomplete) grade until the matter is resolved. 4. If you are found guilty of an academic offence, a penalty will be assigned ranging from a warning to a suspension or expulsion from the University and can include a notation on your transcript, failure of the assignment or failure of the course. All penalties are academic in nature. 1 Based on the sample statement provided at http://academicintegrity.dal.ca. Page 13 of 14 Where can you turn for help? - If you are ever unsure about ANYTHING, contact myself. - The Academic Integrity website (http://academicintegrity.dal.ca) has links to policies, definitions, online tutorials, tips on citing and paraphrasing. - The Writing Center provides assistance with proofreading, writing styles, citations. - Dalhousie Libraries have workshops, online tutorials, citation guides, Assignment Calculator, RefWorks, etc. - The Dalhousie Student Advocacy Service assists students with academic appeals and student discipline procedures. - The Senate Office provides links to a list of Academic Integrity Officers, discipline flow chart, and Senate Discipline Committee. Page 14 of 14

Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.3
Linearized                      : No
Title                           : CSCI5709-a4-instructions.pages
Author                          : Gabriella Mosquera
Subject                         : 
Producer                        : Mac OS X 10.13.6 Quartz PDFContext
Creator                         : Pages
Create Date                     : 2018:07:18 19:22:12Z
Modify Date                     : 2018:07:18 19:22:12Z
Apple Keywords                  : 
Page Count                      : 14
EXIF Metadata provided by EXIF.tools

Navigation menu