CSC 300, Turner Winter 2005 Sample essay questions and format suggestions for Midterm. Open book and notes. Since not every student has a laptop computer to use, no laptops will be allowed. You must print or write legibly so that I can easily understand what you write. You will be given a number of True/False questions designed to demonstrate your comprehension of the assigned readings and class discussions. Here is a sample: SAMPLE TRUE OR FALSE. (Comment if necessary) 1. A dialectic is the result of argument, counter argument and reformulation of the argument in an ongoing process aiming at some consistent form of truth. 2. One form of the "categorical imperative" is "never treat another human being merely as a means but always as an end." 3. Software Engineering is not a profession in the United States. 4. The ACM/IEEE Software Engineering Code of Ethics requires us to obey the law at all times. 5. According to the RUP, port scanning on the Cal Poly network is an acceptable use. Essays. When applicable, I suggest a format similar to that explained in class and mandated for your papers. a. Start with any simple facts you will rely on in writing your answer. b. Name the question (issue) you will address - grounded in those facts. c. After the issue (main question for your analysis), you ought to consider what rules or ethical principles will come into play, you might even write them down as applicable to the issue in a list. These may suggest some of the arguments you'll need to cover. d. Then you will consider varying arguments regarding possible positions or answers to your question. Here you may include readings you've done (cite as best as you can) and you may even cite class discussions (do this sincerely, to the best of your recollection). You may create the arguments yourself, but grounding them in other readings and discussions is worth a bit more credit. You will be graded on your ability to explain different rational positions on the issue and making the best arguments surrounding those positions. e. At this point you will give your analysis of the question and your answer. This should incorporate the rules, ethics, and arguments you've found, and you will include your arguments for the most rational position on the question. You will be graded wholistically, but the most credit comes from your analysis: criticizing and synthesizing other arguments, making your own position in a clear and consistent manner. Note: I also suggest a very simple outline before you begin to write your answer. Since the exam is of limited time, you should allocate that time carefully. SAMPLE ESSAY: 1. You graduate from Cal Poly (after receiving an "A" in your CSC 300 class!) That high grade gets you an interview with UnderCover Systems where they claim to value ethics highly. They offer you a job (and you have no other offers) at a salary that will enable you to pay for some critical surgery for your mother that she could not otherwise pay for. UnderCover Systems hires you and only gives you the job title after you have signed your Nondisclosure agreement. They hire you as an "information retrievel operative" where you will write programs designed to connect to networked PC's and gather data which will be sent back to a special database without the PC owner's knowledge or consent. You quickly speak to your manager regarding the dubious ethics of the job title and he responds, "it's OK, we only apply these techniques to potential terrorists. The U.S. government funds us, so we're in the clear!" "If we don't find these terrorists before they strike us," he continues, "we'll be responsible for the horrors they may cause!" He tells you to get back to work and do your job or you may lose your job due to the lack of progress you're making. ANOTHER SAMPLE ESSAY: (This essay asks for specific work and the format of the answer should follow that in some rational way.) 2. Suppose you write a paper extending Weyuker's analysis in her paper, "On Testing NonTestable Programs." You show that testing of software still isn't anywhere near an exact science and that we have no objective measure for the "strength" or "thoroughness" of testing. You admit that we can get a bug list that clearly helps avoid certain problems, but that is the only certain result of testing. The IEEE asks you to write some guidelines regarding the Software Engineering Code of Ethics section 3.11. You'll write guidelines involving adequacy of test documentation and you'll give very brief justification for each guideline. ******************* A FEW BASIC THINGS TO KNOW (good knowledge for the midterm, for your paper, and eventually for the final) This is not exhaustive by any means, but should form the basis for your first line of study. What is the fundamental problem of software testing? What is deontological reasoning? What is utilitarian reasoning? What is the "vacuum of policies" regarding computing in the current social context? What is a "normative" concern? What is a "descriptive" concern? Understand the characteristics of a Profession and the possible Professional relationships. Think about Software Engineering as a Profession (or not as a Profession!)