User Tools

Site Tools


faq

Frequently Asked Questions

Frequently Asked Questions

Question 1: Some members of my assignment group are doing less work / making less effort / contributing less / have dropped the course. Is this a valid reason for not handing in the assignment before the due date?

Answer to Question 1: Unfortunately a claim that some members of an assignment group are doing less work / making less effort / contributing less / have dropped the course, is NOT a valid reason for not handing in an assignment on or before the assignment due date.

If any member of any assignment group wishes to receive any credit for any assignment, that assignment group would need to hand in the assignment on or before the assignment due date.

Also see the option in the Answer to Question 23.

Question 2: The other members of my assignment group are not responding to my attempts to contact them; some of them may have dropped the course. What should I do in this case?

Answer to Question 2: In a situation where not all assignment group members are willing to work together to complete an assignment, the members who are willing to work to complete the assignment should go ahead and work to complete the assignment (even if in the whole group there is only one member who is willing to work to complete the assignment).

Also see the option in the Answer to Question 23.

Question 3: For Assignment 2 and Assignment 3, can the members of our group divide up the work in a way such that some members of the group only need to do Assignment 2 and other members of the group only need to do Assignment 3?

Answer to Question 3: No, dividing up group work in such a way is strictly forbidden. Every member of each group must contribute to each and every assignment. Any member of a group that does not contribute to any assignment will receive a grade of zero on that assignment.

Question 4: What is the word limit for the report on assignment 1? Or how many advantages and disadvantages need to be written?

Answer to Question 4: The Assignment 1 specification states that, “F. Notes … In general it is up to each individual student to make his/her individual judgment regarding details such as what specific material to include in the report, the length of writing in the report, and how to organize and structure the material in the report, and any other possible details about the report. …”

Question 5: Why am I being asked to acknowledge the Statement Required by the Lassonde School of Engineering For All Lassonde Students When Submitting Course Work?

Answer to Question 5: The Lassonde School of Engineering has asked all instructors to post this statement on eClass pages and at the beginning of each assessment, and also ask students to acknowledge this statement when submitting their work.

Question 6: How should I explicitly identify which work is mine? For example after I make an explanation or example, can I write in brackets (this is my own work and thoughts)?

Answer to Question 6: Yes, after providing an explanation or example, you can write in brackets that this is your own work and thoughts.

Question 7: Are we allowed to reference sources that are not official academia papers and reports to support our arguments in Assignment? For example can we use articles from websites that are outside of academia?

Answer to Question 7: Articles from websites that are outside of academia, cannot really be used to support your arguments, because such articles in general are NOT written by experts, and are NOT reviewed by other experts in the field, and for this reason, do not carry the same weight as peer-reviewed (refereed or scholarly) articles which are written by experts and are reviewed by several other experts in the field before the article is published in order to ensure the article's quality.

You should distinguish between peer-reviewed articles and non-peer-reviewed articles in your assignment. If you do reference articles from websites that are outside of academia, you should make it clear to the reader that the article is not as trustworthy as a peer-reviewed article.

Question 8: For Assignment 1, should I explore/look at the advantages and disadvantages of OOP A, B, C, …, or should I explore/look at the advantages and disadvantages of OOP X, Y, Z, …? Do you want it written in I, J, K, … format, or do you want it written in M, N, N, … format? How should I write it at a higher level first before getting into lower level details?

Answer to Question 8: The Assignment 1 specification states that, “F. Notes … In general it is up to each individual student to make his/her individual judgment regarding details such as what specific material to include in the report, the length of writing in the report, and how to organize and structure the material in the report, and any other possible details about the report. …”

Question 9: Can we use lectures from our previous courses like EECS 2030 to help us explain the function of some OOP methods and if so should we source them?

Answer to Question 9: You cannot reference lectures from previous courses like EECS 2030, because such information is not publicly available. However, you can reference a textbook that is used by a previous course.

Question 10: How should I think about what kind of information could be useful to include in the Assignment 1 report?

Answer to Question 10: Carefully read the first paragraph at the very beginning of the Assignment 1 description:

“Imagine that a software company wants to know as much as possible about the possible advantages and disadvantages of using various object-oriented approaches in the design and implementation of software, and that company has assigned you the task of writing a report to identify and explain the possible advantages and disadvantages of using various object-oriented approaches in the design and implementation of software in your report which will be read and used by managers and technical staff of that company to make decisions on whether to adopt various object-oriented approaches in the design and implementation of that company’s software.”

Question 11: What would be a good way to practice using the algorithms and data structures in the course?

Answer to Question 11: A good way to practice using the algorithms and data structures in the course, would be for each particular algorithm and data structure, including each particular method/code, in the course textbook “Data Structures and Algorithms in Java”, M.T. Goodrich, R. Tamassia, M.H. Goldwasser, Wiley, 2014, 6th Edition, create a good variety of different concrete example data for each particular data structure, then perform each step of the algorithm/method/code on each particular data structure using each of the variety of different concrete example data step-by-step.

Question 12: The question states that we are to “Imagine a software company wants to …”, are we supposed to come up with a company idea/name on our own, also can it be an already existing company or is this just a completely hypothetical company?

Answer to Question 12: You can imagine that it is an existing software company which prefers to remain anonymous which has commissioned this report. You do not need to come up with a company name on your own.

Question 13: The assignment requires that we write a report on the various object-oriented approaches in the design and implementation of that company's software, so does that mean we should describe various approaches to designing a software for one task/program within that company or is it just describing different object-oriented approaches to different tasks/programs within that country?

Answer to Question 13: The Assignment 1 description never said that you should “… describe various approaches to designing a software for …” ONLY ONE “… task/program within that company”.

Question 14: In assignment 1 when you say “ identify and explain the possible advantages and disadvantages of using various object-oriented approaches in the design and implementation of software”, could a software, in this case, be considered a program written using a programming language?

Answer to Question 14: You may perform a Google Search on the term “software”, to learn about what the term “software” could mean.

Question 15: If we use a text book to reference multiple materiel for our essay do we reference it once or multiple times including the pages?

example 1:

[1] Poo, Danny C. C., Derek Beng Kee Kiong, and Swarnalatha. Ashok. Object-Oriented Programming and Java. 2nd ed. London: Springer, 2008.

example 2:

[1] Poo, Danny C. C., Derek Beng Kee Kiong, and Swarnalatha. Ashok. Object-Oriented Programming and Java. 2nd ed. London: Springer, 2008. Pages 111-115

[2] Poo, Danny C. C., Derek Beng Kee Kiong, and Swarnalatha. Ashok. Object-Oriented Programming and Java. 2nd ed. London: Springer, 2008. Pages 60-65

Answer to Question 15: Take a look at the References or Bibliography section of any article among the hundreds of millions of scholarly literature in Google Scholar https://scholar.google.com/, and the answer to your question should quickly become very apparent.

Question 16: How should we submit the academic honesty statement for Assignment 1?  Should it be added in a page before the title page or would it be all right to upload both our report PDF and academic honesty statement PDF as two different files in the submission?

Answer to Question 16: Both methods are acceptable.

Question 17: : Am I coding the whole system, like a queue for a ready, running and terminated our am I coding the calculation of the CPU. And also for first come first serve I assume every state has an CPU_time, and an I/O_time and once done they execute?

Answer to Question 17: In the EECS2011N W21 Assignment 2 specification, 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 System for Deterministic Modeling CPU Scheduling Algorithms that have been left unspecified. It is your responsibility to make appropriate design, analysis, implementation, testing, and documentation choices concerning the unspecified details of the System for Deterministic Modeling of CPU Scheduling Algorithms, and justify those decisions in your report. …”

Question 18: I am not quite sure what we have to code in java, is it the 6 scheduling algorithms from section 5.3? If yes then what should be the processes, arrival time and their priority process? There is no data set available on the assignment 2 pdf.

Answer to Question 18: You need to not only carefully read and study the Assignment 2 specification in the 2011N_W21 Assignment_2.pdf file on eClass, but also need to carefully read and study all of the following which are posted on eClass:

(1) The copy of Sections 5.1, 5.2, 5.3, and 5.8.1, of Chapter 5 of Silberschatz, Galvin, and Gagne’s book above can be found in the 2011N W21 eClass file Operating_System_Concepts_CPU_Scheduling.pdf;

(2) The example provided in the file “2011N_W21_Assignment_2_Example.pdf” which is posted on 2011N W21 eClass.

(3) The Wednesday March 3 Lecture 14 video recording which explains the 2011N W21 Assignment 2 Example posted on eClass.

Question 19: We are having extreme difficulties implementing the preemptive algorithms. Implementing these algorithms to work in parallel with the IOScheduler FCFS algorithm is a greater challenge than we have the tools to solve.

Answer to Question 19: You also need to carefully read and study all the material listed in the Answer to Question 18 above. As shown in the Wednesday March 3 Lecture 14 video recording which explains the 2011N W21 Assignment 2 Example posted on eClass, the performance of each algorithm for any workload, that is, the Average Waiting Time, and the Average Turnaround Time, can all be calculated solely with pen and paper step-by-step.

Note that, ANYTHING THAT CAN BE CALCULATED SOLELY WITH PEN AND PAPER STEP-BY-STEP, CAN ALSO BE DONE BY A COMPUTER PROGRAM WRITTEN IN JAVA STEP-BY-STEP (in the same way that the Average Waiting Time, and the Average Turnaround Time was calculated solely with pen and paper step-by-step in the Wednesday March 3 Lecture 14). In other words, there is no need to get anything “to work in parallel”, and there is no need to use any parallel programming tools such as “threads” for Assignment 2.

Question 20: Because my group started working on Assignment 2 rather late, now it looks almost certain that we won’t be able to finish designing, and implementing any working Java program that is able to compute the average waiting times and average turnaround times for any given workload using all of the six scheduling algorithms as specified in Assignment 2. Yet we don’t want to completely give up on Assignment 2. Can you give us some advice on what we might consider doing for the programming part of Assignment 2 to at least get something done for the programming part, taking into consideration that we only have a few days left before the deadline to work on the assignment?

Answer to Question 20: As a first step, you may try to write the code only for a very basic and simple Java program, which only needs to handle the following:

  • Each process only executes once on the CPU before terminating;
  • Each process never does any I/O on any I/O device;
  • All processes have the same single CPU Computation Time;
  • Only the simplest C1. Nonpreemptive First-Come, First-Served (FCFS) CPU Scheduling Algorithm is used.

Note that in this very basic and simple system:

  1. There is only one single process queue – the ready queue, which is a FCFS queue;
  2. Whenever a process arrives, it is entered at the end of the ready queue;
  3. Whenever the CPU becomes available, the Nonpremptive FCFS CPU Scheduler always removes from the ready queue the process which is at the front of the ready queue, and allows that process to start executing on the CPU;
  4. Once a process starts executing on the CPU, it is never preempted, and always executes for the full duration of its CPU Computation Time before terminating.
  5. Whenever a process terminates, the CPU becomes available again.

Write the code so that the program allows the user to enter as input parameters the following:

  • the number of processes;
  • the Arrival Time of each process;
  • the CPU Computation Time for each process;

Then try to write code which computes the Average Waiting Times and Average Turnaround Times for any set of user input parameters above.

Once you have got the code for the very basic and simple Java program described above working, then try to gradually add additional features, in order of difficulty, to the code. For example:

  1. First try to allow processes to have different CPU Computation Times.
  2. Then try using C2. Nonpreemptive Shortest-Job-First (SJF) Scheduling. (The only difference in this case, is that, whenever the CPU becomes available, the Nonpremptive SJF CPU Scheduler always removes from the ready queue the process which has the smallest CPU Computation Time among all processes in the ready queue, and allows that process to start executing on the CPU.
  3. Then try using C4. Nonpreemptive Priority Scheduling. (The only difference in this case, is that, whenever the CPU becomes available, the Nonpremptive Priority CPU Scheduler always removes from the ready queue the process which has the smallest Priority Number among all processes in the ready queue, and allows that process to start executing on the CPU.
  4. Then try using some of the Preemptive CPU Scheduling Algorithms C3, C5, C6. (In this case, whenever a process which is currently executing on the CPU is preempted by a process with higher priority, that preempted process which has lower priority is put back into the ready queue.)
  5. Then try to allow each process to make one single request to perform I/O for some I/O Time on one single I/O device after completing its first CPU Computation Time, while for CPU Scheduling only use one of the Nonpremptive CPU Scheduling Algorithms C1, C2 or C4. (In this case, an I/O queue is used, and processes are entered at the end of the I/O queue whenever they request I/O. Whenever the I/O device is available, the Nonpremptive FCFS I/O Scheduler always removes from the I/O queue the process which is at the front of the I/O queue, and allows that process to start performing I/O on the I/O device for the full duration of its I/O Time before that process makes the next request to execute on the CPU - after completing I/O the process will be entered into the ready queue.)
  6. Then try to allow each process to make one single request to perform I/O for some I/O Time on one single I/O device after completing its first CPU Computation Time, while for CPU Scheduling use some of the Preemptive CPU Scheduling Algorithms C3, C5, C6.

(Add additional features one-by-one in this gradualist fashion, and just try to add as many features as possible before the assignment deadline.)

When adding each additional feature, write the code so that the program allows the user to enter as input parameters the following:

  • the number of processes;
  • the Arrival Time of each process;
  • the Priority of each process;
  • the Sequence of CPU Computation Time and I/O Time Requirements for each process;

When adding each additional feature, write code which computes the Average Waiting Times and Average Turnaround Times for any set of user input parameters above.

Question 21: For assignment 2, do we implement all the different schedulers mentioned in section C of the assignment document? Or do we pick just one of them to implement?

Answer to Question 21: Assignment 2 requires implementing ALL the different schedulers mentioned in section C of the assignment document.

Question 22: Does every group member have to submit the assignment 2 or can one person do it?

Answer to Question 22: Assignment 2 can be submitted by one member of each group.

Question 23: I believe that my entire group’s work on Assignment 2 and /or my own individual contribution to Assignment 2 has been severely and negatively impacted by one or more abnormal circumstances / factors / situations beyond our / my control. Can accommodation be provided in such cases?

Answer to Question 23: If you believe that your entire group’s work on Assignment 2 and /or your own individual contribution to Assignment 2 has been severely and negatively impacted by one or more abnormal circumstances / factors / situations beyond your control, you may fill out a Request for Special Consideration form, and submit it to eClass on or before one week (7 days) from the Assignment 2 due date, and the weight of your Assignment 2 will be transferred to the weight of your 2011N W21 final exam.

Question 24: For designing two systems for searching, inserting, and deleting key-value pair entries, what kind of data are we managing?

Answer to Question 24: Your question has already been answered by the Assignment 3 specification:

“… Section 1.1. System Characteristics, Requirements, and Constraints for both of the two High Performance, Robust Embedded Automotive Information Systems with significantly different designs:

(a) Each entry in the system consists of a key-value pair (k, v), where k is the key and v is the value.

(b) The key for each entry is unique, that is, two different entries will not have a same key. The key for each entry is a character string. No advance knowledge can be assumed about other characteristics of the keys.

© The number of entries in the system can be very large, but the system can still fit into main memory.

(d) Search, insertion and deletion operations on the entries in the system are equally likely.

(e) The primary system performance criteria is speed, that is, under normal circumstances the search, insertion, and deletion operations should be as fast as possible. However, since this is an embedded automotive information system, the system is also expected to be robust in the sense that one should still be able to guarantee good, predictable, and verifiable performance of the system even under worst-case scenarios, possibly even including when under malicious attacks. …”

Question 25: For Assignment 3, are we making an interface of some kind of IVIS?

Answer to Question 25: No, there is no need to make an interface of some kind of specialized IVIS. The interface only needs to be able to input data that is of the type that is specified in Section 1.1 (a) – (e) of the Assignment 2 specification.

Question 26: Will we be getting an example for Assignment 3?

Answer to Question 26: No. There is no need for an example for Assignment 3.

Question 27. What would be a good way to approach and think about Assignment 3?

Answer to Question 27: Imagine that a software company working for a consortium of automotive industries is anticipating that there is going to be an explosion in demand for high performance, robust embedded automotive information systems, and has hence decided that they need a basic software system on which they can further build a wide range of high performance, robust embedded automotive information systems applications. For this reason, that software company has asked several software development teams, including your group, to each provide two basic software systems with significantly different designs that allows any user, or any higher level automotive information system application, to perform search, insertion, and deletion operations on key-value pairs (k, v), where k is the key and v is the value, which will serve as a foundation for further building a wide range of high performance, robust embedded automotive information systems applications, and that the software company will hire the software development team with the best overall design, analysis, implementation, testing, and documentation to continue to work on the project for the company.

Since the software company working for the consortium of automotive industries does not know the exact details of what kind of high performance, robust embedded automotive information systems applications will be built using the two basic software systems with significantly different designs that allows any user, or any higher level automotive information system application, to perform search, insertion, and deletion operations; the only system characteristics, requirements, and constraints that have been specified by the software company are those specified in Section 1.1. of Assignment 3, that is:

“(a) Each entry in the system consists of a key-value pair (k, v), where k is the key and v is the value.

(b) The key for each entry is unique, that is, two different entries will not have a same key. The key for each entry is a character string. No advance knowledge can be assumed about other characteristics of the keys.

© The number of entries in the system can be very large, but the system can still fit into main memory.

(d) Search, insertion and deletion operations on the entries in the system are equally likely.

(e) The primary system performance criteria is speed, that is, under normal circumstances the search, insertion, and deletion operations should be as fast as possible. However, since this is an embedded automotive information system, the system is also expected to be robust in the sense that one should still be able to guarantee good, predictable, and verifiable performance of the system even under worst-case scenarios, possibly even including when under malicious attacks. …”

Question 28: Do we assume the key is always enter as a string or do we assume the key can be defined under any object?

Answer to Question 28: Assignment 3 requires you to provide two basic software systems with significantly different designs that allows any user, or any higher level automotive information system application, to perform search, insertion, and deletion operations on key-value pairs (k, v), where k is the key and v is the value, and the key is a character string.

Question 29. Is there any way that my group and I can get an extension on the due date for Assignment 3?

Answer to Question 29: Because the due date of Assignment 3, Tuesday April 13, 2021, falls on the Last Day to Hand In Term Work according to the University Regulations, unfortunately it will not be possible to postpone the due date of Assignment 3.

Question 30: I believe that my entire group’s work on Assignment 3 and /or my own individual contribution to Assignment 3 has been severely and negatively impacted by one or more abnormal circumstances / factors / situations beyond our / my control. Can accommodation be provided in such cases?

Answer to Question 30: If you believe that your entire group’s work on Assignment 3 and /or your own individual contribution to Assignment 3 has been severely and negatively impacted by one or more abnormal circumstances / factors / situations beyond your control, you may fill out a Request for Special Consideration form, and submit it to eClass on or before one week (7 days) from the Assignment 3 due date, and the weight of your Assignment 3 will be transferred to the weight of your 2011N W21 final exam.

Question 31. In the implementation of the two systems are we allowed to use the Java implemented structures in java.util such as Tree Map and HashMap?

Answer to Question 31: The Assignment 3 specification states that, “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) systems for searching, inserting, deleting key-value pair entries for use in In-Vehicle Information Systems with significantly different designs ….”

Please note that:

a) The Assignment 3 specification asked you to “… design, analyze, implement, test, document, and compare in detail two (2) systems …”

b) The Assignment 3 specification did NOT ask you to copy the data structures and algorithms that you have learned in this course.

Question 32: Does every group member have to submit the assignment 3 or can one person do it?

Answer to Question 32: Assignment 3 can be submitted by one member of each group.

Question 33: For Assignment 3 am I allowed to copy the data structures and algorithms from sources X, Y, Z, …?

Answer to Question 33: The Assignment 3 specification states that, “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) systems for searching, inserting, deleting key-value pair entries for use in In-Vehicle Information Systems with significantly different designs ….”

Please note that:

a) The Assignment 3 specification asked you to “…design, analyze, implement, test, document, and compare in detail two (2) systems …”

b) The Assignment 3 specification did NOT ask you to simply copy data structures and algorithms from various sources.

Question 34: When will the grades for Assignment 2 and Assignment 3 be made available?

Answer to Question 34: The TAs have not yet completed marking Assignment 2 and Assignment 3. After the marking of Assignment 2 and Assignment 3 has been completed, the grades for Assignment 2 and Assignment 3 can be accessed by logging in to red.cse.yorku.ca, then typing the following command:

courseInfo 2011N 2020-21 W

Question 35: Will the number of questions in the final exam will be the same as, or similar to the number of questions in the file “2011N W21 Sample Questions” on eClass?

Answer to Question 35: The number of questions in the final exam will NOT be the same as, or similar to the number of questions in the file “2011N W21 Sample Questions” on eClass.

Question 36: I noticed that the 2011N W21 final exam has been rescheduled to take place on Sunday May 2, 2021, 9:00 a.m. Would it be possible to change the date and time of the rescheduled 2011N W21 final exam to another date and time?

Answer to Question 36: The date and time of the rescheduled 2011N W21 final exam of Sunday May 2, 2021, 9:00 a.m was determined by the EECS Undergraduate Office in consultation with the Registrar’s Office. Unfortunately the date and time of the rescheduled 2011N W21 final exam of Sunday May 2, 2021, 9:00 a.m. cannot be changed.

If you believe that you have a valid reason for not attending the rescheduled 2011N W21 final exam on Sunday May 2, 2021, 9:00 a.m., you may petition the Lassonde School of Engineering to write the 2011N W21 deferred final exam at a later date and time.. If your petition is granted by the Lassonde School of Engineering, then you will be required to write the 2011N W21 deferred final exam at a later date and time.

Question 37: Would it be possible to change the time window for the rescheduled 2011N W21 final exam to a 24 hour window, instead of from 9:00 a.m to 12 noon, on Sunday May 2, 2021?

Answer to Question 37: Unfortunately it is not possible to change the time window for the rescheduled 2011N W21 final exam to a 24 hour window instead of from 9:00 a.m to 12 noon on Sunday May 2, 2021.

Question 38: What is the date and time of the deferred 2011N W21 final exam?

Answer to Question 38: The date and time of the deferred 2011N W21 final exam has not been determined yet. The date and time of the deferred 2011N W21 final exam will be announced after it has been determined.

faq.txt · Last modified: 2021/04/26 22:20 by jxu