SIT221 Data Structures and Algorithms -Assignment Help

Click here to order this assignment Plagiarism.Written from scratch by professional writers.

 Data Structures and Algorithms  

SIT221 Data Structures and Algorithms


Trimester 2, 2018  1  Programming Project 1  Due date: 09:00pm Friday, August 24, 2018  General Instructions  1. Read and follow the general instructions.  2. Make  sure  that Microsoft  Visual  Studio  2015  is  installed  on  your machine.  Community  version  can  be  found  on  the  SIT221  course  web‐page  in  CloudDeakin  in  Resources     Course materials  Visual Studio Community 2015 Installation Package. Your submission  will be tested in this environment later by the markers.   If you use Mac, you may install Visual Studio for Mac from‐ a68b‐e011‐969d‐0030487d8897&vsro=8, or use Xamarin Studio.   If you are an on‐campus student, this is your responsibility to check that your program is  compilable and runs perfectly not just on your personal machine. You may always test your  program in a classroom prior to submission to make sure that everything works properly  in the MS Visual Studio 2015 environment. Markers generally have no obligations to work  extra to make your program runnable; hence verify your code carefully before submission.  3. Download the zip file called “Programming Project 1 (template)” attached to this task. It  contains a  template  for  the project  that you need  to work on. Open  the solution  file in  Microsoft  Visual  Studio.  There  are  two  connected  projects  inside:  DataStructures_Algorithms  and  Runner.  The  former  project  has  the  official  working  solution  built‐in  for  the  vector  class  you  developed in  Practical Task  1  (Vector.cs  file in  Week01  subfolder).  You  will  need  to  further  extend  the  vector  class  according  to  the  specification in part 4.1. However, it does not have those changes that are to be finished  as part of Practical task 3, mainly with regard to its part 1. Therefore, you have two options:  either  to  complete  the  Practical  Task  3  as  soon  as  possible  to start  your  work  on  this  assignment, or, if you struggle with extension of Vector class and are not able to finish the  Practical Task 3, wait till the release date of the official solutions, which is 10:00pm Friday,  August 3, 2018. You may then import official results of Practical Task 3 and continue your  work on the project. However, in this case, you have to wait till the release date and will  get less  time ahead  to complete  this  task. So, do your best  to complete Task 3 quickly.  Alternatively,  you may  first  start  with  the  parts  5.1  and  5.2, which  are  challenging  but  independent of the weekly practical tasks you do. In this case, you may safely wait till the  release of our solutions to get feedback and verify your answers first.  4. Through these tasks, you will have to read some chapters of the SIT221 course book “Data  structures and algorithms in Java” (2014) by M. Goodrich, R. Tamassia, and M. Goldwasser.  If  you  do  not  have  your  own  book,  you may access  the  book  on‐line  for  free  from  the  reading  list  application  in  CloudDeakin  available  in  Resources    Course  materials   Course Book: Data structures and algorithms in Java.  SIT221 Data Structures and Algorithms     Trimester 2, 2018  2  5. You  may  also  need  to  read  Chapter  11  of  SIT232 Workbook  available  in  Resources  Course materials  SIT232 Workbook to remind / study Generics and their application in  object‐oriented programming. You may also need to read Chapter 6 of SIT232 Workbook  about Polymorphism and Interfaces as you need excellent understanding of these topics  to progress well through the practical tasks of the course. Make sure you are proficient  with them as they form a basis to design and develop programming modules in this and all  the subsequent tasks. You may find other important topics required to complete the task,  like exceptions handling, in other chapters of the workbook.  Objectives   1. Study implementation of recursive sorting and selection algorithms   2. Compare the most common sorting techniques  3. Get important problem solving skills  4. Train in explanation of algorithmic concepts  Specification  Task 1. Implementation of the Merge Sort algorithm  Part 1.1   Read Section 12.1 of the SIT221 course book “Data structures and algorithms in  Java” (2014) by M. Goodrich, R. Tamassia, and M. Goldwasser on the Merge Sort algorithm.  This material repeats what you have already learned from the lectures in weeks 2 and 3. Make  sure  that  you  understand  algorithmic  concept  of  this method  with  regard  to  its  recursive  nature. Use the general description of Merge Sort in 12.1.1 and the code fragments 12.1 and  12.2  to  implement  its  array‐based top‐down  recursive  version.  The  corresponding  sorting  function  must  be  encapsulated  within  a  new  class  called  “MergeSortTopDown”  and  implement  the ISorter interface  (explained in  the Practical Task 3),  thus introduce specific  implementation for the inherited   void Sort(T[] array, IComparer comparer)  method of the interface. It must have a default constructor only. You are allowed to add any  extra private methods and attributes if necessary. The new class should be placed into the  Project01 subfolder of the attached .NET framework project.  Part 1.2   As an additional task to the previous part, show by the Master Theorem that the  recursive Merge Sort has ߠሺ݊ log ݊ሻ worst‐case runtime complexity. Present your deduction  in the report. Part 1.3   Now,  proceed  with  Section  12.1.5  and  investigate  the  bottom‐up  version  of  Merge Sort. Make sure that the issue related to temporary memory usage, which makes two  versions  different  not  only  from  implementation  point  of  view,  but  also  from  efficiency  SIT221 Data Structures and Algorithms     Trimester 2, 2018  3  prospective,  is  clear  for  you.  Similarly,  in  folder  Project01,  create  a  new  class  named  “MergeSortBottomUp” implementing ISorter and encode this algorithm.  Part 1.4   Complete  the  both  versions  of  the  algorithm  and  check  their  work  in  the  RunnerPr01_01  runner.  Proceed  similarly  to  the  Practical Task  3  to make  your algorithms  active.  Specifically, alter  the Run() method  to ensure  that an algorithm  is assigned  to  the  Sorter property of object of Vector class (completed earlier within your practical tasks), for  example   vector.Sorter = new MergeSortTopDown();  Run computational experiments on various datasets by managing  their dimensions via  the  value of problem_size variable positioned in the beginning of the Run() method. Compare the  running times and make conclusions about performance of the algorithms.  Task 2. Additional Optimization for Quick Sort Part 2.1  In  Practical  Task  3,  you  were  asked  to  implement  the  randomized  Quick  Sort  algorithm  performing  sorting  operations  in‐place,  i.e.  using  the  same  input  data  structure  without allocating auxiliary memory to store intermediate results for the sorting process. To  succeed  in  this  task,  read  Section  12.2.2  of  the  course  book  again.  It  concludes  with  the  discussion on memory efficiency.  Particularly, it states that the Quick Sort algorithm needs  space  for  a  program  stack  proportional  to  the  depth  of  the  recursion  tree  despite  the  proposed implementation, which divides  the sequence of values into  two parts in‐place in  each step. Your task is to do a small research on this issue and write a short essay (400‐600  words in total) focusing on the following questions: 1) Why do you think that, in the worst case, the size of the program stack affected by the  recursive algorithm might take up to ݊െ1 elements?  2) Why is the stack depth of ܱሺlog ݊ሻ desired and expected?  3) How  should  the  randomized  Quick  Sort  algorithm  you  have  made  be  modified  to  guarantee the stack size of ܱሺlog ݊ሻ?  Answering these questions, you should not just adopt the text from the book, but must find  relevant material (it is better to rely on several different sources) providing solution to this  problem. When use some references in your essay, do not forget to mention them and cite.  Alternatively,  you  may  propose  your  own  solution  if  you  believe  it  is  to  be  correct  and  matching the requirements. In addition, prepare a pseudocode of the Quick Sort algorithm  satisfying the ܱሺlog ݊ሻ memory space complexity for the stack and present it along with your  essay.  Finally, implement your solution as a new class with name “QuickSortOptimized”. The class  must  implement  the  ISorter  interface  (explained  in  the  Practical  Task  3),  thus  introduce  specific implementation for the inherited   void Sort(T[] array, IComparer comparer)  SIT221 Data Structures and Algorithms     Trimester 2, 2018  4  method of  the interface. Again, it must have a default constructor only. You may add any  extra private methods and attributes if necessary. The new class should be placed in folder  Project01 of the attached .NET framework project.  Refine  the  algorithm  and  check  its  work  in  the  RunnerPr01_01  runner.  Do  the  same  operations as for MergeSortTopDown and MergeSortBottomUp classes’ objects in section 1.4  of this project.  Task 3. Comparing Sorting Algorithms  Part 3.1  Read  Chapter  12.4  and  consider  all  the  algorithms  to  sort  an  ݊‐element  sequence that you have studied so  far in this project and in Practical Task 3. Write a short  essay  (600‐900  words  in  total)  summarizing  their  pros  and  cons.  Your  answer  should  be  concise and explain the most important facts related to their use in real practice. You must  focus on the most significant facts and keep your answer detailed, therefore rather than use  general  words,  describe  the  most  impactful  features  that  form  the  trade‐off  in  choice  of  particular  sorting  technique  for  certain  data.  Obviously,  you  need  to  discuss  runtime  and  space  complexity  issues,  but  also  mention  other  important  features  like  stability,  in‐place  processing, possible application for dynamic sorting and etc.   Be careful, do not copy answers directly from the book or any other resources. You should  use  this  material,  but  discuss  this  topic  entirely  in  your  own  words.  If  you  copy  from  somewhere,  it might  be  identified  as plagiarism  that  normally  leads  to  zero mark  for  the  whole assignment. We generally expect your answer  to  be a  bit  beyond  of  the  discussion  provided in Chapter 12.4, mainly focusing on extra important features of the algorithms and  practical applications. Therefore, do a proper research work and make sure you read several  different sources to support your discussion. In your text, do not put all ideas into one bucket.  Talk about all  the algorithms sequentially making references  to other algorithms mainly to  compare with them.  Task 4. Implementation of the Randomized Quick‐Select algorithm Part 4.1  As  the  Chapter  12.5.  of  the  course  book  states,  sorting  is  not  the  only  interesting  problem  dealing  with  a  total  order  relation  on  a  set  of  elements.  There  are  a  number of applications in which we are interested in identifying a single element in terms of  its rank relative to the sorted order of the entire set. One of the examples occurred in the  general  order‐statistic  problem  is  selection  of  the  ݇th  smallest  element  from  an  unsorted  collection  of  ݊  comparable  elements.  While  this  problem  can  be  solved  by  sorting  the  collection and then indexing into the sorted sequence at index ݇െ1, this approach would  take  ܱሺ݊ log ݊ሻ  time  with  the  best  comparison‐based  sorting  algorithms.  Clearly,  this  guarantees bad performance for the cases when ݇ൌ1 or ݇ൌ݊ because we can easily solve  the  selection  problem  for  these  values  of  ݇  in  ܱሺ݊ሻ  time  with  the  simple  linear  search  algorithm. That is why we are interested in an algorithm that can achieve an ܱሺ݊ሻ running  time for arbitrary values of ݇.  Read thoroughly the chapter and its Section 12.5.2 in particular. Your task is to further extend  the vector class to support a new method to select the ݇th smallest element in a sequence of  generic data type with the following signature:  SIT221 Data Structures and Algorithms     Trimester 2, 2018  5  T Min(int k);  Searches for the kth smallest element in the entire unsorted Vector using the  default  Comparer.Default  comparer  and  returns  the  element.  If  the  source  sequence is empty, it returns value which is default for the type T.  Finish  your  code  for  the  algorithm  and  check  its  work  in  the  RunnerPr01_01  runner  on  arbitrary data.  Task 5. Problem solving skills Part 5.1   Assume you are given sorted lists of customer information. Each customer has  an age, a weight, and a name. Your task is to determine the basis on which they were sorted.  There is an assumption that the customers were sorted based on alphabetical order of names,  ascending order of ages, and descending order of weights. One of these fields was the primary  field used to initially sort the customers. Then one of these fields was used as the secondary  field to break ties between customers that were indistinguishable based on the primary field.  And finally the remaining field was used to break ties between customers that had the same  values for their primary and secondary fields.  First of all, create a class named “SortingOrder” in Project01 subfolder of the project. It must  have a public function  string Solve(string[] name, int[] age, int[] weight)  which, when given a set of names, ages, and weights as arrays of size ݊, returns a string that  tells what sort was used. The result of the method must have one of the following values:       NAW  name was the primary, age secondary, weight the final field  NWA  name was the primary, weight secondary, age final   ANW  age was primary, name was secondary, weight final   AWN  age was primary, weight was secondary, name final   WAN  weight primary, age secondary, name final   WNA  weight primary, name secondary, age final   IND  indeterminate: more than one of the above is possible   NOT  none of the above sorting methods was used  Note that the tuple (name[i], age[i], weight[i]) gives the attributes of customer ݅. Thus, the  first elements of name, age, and weight correspond to the first customer in the sorted list of  customers,  the  second  elements  to  the  second  customer,  etc.  The  general  constraints  imposed on the data are as follows:   name will contain between 1 and 50 elements inclusive   age and weight will contain the same number of elements as name  each element in name will contain between 1 and 50 characters inclusive   each character in each element of name will contain only uppercase letters ‘A’‐’Z’   each element of age and weight will be between 1 and 300 inclusive  Consider the following examples:  SIT221 Data Structures and Algorithms     Trimester 2, 2018  6  4) For arrays [“BOB”, “BOB”, “DAVE”, “JOE”], [22, 35, 35, 30], and [122, 122, 195, 200] the  solution  is  “IND”.  The  ages  are  not  in  ascending  order  and  the  weights  are  not  in  descending order so the primary field must be name. The tie between the 2 BOB’s could  have been broken by increasing age, leaving the weight field as final. But it is also possible  that the weight field was secondary, leaving the 2 BOB tie to be resolved by age. So we  cannot determine which of those two sorts was used.  5) For arrays [“BOB”, “BOB”, “DAVE”, “DAVE”], [22, 35, 35, 30], and [122, 122, 195, 200] the  method should return “NOT”. The ages are not in ascending order and the weights are  not in descending order so the primary field must be name. There is a tie between the 2  BOB’s and between the 2 DAVE’s. If the secondary field were age, then the DAVE’s would  have been placed in the other order. That is also true if weight were the secondary field.  So none of the sorts could have been used.  6) For arrays [“BOB”, “BOB”, “DAVE”, “DAVE”], [22, 35, 35, 30], and [122, 122, 195, 190] the  expected result is “NWA”. The ages are not in ascending order and the weights are not in  descending order so the primary field must be name. Weight as secondary field properly  orders the 2 DAVE’s and leaves the ordering of the 2 BOB’s up to the final field.  Second,  check  the  Project01  subfolder  in  Data  directory  of  the  Runner  project.  The  class  SortingOrder_Generator  there  was  written  for  you  to  provide  a  benchmark  suite  of  test instances. Its static Count() method returns the total number of the instances it may create.  The public static method  string Generate(int k, out string[] a1, out int[] a2, out int[] a3)  of this class can create instance k  (this value is taken as an input argument) and return an  array of names as a1 parameter, an array of ages as a2, and an array of weights as a3. Its  return value provides string containing the correct answer for this instance k. Therefore, you  may extract data calling the Generate(…) method on the class SortingOrder_Generator as it  is already done in RunnerPr01_02 class.  Finally, develop an algorithm to solve the problem and make sure you pass all  the  tests in  reasonable time. There is no particular guideline and you are allowed to apply any algorithmic  technique  that  you  find  relevant.  The  same  is  valid  in  terms  of  coding;  that  is,  you  may  implement your algorithm as you wish and use any private methods and attributes unless the  prescribed Solve(…) method returns correct answer to the problem.  HINT:  To  solve  this  problem,  think  how  sequential  sorting  operations  can  help  you.  It  is  important to read Section 12.3 of the course book, especially about the Radix Sort. You may  not use the Radix Sort itself, but you should focus on some very important features it has and  on the discussion about it. Note that the Radix Sort is not only the algorithm that has those  features, so you may think how other techniques can be applied. It is possible to solve the  problem in no more than ~40 lines of code.   Part 5.2   A Deque is a data structure which supports ܱሺ1ሻ time insertion and deletion  operations at both the front and back ends. In this task, you are given an array of integers. A  set of deques may help with sorting  these numbers according  to the  following policy. You  must process each number in a data array in the order they are given. For each number ݔ in  the array, you may only do exactly one of the following:  SIT221 Data Structures and Algorithms     Trimester 2, 2018  7   1. Push ݔ onto the front end of an existing deque.   2. Push ݔ onto the back end of an existing deque.   3. Create a new deque with ݔ as its only element.  It is not permissible to skip a number temporarily and process it at a later time. It is also not  permissible  to  insert  a  number  into  the middle  of  an existing  deque;  only  front  and  back  insertions are allowed. To make things easier, data will not contain duplicate elements. Once  all the numbers have been processed, if you have built the deques wisely, you should be able  to create a single, sorted list by placing the resulting deques on top of each other in an order  of your choice.   Create a new class named “MinDequesNumber” in Project01 subfolder of the project. It must  have a public function  int Solve(int[] data)  which accepts data as an array of integer numbers. You must implement an algorithm within  this method which returns the least number of deque data structures required for this sorting  to be possible. The general constraints imposed on the data are as follows.   data will contain between 3 and 50 elements, inclusive.   Each element of data will be between ‐1000 and 1000, inclusive.   data will not contain duplicate elements.  Consider the following examples:  1) For array [50, 45, 55, 60, 65, 40, 70, 35, 30, 75] the algorithm must return 1. Only one  deque  is  necessary  to  sort  this  list.  The  first  element,  50,  starts  the  deque.  For  each  successive element encountered, if that element is less than 50, push it onto the front of  the deque. Otherwise, if it is greater than 50, push it onto the back of the deque. Once  all the data has been processed, the deque will contain all the elements and be in sorted  order.  2) For array  [3, 6, 0, 9, 5,  4]  the expected answer is 2. Your algorithm could process  the  numbers in the following way:   Create a new deque d1 = {3}.   Create a new deque d2 = {6}.   Push 0 onto the front of d1; d1 = {0, 3}   Push 9 onto the back of d2; d2 = {6, 9}   Push 5 onto the front of d2; d2 = {5, 6, 9}   Push 4 onto the front of d2; d2 = {4, 5, 6, 9}  We can now combine the deques together by putting d2 after d1, resulting in the sorted  list {0, 3, 4, 5, 6, 9}. Two deques were used (and it is impossible to succeed using any less  than two), so the method returns 2.  3) For array [0, 2, 1, 4, 3, 6, 5, 8, 7, 9] the result must be 5. The five deques will be {0,1},  {2,3}, {4,5}, {6,7}, and {8,9}. It is impossible to use fewer than five deques and still be able  to combine them into a single, sorted list at the end.  Inspect  MinDequesNumber_Generator  class  placed  in  the  Project01  subfolder  in  Data  directory of the Runner project, which acts as a generator of test instances for this problem.  SIT221 Data Structures and Algorithms     Trimester 2, 2018  8  Similarly to the previous task, static Count() method returns the total number of the instances  it may create. The public static method  int Generate(int k, out int[] a1)  gives instance k (integer k is accepted as an input argument) and returns an array of integers  associated with k as the second argument. Its return integer‐type value is the correct answer  for the instance k. Therefore, you may extract data calling the Generate(…) method of the  class name MinDequesNumber_Generator as it is already done in RunnerPr01_03 class.  Develop  an  algorithm  able  to  solve  the  problem  and  make  sure  you  pass  all  the  tests  in  reasonable time. There is no particular guideline and you may use any algorithmic technique  which you find applicable to the problem. The implementation part of the algorithm is also  up to you. You must only return the correct answer to each of the instances through calls to  the Solve(…) method.  HINT: To solve this problem, think how a sorting algorithm, for example the Bubble Sort, can  be applied to determine the least number of required deque data structures. It is possible to  solve the problem in no more than ~20 lines of code.  Submission instructions   Submit  your  program  code  as  answers  to  the  parts  1.1,  1.3,  2.1,  4.1,  5.1,  and  5.2  via  the  CloudDeakin System by the deadline. The normal Deakin University policy is applied for late  submissions.  You  must  zip  your  MergeSortTopDown.cs,  MergeSortBottomUp.cs,  QuickSortOptimized.cs, Vector.cs, SortingOrder.cs, and MinDequesNumber.cs files only and  name the zip file as Please, make sure the file names are correct. You must not  submit the whole MS Visual Studio project / solution files.  Submit solutions to the parts 1.2, 2.1, 3.1 in the form of essay in a Microsoft Word document  and name the file as Project1.docx. Do not put it inside the and do not archive  it.  This is your  responsibility  to keep  file names correct as  some of  them will be processed  automatically by scripts. If they are in wrong format, the scripts will not mark them and you  may not get marks.  Marking scheme  You may get the following scores for this project:   In  parts  1.1  and  1.3,  you  will  get  up  to  8  scores  in  total  (either  4  scores  or  0  for  each  algorithm)  if  your MergeSortTopDown  and MergeSortBottomUp run  properly  and  sort  generic data correctly. You will get 0 scores for an algorithm if it does not work, causes  compilation or runtime errors, has no code commenting (markers will use this to verify  your algorithm), or does not sort generic data as prescribed.   In part 1.2, you will get either 2 scores for the right solution presented in your text report,  or 0 scores if the solution occurs to be incorrect.  SIT221 Data Structures and Algorithms     Trimester 2, 2018  9   In part 2.1, you will get either 4 scores if your QuickSortOptimized runs properly and sorts  generic data correctly according to the idea presented in your essay, or 0 scores if it does  not work, causes compilation or runtime errors, has no code commenting (markers will  use this to verify your algorithm),  or does not sort generic data as prescribed.    You may get up to 7 scores for your essay as part of 2.1. Specifically, 2 scores can be granted  for a correct pseudocode and 5 scores for an outstanding essay answering all the questions  exactly and explaining the nature of the issue with great details. This should be a precise  answer to the question. You will get 3 scores if ideas are generally clear, but lack of details.  This normally happens when markers have  to guess whether you  really understand  the  matter  and  how  to  resolve  it.  So,  your  task  is  to  convince  the  markers  that  you  got  exceptional knowledge in this exercise. Otherwise, you will get zero scores.   In part 3.1, you may get up to 9 scores for an outstanding essay definitely going beyond  the scope of the chapter of the course book, mainly due to description of extra features  of  the  sorting  algorithms.  You  will  get  6  scores  if  you summarize  and  compare  your  algorithms well, but all the facts mainly come from the lecture notes and that chapter of  the course book. This means that your research was not really complete. You will get 3  points only if your discussion remains limited to the runtime and memory complexity of  the sorting algorithms. Do not think that this is a hard task, you mainly need to do a good  survey and read various articles from different sources. This topic is already in the web for  ages. If nothing is done or the effort is evaluated as insufficient, you will get zero scores.   In part 4.1, you will get either 4 scores if your Min(int k) method as part of the vector class  runs properly and does find the kth smallest element. Otherwise, your mark might be zero  when it does not work, causes compilation or runtime errors, has no code commenting (markers  will  use  this  to  verify  your  algorithm),  or  does  not  return  the  element  as  prescribed.   In  parts  5.1  and  5.2,  you  will  get  scores  proportional  to  the  number  of  passed  test  instances. You are given only 50% of instances we have, so the rest 50% are kept as a secret  and will be used (and released after the deadline) to verify your algorithms automatically.  Thus, part 5.1 and 5.2 have 27 and 105 tests in total and your result will be a fraction scaled  to 12  scores  (maximum  for each of  the parts). According  to  this, you may get up  to 24  scores. Note that we will have a look at your code to avoid cheating; that is, the cases when  your functions just simply return expected answers because you know them. We do not  treat this as a real solution and you will get zero for it.  General remarks: We give either 4 or 0 scores for parts on sorting and selection algorithms,  therefore no partial marks are available. This is because in real life an algorithmic solution  either works or not; no one pays for partially correct solutions. We do give you partial marks  for algorithms where solutions are challenging. This is mainly to motivate you to tackle those  problems.  In the best case, you may get up to 58 scores. Your scores will be capped by 50. So, you may  potentially  skip  some  problems.  However,  we  strongly  encourage  you  to  attempt  all  the  exercises as (i) this content is examinable and you most likely get similar questions on your  final exam, and (ii) you never know where you may lose some marks on other questions. Your  marks will be finally scaled to 15% of the final grade for this unit.  Good luck!

Information Systems Analysis and Design -Assignment Help

Click here to order this assignment Plagiarism.Written from scratch by professional writers.

COIT20248 Information Systems Analysis and Design

 Information Systems Analysis and Design


Assignment 1 – Systems Analysis
Due date: Week 6 Friday (24th August 2018) 11:55 PM AEST ASSESSMENT
Weighting: 30%
Length: 1500 words (+/- 10%) 1
This assessment relates to course learning outcomes 1 and 5 stated in the e-course profile.
Assessment 1 is an individual assessment. In assessment 1, you are assigned tasks which assess your
course knowledge gained between weeks 1 and 5 about different facets of systems development. All
students will have to write a report showing the answers to the questions in tasks 1-5 below.
Please note that ALL submitted Assignment 1-reports are passed through a computerized copy
detection system and it is extremely easy for teaching staff to identify copied or otherwise plagiarised
• Copying (plagiarism) can incur penalties ranging from deduction of marks to failing the
course or even exclusion from the University.
• Please ensure you are familiar with the Academic Misconduct Procedures, available from:
The tasks
For the purpose of this assignment, you are assumed to be one of the software consultants appointed to
shoulder the system analysis responsibilities in, Global Business Systems in the project outlined in the
case study.
You will plan and manage the project as well as investigating and documenting its system requirements.
For your Assignment 1 submission, you will produce a report that discusses this project based on your
understanding of it and the related investigation results through the items below.
Introduction: (5 marks)
• Introduce the case study and define the project objectives. (2.5 Marks)
• Identify the aims of the report. (2.5 Marks)
Task 1: (10 marks)
Approaches to Systems Development
• How would International Charity Foundation (ICF) go about developing its information systems?
Which information system development approach would ICF take? (5 Marks)
• Justify your choice of your selected approach/ methodology to systems development. (5 Marks)
Task 2: (15 Marks)
Systems Requirements
• Identify and list all primary functional requirements for the system in the case study. (10 Marks)
• Identify and list all non-functional requirements for the system in the case study. Justify why
you would like to have these non-functional requirements. (5 Marks)
Task 3: (15 Marks)
Project Cost Benefit Analysis
• Discuss your Project Cost-Benefit Analysis. (7.5 Marks)
• Provide an excel spread sheet with details in a Project Cost Benefit Analysis. (7.5 Marks)
Task 4: (20 Marks)
Project Schedule
• Show a work breakdown structure which follows your choice of approach/ methodology
and a project schedule as a Gantt chart. Briefly explain both of them and discuss how they
relate to each other. (10 Marks)
• Given the system goals, requirements, and scope as they are currently understood, is the
project schedule reasonable? Why or why not? (10 Marks)
Task 5: (25 Marks)
System Information Requirement Investigation Techniques
• Who are the stakeholders involved? (5 Marks)
• Explain your choice of the 3 most useful investigation techniques. (10 Marks)
• Justify the usefulness of these 3 investigation techniques. (10 Marks)
Reflections and Conclusions (5 Marks)
• Summarize the reports and reflect on the outcomes. (5 Marks)
References (5 Marks)
• Appropriate references are used and properly formatted Harvard style. References are cited
properly in the text where necessary. (5 Marks)
The Report (Important: The report makes up 100 marks – scaled to 30%)
You will produce a report that aims to explain your systems analysis results as per the layout and
submission guidelines mentioned below.
Report Layout and Submission Guidelines
In the template file “COIT20248_Assignment_1_Template_File” (in MS Word) provided to you, the
report for ‘Systems Development’ has been organised using the following headings and guidelines.
Students are advised to observe the word count in each section when developing the report.
• Title Cover Page with clear details of course title/name, student number/name,
lecturer & tutor
• Introduction *about 100 words
o Introduction must clearly introduce the case study and define the project objectives.
o Introduction must identify the aims of the report.
• The Approach to Systems Development – Task 1 *about 250 words
o How would ICF go about developing its information systems? Which information system
development approach would ICF take?
o Justification for your chosen approach to system development.
• Systems Requirements – Task 2. *about 250 words
o Identify and list all primary functional requirements for the system in the case study.
o Identify and list all non-functional requirements for the system in the case study. Justify why
you would like to have these non-functional requirements.
• Project Cost /Benefit Analysis – Task 3 *about 200 words
• Project Schedule – Task 4 *about 200 words
o Show work breakdown structure in the project as well as the project schedule Gantt Chart?
o What are they and how do they relate to each other?
o Given the system goals, requirements, and scope as they are currently understood, is the
project schedule reasonable? Why or why not?
• System Information Requirement Investigation Techniques – Task 5. *about 250
o List the stakeholders involved.
o Explain your choice of the 3 most useful investigation techniques.
o Justify the usefulness of these 3 investigation techniques.
• Reflections and Conclusions *about 100 words
o Provide a brief summary of your findings
o Present your reflections about this project (e.g. achievement and constraints).
• References (must complete by showing 1 or more references with their related in-text
Note: The recommended number of word in each section in the report is to be used as a rough guide.
To help student members communicate, forums have been created for your use on the course Moodle
website for Assessments 1 and 2. Please use them to help you work through your report.
Help on writing reports is contained in the Faculty Guide for Students – Chapter 4 – available here: data/assets/pdf_file/0003/2289/Extract-of-Chapter-3.pdf You may also
benefit from a video supplied by the CQUniversity Academic Learning Centre available here:

Assessment criteria – Assignment 1 marking guide
Marks for Assignment 1 will be allocated as follows:
TOPIC Weight Mark
Introduction (5 marks)
• Introduce the case study and clearly define the project objectives
• Clearly identify the aims of the report.
Approach to Systems Development – Task 1 (10 Marks)
• How would International Charity Foundation (ICF) go about developing its
information systems? Which information system development approach
would ICF take?
• Justify your choice of approach to systems development.
Systems Requirements – Task 2 (15 Marks)
• Identify and list all primary functional requirements for the system in the
case study?
• Identify and list all non-functional requirements for the system in the case
study. Justify why you would like to have these non-functional requirements.
Project Cost Benefit Analysis – Task 3 (15 Marks)
• Discuss your Project Cost Benefit Analysis
• Provide an excel spread sheet with details in a Project Cost Benefit
Project Schedule – Task 4 (20 Marks)
• Provide the project work breakdown structure & schedule – Gantt chart.
Briefly explain both of them and discuss how they relate to each other.
• Explain whether, given the system goals, requirements, and scope as they
are currently understood, is the project schedule reasonable? Why or why
System Information Requirement Investigation Techniques – Task 5 (25 Marks)
• Who are the stakeholders involved?
• Explain your choice of the 3 most useful investigation techniques.
• Justify the usefulness of these 3 investigation techniques.
Reflections and Conclusions (5 marks)
• Briefly summarize your findings.
• Present your reflections about this project (e.g. achievement and
References 5
TOTAL: 100
Assessment mark will be weighted to 30%.

Page 1 of 2
COIT20248 – Term 2, 2018 – Case Study
COIT20248 – Information Systems Analysis & Design (Term 2, 2018)
Case Study for Assignment 1 & Assignment 2
The Case: International Charity Foundation
“International Charity Foundation” (ICF) is a private ancillary fund that partners with
Australian OAGDS (Overseas Aid Gift Deduction Scheme) organisations and In-country
Facilitators. The chairman of ICF is Mr. Colin MacFarlane. ICF helps motivated young people
realise their potential through medical and educational assistance in various countries.
In the beginning, Rotary Club of Box Hill Central was looking for sponsor to help a little girl
from overseas to come to Australia for a critical medical treatment. Mr. Colin MacFarlane,
who was a member of Rotary club at that time, has offered to fund the operation and
associated travel cost. Realizing the positive impacts of such supports to people’s life, Colin
started ICF so that more children could receive necessary supports for a better future. ICF
expanded its operations and opened branches in many countries, including Bangladesh,
Myanmar, Zambia, India and Vietnam, so that people in needs can access the supports
provided by ICF easier. Collectively ICF provides assistance to over 3,000 people per week
across all sites in various medical and education programs.
ICF funds its operation mainly through donations from individuals and organizations in
Australia and participated countries. When ICF first started, it relied on some admin staffs
and a small army of volunteers. However, due to the expansion of its programs, the number
of staff increased exponentially. The organization now employs hundreds of staffs in
different countries including doctors, nurse, learning and growing child care staff, admin
staffs, accountants and teachers. The organization also appointed a chairman, a vice
chairman, a solicitor, a treasurer and a public relation officer.
Current Manual Process
Children, who would like to enrol into ICF’s program, need to fill a paper based form to give
their personal details, health condition and type of support needed. The enrolment form
and associated documents about each child are kept as hard copies at each branch office of
ICF. Admin staffs will then manually process the submitted document and enrol the children
into relevant programs. One child could be enrolled into multiple programs for both medical
and educational supports.
Sponsors go online to the websites and look up bank details of ICF. They then go and make a
payment via bank transfer to the ICF trust account. Some individuals chose to go to a branch
and deposit money directly into the ICF account. After that the sponsors either call or email
ICF to leave their details to get a receipt. Because of the OAGDS, ICF can issue tax-deductible
receipts for donations to their overseas aid activities. Once the funds are received at the
end of each week the accountant generate receipts manually for each individuals and
organizations, and then either send to them via emails or Australia post.
Page 2 of 2
COIT20248 – Term 2, 2018 – Case Study
Each week, supplies such as food, medicine, medical equipment, etc.…are ordered by the
admin staffs of ICF at the central office in Australia. Prior to ordering the supplies, the admin
staffs in Australia rings around each branch to determine the existing stock levels and
estimated number of supplies required each week. The stock level is mainly kept track of
using paper based documents, which could be out of date at the time of query. Information
about expense on medical treatment and other operations are kept on excel files in
computers at the local offices.
Problems with the Current System
1. Many admin staffs are required to manually process application forms and enrolling
students to appropriate programs.
2. Staff must be always available to answer phone calls and emails from sponsors to note
their details for creating receipts.
3. Wastage of supplies or lack of supplies often happens at different branches due to
inaccurate stock levels.
4. Statement on income (from donations) and expense could not be monitored effectively,
and there is some duplication between paper and excel records.
Desired System
Colin decides to engage you as an IT consultant, to provide his organization with solutions
that address the above mentioned issues and advice on what needs to be implemented in
the future.
Colin wants a system that allows for children to enrol into ICF programs using online
applications forms. Details about personal information, health conditions and type of
assistance should be kept in a database, where admin staffs in any country can quickly
process and enrol children into appropriate programs.
The system should allow Individuals and organizations to donate money, sponsor specific
programs, and create scholarships directly through ICF website. The donation can be made
as one off payment or repeated payments. When a sponsor makes a contribution online,
they should automatically receive an email thanking them for their contribution. Also the
contribution is stored under client login so at the end of the year clients can either print a
consolidated statement or download a statement from their account.
Colin also wants the stock level at each branch should be kept track of through the online
system. Ordering of supplies for the each branch to be automated and carried out when
needed, rather than manually once a week as in the current process.
The system should automatically kept track of income and expense for all branches so that
statements can be created accurately and effectively monthly and yearly.
Colin has earmarked a budget of $250,000 for this project with a discount rate of 10%. He
estimates that the new system will help in reducing staff cost by $5,000 per month, and
optimize the use of supplies to save $4,000 thus increasing overall savings by $9,000 per
month. Maintenance cost of the system could be estimated at around $600 per month.

ICT709 Title: ICT Industry Project – Assignment Help

Click here to order this assignment Plagiarism.Written from scratch by professional writers.

Course Outline
Code: ICT709
Title: ICT Industry Project
Faculty of Arts, Business and Law
USC Business School
Teaching Session: ATMC Semester 2
Year: 2018
Course Coordinator: Dr Migzhong Wang
1. What is this course about?
1.1 Course description
This course provides an opportunity for postgraduate students to work in a team to develop an ICT artefact for
the demands from the organisation environment. It involves completion of a set of work activities under the
guidance and supervision of an academic supervisor. You should apply specialised knowledge and skills gained
throughout your university studies and demonstrate your thorough understanding of the complexities involved
in industry and/or profession.
1.2 Course content
• The negotiation and discussion of the project.
• Submission of a proposal for review and marking by Academic Supervisor, return for enhancements if
required. When finalised, the proposal will be the framework guiding the project.
• Work on the project demonstrating incremental progress on the project deliverables defined in the
project proposal.
• Submission of final reflective report.
2. Unit value
12 units
3. How does this course contribute to my learning?
Specific Learning Outcomes
On successful completion of this course
you should be able to:
Assessment Tasks
You will be assessed on the
learning outcome in task/s:
Graduate Qualities
Completing these tasks successfully
will contribute to you becoming:
Apply theoretical knowledge to practical
situations as a specialist.
1, 2 and 3 Engaged.
Critically and systematically evaluate ICT
professional issues relevant to an
organisation and its work and
recommend solutions to management
in relation to complex ICT issues.
1, 2 and 3 Engaged.
Self-evaluate your performance and the
development of any proposed
improvement strategies demonstrating
personal and professional responsibility
for own learning and work outcomes.
1, 2 and 3 Creative and critical thinkers.
Work professionally in the ideation,
analysis and design of a project.
2 and 3 Engaged.
Communicate findings using
professional level skills in project
management, problem solving, and
2 and 3 Engaged.
4. Am I eligible to enrol in this course?
Refer to the Coursework Programs and Awards – Academic Policy for definitions of “pre-requisites, co-requisites
and anti-requisites”
4.1 Enrolment restrictions
Course Coordinator permission is required for enrolment in this course. The Course Coordinator should be
satisfied that the scope of project/duties outlined in the initial project proposal is of sufficient rigour to be
appropriate, relevant and achievable
4.2 Pre-requisites
4.3 Co-requisites
4.4 Anti-requisites
4.5 Specific assumed prior knowledge and skills (optional)
The student must have completed at least eight MICT courses to have the necessary skills to undertake an ICT
5. How am I going to be assessed?
5.1 Grading scale
Standard – High Distinction (HD), Distinction (DN), Credit (CR), Pass (PS), Fail (FL)
Page 3
Course Outline: ICT709 ICT Industry Project
5.2 Assessment tasks
Assessment Tasks Individual
or Group
What is the
duration /
should I
should I
submit it?
1 Weekly reflective
E-journal log
Individual 30% 100 to 150
words each
weekly entry
Weeks 3 to
12 inclusive
2 Project proposal Group 25% 750 to 1000
Week 5 Blackboard
3 Project report Group 45% 2000 to 2500
Week 12 Blackboard
Assessment Task 1: Weekly reflective E-journal log
Goal: To write a journal entry at the completion of each week’s project work. The entry should
demonstrate that you are reflecting on your project, comparing theory to practice and
measuring your own progress towards listed objectives.
Product: Weekly reflective E-journal log
Format: This is an individual assessment.
Each weekly reflective E-log journal entry should be 100 to 150 words (max). Each entry
should indicate the major task/s on which you have worked during the current week and
contain comments on your view of your progress towards your objectives at the current time.
If you are facing a particular challenge or problem it would be pertinent to make that the
focus of your journal entry.
Criteria Reflective writing relevant to the scope and tasks of the project evidencing an ability to:
• reflect on and learn from professional experience
• assume personal and professional responsibility for own learning and work outcomes
• critically and systematically evaluate contemporary ICT issues relevant to an
organisation and its work
• successfully apply theoretical knowledge to practical situations
Generic skill assessed Skill assessment level
Communication Specialised
Organisation Specialised
Assessment Task 2: Project proposal
Goal: Develop a proposal for your project that is structured to allow for the successful achievement
of both your goals and those of the industry organisation within the available hours of the
project. In this assessment task you are given the opportunity to receive formative feedback
on your project proposal.
Product: Project proposal
Format: This is a 750 to 1000 word group assessment. You will be assigned to the same group
throughout the semester, working together to complete the project that is described in this
project proposal.
In consultation with your supervisors, you must develop and submit a written proposal in
report format outlining the responsibilities, expectations and evaluation mechanisms
associated with your project.
Page 4
Course Outline: ICT709 ICT Industry Project
This project proposal must contain:
• a description of the artefact to be developed
• rationale for the project; description of organisational context and organisational need
• short review of academic literature relevant to the project if appropriate
• the names and contact details of all the group members
• Objectives of (a) project activities and (b) your own personal and professional goals
(written in SMART format – specific, measurable, achievable, realistic and time-bound;
they should also be constructed with reference to the learning outcomes of the course
specified in section 3 of the Course Outline)
• Methods of achieving the SMART objectives listed above (see point 1)
• Methods for evaluating the achievement of each of the project activity objectives
• Any anticipated human, technical, transport, research/recording and financial
resources required
• A clear timeline for the activities/duties to be undertaken in the project
• Expected outcomes of the project/activity – that is, the finished products, tangibles
and/or deliverables
• Your written project proposal must be discussed, negotiated and refined between you,
and your supervisors
Criteria • Overview/description and rationale of planned project activities – clearly outlined and
demonstrating an ability to successfully apply theoretical knowledge to practical
• Demonstrate an ability to design, coordinate and implement a project
• Anticipated resources required demonstrating an ability to successfully apply
theoretical knowledge to practical situations
• Definition of expected outcomes (i.e. the finished product and/or deliverables) – clear
and achievable and measured against a realistic time-line for completion and
demonstrating an ability to work proactively to design, coordinate and implement a
• Evaluation strategies (evaluation by self, supervisor, other?) – rigorous, and including
an appropriate feedback /evaluation sheet, demonstrating ability to assume personal
and professional responsibility for work outcomes and self evaluation of performance
and to reflect on and learn from professional experience.
Generic skill assessed Skill assessment level
Problem solving Specialised
Collaboration Specialised
Page 5
Course Outline: ICT709 ICT Industry Project
Assessment Task 3: Project report
Goal: In this task you will complete a report of professional standard on the actual project
experience with discussion of outcomes and differences between theory and practice. You
should evaluate the outcomes achieved against those planned at the outset of the project
and reflect on lessons learnt. You will also submit all the source code and other project
Product: Project Report
Format: This is a 2000 to 2500 word group report.
The project report should use the final version of your proposal as a reference point for
reflection and comment on the project experience as a whole – comparing what was planned
at the outset to what was achieved by the conclusion of the project. The report should clearly
describe what was achieved.
You should also comment on the learning you achieved in the project and also, if relevant,
any further learning that you need to undertake to build on your project experience and in
preparation for employment in industry. Where relevant you should include references to
academic literature to support your Project Reflective Report.
Your report should also include a summary of personal factors and factors internal and/or
external to the industry that helped or hindered the achievement of the defined objectives
and expected outcomes, or led to changes in any aspect of the original plan for your project
and activities ie: objectives, tasks, methods, unplanned outcomes. The source code and other
project deliverables for your project should be submitted via an online repository such as
GitHub or BitBucket, and the details of how to access this repository must be included in your
This reflective nature of this report should be derived from a weekly journal kept by each of
you during the project. It is expected that the Weekly E- journal entry (Assessment Item 1) is a
summary of the most pertinent information from each week’s journal entries. The full journal
should be made available to the Academic Supervisor or Course Coordinator upon request
during the project and will need to be included as an appendix to this final report.
Criteria • Application of theoretical knowledge to the project
• Self-evaluation of your project performance and the development of any proposed
improvement strategies demonstrating personal and professional responsibility for own
learning and work outcomes.
• Critical evaluation of ICT professional issues.
• Professional conduct in the analysis and design of a project
• Communication of findings using professional level skills in project management, problem
solving, and presentation.
Generic skill assessed Skill assessment level
Communication Specialised
Problem solving Specialised
Page 6
Course Outline: ICT709 ICT Industry Project
5.3 Additional assessment requirements
In order to minimise incidents of plagiarism and collusion, this course may require that some of its assessment
tasks, when submitted to Blackboard, are electronically checked through SafeAssign. This software allows for
text comparisons to be made between your submitted assessment item and all other work that SafeAssign has
access to.
Eligibility for Supplementary Assessment
Your eligibility for supplementary assessment in a course is dependent of the following conditions applying:
a) The final mark is in the percentage range 47% to 49.4%
b) The course is graded using the Standard Grading scale
c) You have not failed an assessment task in the course due to academic misconduct
5.4 Submission penalties
Late submission of assessment tasks will be penalised at the following maximum rate:
• 5% (of the assessment task’s identified value) per day for the first two days from the date identified as
the due date for the assessment task.
• 10% (of the assessment task’s identified value) for the third day
• 20% (of the assessment task’s identified value) for the fourth day and subsequent days up to and
including seven days from the date identified as the due date for the assessment task.
• A result of zero is awarded for an assessment task submitted after seven days from the date identified
as the due date for the assessment task.
Weekdays and weekends are included in the calculation of days late.To request an extension you must contact
your course coordinator to negotiate an outcome.
6. How is the course offered?
6.1 Directed study hours
Equivalent to 6 hours weekly with schedule to be determined.
6.2 Course activities
Week /
What key concepts/content will I
What activities will I engage in to learn the
Directed Study
Independent Study
1-4 Project proposal negotiation and
Discussion of proposal
Consultation with
Course Coordinator and
your supervisors as
Begin work on the concepts
needed to undertake the
project, consult with the
relevant literature as
5 Submission of proposal for marking by
Academic Supervisor, return for
enhancements if required, signed off by
students, and Supervisors
Consultation with
Course Coordinator, and
supervisors as required.
Submission of proposal for
marking by Academic
Supervisor, return for
enhancements if required,
signed off by students, and
Page 7
Course Outline: ICT709 ICT Industry Project
6-11 Feedback on project objectives and
Work with your
supervisor as your main
point of reference.
Communication and/or
consultation with your
course coordinator
and/or academic
supervisor when
Feedback on project
objectives and learning
12 Submission of final component of
reflective journal (Task 1) and Final
Report (Task 3) to Academic Supervisor.
Individual consultations
if needed with your
Academic Supervisor.
Submission of final
component of reflective
journal (Task 1) and Final
Report (Task 3) to Academic
Please note that the course activities may be subject to variation.
7. What resources do I need to undertake this course?
7.1 Prescribed text(s)
7.2 Required and recommended readings
Lists of required and recommended readings may be found for this course on its Blackboard site. These
materials/readings will assist you in preparing for tutorials and assignments, and will provide further
information regarding particular aspects of your course.
7.3 Specific requirements
7.4 Risk management
Health and safety risks have been assessed as low. It is your responsibility to research and understand risks of
specific courses and to review the USC’s health and safety principles by viewing the online induction training for
8. Links to relevant University policies and procedures
For more information on Academic Learning & Teaching categories including:
• Assessment: Courses and Coursework Programs
• Review of Assessment and Final Grades
• Supplementary Assessment
• Administration of Central Examinations
• Deferred Examinations
• Student Academic Misconduct
• Students with a Disability