Course Materials

Click any assignment to hide/show the details (or download the pdf version below)

Assignments

Critical Analysis Midterm

This assignment involves choosing a particular computer-related thesis from the book you've chosen to read for CSC 300 and performing a critical analysis of that thesis. There is really no "right" or "wrong" to your conclusion, it must just be supported by rational reasoning and logic and backed up by referenced (cited) facts and principles. Do not utilize conclusory phrases such as "obviously" or "clearly" when concluding unless you have already utilized referenced facts and logic to make your conclusion crystal clear.

Your writing must be clear, concise and readable. Paragraphs should be well constructed and transitions meaningful and clear.

This quarter, this assignment will be an in-class essay that will give you feedback on your writing ability early in the course so you can best prepare yourself for the assignments ahead.

Term Paper Half-Draft
Formal Presentation
  • Should be 10-12 slides
  • 8 minutes MAX for the presentation (10% penalty for overtime, severe overtime will result in cutting you off)
  • 2 mins after that for questions
  • Make sure to look at the presentation evaluation sheet and presentation guideline lecture!

You must send in your presentation to Dr. Turner & Nick at least 48 hours beforehand so they can review it and send you feedback. If you do not, you will suffer a 10% penalty automatically.

Dr. Turner's Presentation Tips [May contain out of date info, but you should definitely review these still]

Nick's lecture on presenting with presentation guidelines

Presentation Evaluation Sheet (this is what you will be judged on!)

 

Example Presentation:

Nick's Presentation (use for reference, specs may have changed since this was made).

Term Paper

Grading Criteria for Final Version of Term Paper

Facts: (20%) Concise, simple, clear, NARRATIVE that describes the state of the world related to your issue. Tell the reader a story about the situation that makes her curious about your issue before you tell her about it. Cite respectable sources for every fact or claim about the situation. Just a page or two.

Statement: (5%) Very concise and simple, one line is best, narrowly defined [single] question that you will resolve in your analysis. Avoid side issues!

Arguments: (25%) Cover other thinkers thoughts about your issue in a neutral manner. Take no sides, just illustrate the different views and the logical reasoning of others as though they're correct. (Do NOT inject any of your analysis till the next section!) Cite sources for the arguments. Don't make them up. Cover the field. Use descriptive subheadings to distinguish the different arguments. The Code does not belong in this section, use it in your analysis later.

Analysis: (50%) Answer your question (your issue). Make informed and logically reasoned judgments about the validity of others' arguments, make new arguments of your own and justify them with logic and ethical principles. Begin by justification of the applicability of the SE Code to your issue. You must convince me, even if I actually disagree with you, that your analysis and conclusion have a respectable amount of logical weight utilizing the IEEE/ACM Software Engineering Code and other general ethical principles. Continue to cite sources for all facts and arguments used in your analysis. Make sure your analysis is only about your narrowly defined issue! Use subheadings to distinguish your various arguments.

The self eval checklist is the same as the paper spec, just check off each thing once you are sure you have met that requirement.

Example Papers:



Labs

Future You

Lab 1 is a simple personal statement of goals and interests with a projection into the next 10 years. Imagine you’ve graduated from Cal Poly with the degree you are interested in, you find the job or the direction you truly want, and you build the sort of life you truly want.

The document should be 1 – 2 pages in length and should be typewritten in a professional manner, so that it is easily read.

You may also approach this Lab as an “obituary” that you’d like to see written for you when you pass, after your life has gone the way you would like it to.

Accessibility

Note that this lab is due to a student project developed by Mike
Winterberg, Johannes Kienzle and Dan Snyder. Updated by Nicolas Artman 10/2/09.

Purpose:

Our society places the responsibility of caring for the less fortunate, at least in
part, on its own shoulders. We have governmental programs designed to help
those will all forms of disability, be it financial, physical, mental, or otherwise.
We have laws that regulate what businesses can and must do in order to allow
access to what they offer for all people, and this includes our industry. What
special needs arise in accessing software or web-pages? What responsibilities
do we as designers have to make our work accessible?

Procedure:

Part 1: The World Wide Web Consortium - Answer as a group
1. What is the W3C? When was it founded, and for what purpose?
2. What is the Web Accessibility Initiative (WAI)? What are the key issues of
completing this task?

Part 2: Accessibility and the Code of Ethics - Answer individually
Imagine the following scenario:

You are working on a software project for a big company. The project is nearing completion and you realize that the software is extremely difficult to use by visually impaired people. You know your project manager will say that the budget does not allow working on accessibility features.

According to the Software Engineering Code of Ethics, explain briefly what
you could and should do.

Part 3: Accessibility in the Real World - Answer as a group
1. Visit at least 2 different commercial web sites rate them using the
“Accessibility Template for Web sites” (available on the web site).
2. Choose two software applications (either from the list in Appendix B or
another accessibility-related application) and rate using the
“Accessibility Template for Software”.

Part 4: Applied Accessibility - Do as a group
Note: Be certain to leave an appropriate amount of group time for this part!

1. Choose a software application that reads web-pages (such as the free
built in screen reader in Mac OS X or a trial of IBM’s page reader). Choose a member of your group to be your “accessibility tester” and have him or her blindfolded.
2. Decide a simple task for your tester to complete (i.e. look-up movie
times for San Luis Obispo, find a certain book and add it to your
shopping cart on Amazon, etc.)
3. Have the tester use the chosen application to attempt the task.
4. Repeat for every member of the group. You can use the same
application and task for each student, or have a unique set for everyone.
Write a brief paragraph or two answering the following questions:
How easy was the program to use as a disabled person?
What did the program lack?

Part 5: Conclusion - Answer as a group (about a paragraph)
- Assess the current state of accessibility. Are the current guidelines enough? Should more be done to help those with disabilities?
- What does this issue of accessibility mean to you as a developer and
as a member of society?

2. Prepare a 3 to 5 minute presentation for the class. This presentation
should focus on your experiences with using the software as a tester, in
addition to any unique experiences group members might have had with this
issue. Your presentation should conclude with your group’s answer to this
question: “Why does accessibility matter to software engineers?”


Appendix A:
Online Resources Concerning Accessibility:
• Web Content Accessibility Guidelines 2.0 Working Draft
<http://www.w3.org/TR/WCAG20/>
• IBM Developer Guidelines to Software Accessibility
<http://www-3.ibm.com/able/guidelines/software/accesssoftware.html>
• Software Engineering Code of Ethics (especially 1.07)
• Rehabilitation Act (Section 508)
<http://www.section508.gov/index.cfm?FuseAction=Content&ID=11>
• American Disabilities Act – Applying the ADA to the Internet
<http://www.icdri.org/CynthiaW/applying_the_ada_to_the_internet.htm>
• Macromedia Flash and Accessibility
< http://www.macromedia.com/resources/accessibility/flash8/>


Appendix B:
Examples of Accessibility Tools:
• Windows XP Accessibility Tools
- Magnifier
- Narrator
- MouseKeys
• Microsoft Accessibility Tools
<http://www.microsoft.com/enable/guides/default.aspx>
• IBM Home Page Reader
<http://www-306.ibm.com/able/solution_offerings/hpr.html>
• Elinks (Linux only!)
<http://elinks.or.cz/>
• Lynx
<http://lynx.isc.org/release/>
• Xpress It!
<http://www.conchbbs.com/xpress-it.shtml>
• Window-Eyes
<http://www.gwmicro.com>
• Orca (Linux) <http://live.gnome.org/Orca>


SE Code Presentation Handouts From Fall 09

Below are the handouts for the SE Code presentations from class. You may find these helpful when doing your papers.

Section 1

Section 2

Section 7

Section 8

 

Portfolio

Check schedule page


Other Documents and PDF Versions