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

SWD504 Data Structures & Algorithm

Course aim

This course provides students with the introduction to the concepts and techniques of data structures and  designing  and  writing  associated  algorithms to  solve  problems  using  sorting,  searching  and graphing algorithms to write efficient and optimized computer programs.

Purpose

The purpose of this assessment is to assess students’ ability to write algorithmic programs by apply sorting and searching techniques and implementing graphs. Students will also design and perform tests to check the correctness of the algorithms.

Assessment Information

1.      This is an individual open book assessment and worth 60% of your total assessment weighting of the entire course.

2.        Resources and/or equipment that may be used for this activity:

•   NZSE issued material; and

•   your own course notes.

3.       You have 7 days to complete this assessment.

4.        Up to 15% of the content may be quoted or paraphrased from other sources provided you acknowledge and cite the original source of the material you use.

5.        You have the opportunity for one resubmission for one failed assessment per course. The maximum mark available for any reassessed failed assessment event is 50%.

6.       You can make a request for the resubmission within three working days of the return of the assessment and negotiate a resubmission date.

7.       The agreed resubmission date will be adhered to, and no further extensions will be      given. In all cases, the grade achieved on the resubmission will be the grade used to calculate the final course grade.

8.       Failing two or more assessments within a course equates to a failed course and a re- enrolment of that course.

9.       You are required to keep a soft copy of the submitted assessment.

10.    You need to submit your assessment through Turnitin via Canvas.

11.    Students  are  required  to  check  their  course  outlines  in  relation  to  assessment extension requirements.

12.     Extensions  of  time  to  complete  an  assessment  are  only  given  in  exceptional circumstances.  If you  anticipate difficulty  in  meeting the due dates to  submit  an assessment and/or sit tests or examinations and/or attempt any  missed  practical assessment activity which may have been timetabled to occur once only during the programme, you may request an extension of time.

13.    A formal written request must be made prior to the due date for an extension. The agreed extension date will be adhered to, and no further extensions will be given.

Learning Outcomes

This assessment is mapped to the following learning outcomes for this course:

LO 3   Apply  appropriate  sorting  and  searching  techniques  to  meet  the  needs  of  the algorithms.

LO 4   Implement tree and graph concepts in algorithms for optimizing searches.

LO 5   Design  and  perform  tests  on  algorithms  to  verify  correctness  based  on  its requirements.


Graduate Profile Outcomes (this course is mapped to)

GPO 2: Write and maintain complex programs using design patterns, data structures and algorithms to meet specifications and software development standards.

GPO 3: Apply a range of software quality assurance techniques to verify correctness of systems on a range of platforms to meet requirements and document results.

Plagiarism

All  cases  of  plagiarism  and/or  cheating  will  be  investigated  and  dealt  with  according  to  A08: Misconduct in Assessment Policy.

Submission Instructions

You are required to ensure you have carried out the following before submitting your assessment:

•    Signed assignment coversheet

•    Place your Name, Student ID number, Assessment and Task Number on all loose documents you are submitting with the assessment.

•    All answers must be written in your own words.

•    Proofread and spell check all written assessment work carefully.

•    DO NOT email your document to your tutor, it must be uploaded to the NZSE LMS

Evidence Submission

You are required to submit the below documents as the evidence of the work done towards the assessment on Canvas

•    Visual Studio  projects  (.sln) file containing all the  relevant  project files and folders  using appropriate naming convention for Task and subtasks wherever applicable(For ex: Task 2_Part A, Task 2_Part B etc) - as a zipped folder

•    Documentation that  contains  screenshots of your output  screen  and code with  properly labelled ( .pdf or .docx file) - should not be zipped

•    Every document submitted online on Canvas should follow the naming convention as below:

Course Code_ Assessment Number_ Assessment Name_ Student Number_Document number

For example, SWD504_A2_Practical_7647XXXXX_1.

Assessment

Task 1:                                                                                                                                                  15 marks

Write a program to implement the following Sorting task:

7Oe: Addl( oddJodJio才a soJ才in6 onp saoJOVin6 aOVnibnas o maa才 Va naaps oJ Va ol6oJi才Vms.

Step 1: Ask the user to enter 10 postcodes of New Zealand.

Step 2: Add all these values into an array

Step 3: Using a recursive approach you are required to call the Bubble Sort algorithm to compare each of the postcode values

Step 4: Sort all the 10 postcodes in an arranging order and print them

Step 5: Exit the program.

Task 2:                                                                                                                                    25 marks

Write a program to implement the following Graph task:

7Ov: lmdlaman Jaa onp 6JodV OonOad才s in ol6oJi才Vms JoJ od才imizin6 saoJOVas.

Consider a walk W in graph G, which consists of L vertices W1, W2, …, Wn . A string S of L letters A’ – ‘E’ is realized by walk W if the sequence of letters written along W is equal to S. Vertices can be visited multiple times while walking along W.

For example, S = ‘ABBECCD’ is realized by W = (0, 1, 6, 9, 7, 2, 3). Determine whether there is a walk W which realizes a given string S in graph G, and if so then find the lexicographically least such walk. The only line of input contains one string S. If there is no walk W which realizes S, then output -1

otherwise, you should output the least walk W which realizes S.

Example of output screen:

Input : s = 'AEE'

Output: 049

Explanation: As we can see in the graph the path from AEE is 049.

Input : s = 'AAEC'

Output :-1

Explanation: As there is no path that exists, hence output is -1.

Task 3:                                                                                                                                    Total: 25 marks

Write a program to implement Binary Search algorithm:

7Oe: Addl( oddJodJio才a soJ才in6 onp saoJOVin6 aOVnibnas o maa才 Va naaps oJ Va ol6oJi才Vms.

Step 1: Create a balanced Binary tree by inserting nodes into the tree

Step 2: Ask the user to enter a value to be searched in the Binary Tree

Step 3: If the element is found in the tree, it returns the node value

Step 4: If the element is not found, it returns a negative number (-1)

Step 5: Using In-Order Traversal for trees, traverse through the entire Binary Tree and display all the node values (which will be in sorted order if the Binary Search Tree algorithm has been used correctly).

Step 5: Exit the program

Task 4:

Write Unit Tests to test the given program:

7OS:

aasi6n onp daJJoJm ?as?s on ol6oJi?Vms ?o vaJiJ(.

 

Use the Arrange-Act-Assert (AAA) syntax to implement the Unit tests.                  10 marks

Write 5 tests two that passes and three that fails.                   25 marks