Table of Contents
Frequently Asked Questions
General
FAQ about Assignments
Question 1: Neither the assignment description in /cs/course/2011E/2011E_assign_1_F17.pdf, nor the document /cs/course/2011E/CIBC_Overdraft_Protection_Service_Addendum.pdf seem to answer this particular question regarding the requirements related to the Checking Accounts and Credit Accounts Banking System (question …), can you tell me the answer to this question?
Answer to Question 1:
In the assignment description in /cs/course/2011E/2011E_assign_1_F17.pdf, it is stated that:
“5. Notes
Please note that the requirements specified in Section 1. Description of the Assignment above, are the minimum requirements that must be satisfied by your assignment. Obviously, there are many other possible details of the Checking Accounts and Credit Accounts Banking System that have been left unspecified. It is your responsibility to make appropriate design, implementation, testing, and documentation choices concerning the unspecified details of the Checking Accounts and Credit Accounts Banking System, and justify those decisions in your report.”
Any decision to make any assumption about any requirement (or non-requirement) related to the Checking Accounts and Credit Accounts Banking System that is not explicitly specified by the assignment description in /cs/course/2011E/2011E_assign_1_F17.pdf, or in the document /cs/course/2011E/CIBC_Overdraft_Protection_Service_Addendum.pdf should be guided by the principles above.
The marker will judge whether you have made appropriate design, implementation, testing, and documentation choices or not in making any assumption about any requirement (or non-requirement) related to the Checking Accounts and Credit Accounts Banking System; and whether your justification of what you have chosen to do and the particular ways you have chosen to do it are valid or not.
Question 2: I am not familiar with/do not understand the concepts of “credit limit”, “end of business day”, “date time” in Java, the concepts of …
Answer to Question 2:
You may perform a Google search on any concept or term that you are not familiar with or do not understand, for example, you can perform a Google search on “what is credit limit”, “CIBC end of business day”, “Java date and time”, …, …
(Note that on pages 41-43 of your textbook “Data Structures and Algorithms in Java”, there is an example of a CreditCard class, which uses the concept of “credit limit”. )
Question 3: What format should the input and output data have for assignment 3?
Answer to Question 3:
Answer: If you read the Java code examples in the course textbook “Data Structure & Algorithms in Java”, you would notice that most examples use generic formal type parameters such as:
public class MyClassName<K, V>
where type K is the declared type for the key, and V is the declared type for the value in each key-value pair entry in the system. For testing purposes, you may choose actual type parameters that you believe are appropriate in your testing program to take the place of the generic formal type parameters, and justify your choice of the actual type parameters in your report.
Question 4: The Assignment 3 description does not seem to clarify the following: 1. Design standards and approaches 2. Required details in implementation 3. Possibly an example to understand the do's and don't's of the program. Can you clarify these?
Answer to Question 4:
Answer: The questions that you have listed are precisely:
(1) among the questions that you need to figure out by yourself based on the:
“1.1. System Characteristics, Requirements, and Constraints for both of the two High Performance, Robust Embedded Automotive Information Systems with significantly different designs … (a) … (b) … (c ) … (d) … (e) …“
in the EECS 2011 E Fall 2017 Assignment 3 description document /cs/course/2011E/2011E_assign_3_F17.pdf
(The Assignment 3 document states that, “1. Description of the Assignment You are required to apply the concepts of data structures and algorithms that you have learned in this course to design, analyze, implement, test, document, and compare in detail two (2) High Performance, Robust Embedded Automotive Information Systems with significantly different designs described below: 1.1. System Characteristics, Requirements, and Constraints … (a) … (b) … (c ) … (d) … (e) …”)
(2) among the questions that your assignment report needs to answer;
(3) among the questions that you need to explain and justify your answers to those questions;
(The Assignment 3 document states that, “1.2. Requirements regarding the design, analysis, implementation, testing, documentation, and comparison in detail of the software in the two High Performance, Robust Embedded Automotive Information Systems with significantly different designs (a) When designing the software to implement the two High Performance, Robust Embedded Automotive Information Systems with significantly different designs, you must apply best practice software engineering principles and carefully choose appropriate data structures and methods. Furthermore, in your report/documentation you must justify and explain why you chose each particular data structure and method. …”)
(4) among the questions on which your assignment 3 mark will be determined.
(The Assignment 3 document states that, “4. Evaluation of the Assignment 4.1. The report part of your assignment (70%) will be evaluated according to: (a) How well you have satisfied the requirements specified in Section 1.1 and 1.2 above. (b) How well you have explained the design and implementation of your systems and how well you have justified your design decisions. (c ) The quality of your design. …”)
Question 5: What is the main course learning outcome for assignment 3?
Answer to Question 5:
” * Select the most appropriate data structures for novel applications.”
(See https://wiki.eecs.yorku.ca/course_archive/2017-18/F/2011E/start)
Question 6: The assignments in this course seem to be quite different from the typical programming assignments that we have done in first year courses, especially assignment 3. Can you tell us how to think about assignment 3?
Answer to Question 6: For a typical first year programming assignment, or, if you are working an entry level programming job, you are told which data structures and associated algorithms you should use. In contrast, for assignment 3, you are the person who is responsible for determining which data structures and associated algorithms should be used, based on the application requirements. For assignment 3, a good way to approach the task, would be to imagine that you are not an entry level programmer anymore; you have accumulated enough expertise and experience to be assigned to a more senior position in a software company and you now have the authority and responsibility to make more important higher level decisions; in particular, you now have the responsibility to ensure that your company's software meets the needs/requirements of the clients of your company. Imagine that an important client has just asked your company to design and implement a software program for a system for which the characteristics, requirements, and constraints are those described in the assignment 3: 1.1. System Characteristics, Requirements, and Constraints … (a) … (b) … (c ) … (d) … (e) …“; and that for a variety of possible reasons, this set of characteristics, requirements, and constraints is all that the client is willing to divulge about the system that the client is planning to build. (You may assume that the client has its own team of programmers who will further extend the core of the system that your company has produced for them; for example the client's own programmers will take care of which exact “values” in the key-value pair will be actually used in their “embedded automotive” application.) Now both you and the client have already signed a contract in which you have agreed to deliver a software program that meets the above stated client needs/requirements. Now it is your responsibility to design and implement a software program so that your company delivers a product that matches the client's needs/requirements to the greatest extent possible … It will also be your responsibility to write a report for the client that not only describes what you have produced for the client but also justifies all the design decisions that you have made to convince the client that the product that your company has designed and produced for them truly meets the client's needs/requirements which have been clearly and explicitly written into the contract that both parties had signed.
Question 7: Does the “embedded automotive information system” have any additional characteristics, requirements, and constraints that are not listed in:
“1.1. System Characteristics, Requirements, and Constraints … (a) … (b) … (c ) … (d) … (e) …”?
Answer to Question 7:
All the most important requirements, requirements, and constraints of the “embedded automotive information system” are listed in:
“1.1. System Characteristics, Requirements, and Constraints … (a) … (b) … (c ) … (d) … (e) …”
Question 8: Do we have to submit a hard copy of Assignment 3? Are we permitted to only submit an electronic version?
Answer to Question 8:
In every single one of the EECS 2011 E Fall 2017 Assignment descriptions, the following warning has been clearly emphasized in bold letters:
”Important Warning: Only submitting an electronic copy of your assignment is not enough! If you fail to submit a hard copy of your assignment on or before the due date, your assignment will receive a grade of ‘F’.“
/cs/course/2011E/2011E_assign_3_F17.pdf
You will most definitely receive an 'F' if you do not hand in a hard copy of Assignment 3.
The marker and instructor are going to verify whether a hard copy of Assignment 3 has been submitted very very carefully, and strictly enforce this rule without exception.
(All hard copies of Assignment 3 should be submitted to the EECS 2011 E assignment dropoff box which is located on the ground floor of Lassonde Building close to the elevator.)