Exercises - CSC 4700 Software Engineering

CSC 4700 Software Engineering
Spring 2012
Dr. Joyce
  1. Reflections
    Assigned 1/19
    Due Thursday, 4/26
    75 points (separate from other exercises)
    You will keep a reading reflection "diary". I will let you know which readings are included in this. For each reading included you must write a short (one paragraph, three or four sentences) summary, and then a second reflective paragraph. The reflective paragraph should contain your opinion about the reading, and can also include questions raised, insights, whatever. When you submit this diary at the end of the semester you will include a list that shows all the readings, ordered from your most favorite to your least favorite. Note: I can ask for you current, up-to-date diary at any time during the semester. I probably won't though, but keep it up-to-date.

  2. Opinions
    Assigned 1/19
    Due by midnight, Tuesday, 1/24, email allowed
    10 points
    Read the Brooks article "No Silver Bullet". Dr. Brooks includes many "opinions" in his article. Identify one that you believe is insightful and one that you disagree with. Explain the reasons for your choices. You should use no more than 500 words.

  3. Extended Questionnaire
    Assigned 1/19
    Due Thursday, 1/26, at start of class
    10 points
    Download the "extended" Questionnaire from the course web site, edit it so that it includes your responses. Your answers do not need to be completely polished - for the most part simply answer in a straightforward, "extemporaneous" manner. Nevertheless, keep it organized, clear, concise, interesting, and as complete as possible.

  4. Specification Critique
    Assigned 1/26
    Due Thursday, 2/02, at start of class
    40 points
    Your task is to critique the specification handed out in class. Mark it up. Imagine you are the technical writing and/or software engineering teacher and this spec was submitted by a student. Mark it up for return, hopefully using red ink! Be thorough but you don't have to go crazy. So indicate all the problems that you see that you consider "major". Consider what we discussed about technical writing and about software specifications. Note that this exercise is worth 40 points. It is an important exercise and I expect you to do it carefully, spending an hour or two working on it.

  5. Project Introduction
    Assigned 1/26
    Due by midnight, Tuesday, 2/07, use email
    Part of team project
    Send me a Powerpoint file that contains two slides introducing your team and your project. The first slide must include your team name, your team members names, and your project name. The second slide must introduce your project, in outline form. Your team will use these slides to introduce your project to the class, so the slides do not have to be self-explanatory .. you will be verbally explaining them.

  6. Success Factors
    Assigned 2/2
    Due Thursday, 2/9, at the start of class.
    10 points
    Read the article "Critical Success Factors in Software Engineering". John Reel lists and describes several factors that he feels are critical to the success of large software development projects. Write a very brief summary of the article, followed by a list of two "other' factors that you feel are critical to the success of a software development project. If you can't think of two such factors you may, instead, describe factors that are critical to the success of a student in college. For each of your factors be sure to both describe it and explain why it is important. Your entire report should be about one page long.

  7. Project Specification
    Assigned 2/9
    Due Thursday, 3/15, at the start of class
    Part of team project
    Hand in a specification document for your team project. The project should be specified by your team at about the same level as was used in the Learning Pairs specification. The document should be printed single sided, and not stapled. This document may be shared with your classmates.

  8. Presentation Proposal
    Assigned 2/9
    Due Thursday, 2/16, at the start of class
    Part of presentation project
    Hand in one or two proposals of no more that one page each, single sided, about your presentation project. Describe your topic. Explain why it is valuable, why your classmates should learn about it. The idea is for you to instruct/inform us - and for us all to learn about the wide variety of tools and techniques available. Demonstrations are encouraged, but not required (in fact sometimes demos can be problematic in a short presentation). If possible at this point, outline your approach. Up to two students may work together on a presentation.

    Note: There is no reading assignment this week. There is no quiz next week. Therefore I expect that you can put some time and effort into identifying and organizing your ideas about the presentation project. I expect your proposal to be well considered.

  9. Learning Pairs Design
    Assigned 2/23
    Due Thursday, 3/15, at the start of class.
    20 points
    Design an API for one of the five exercises that are to be provided by the Drill System of the Learning Pairs system. Do not worry about the user interface. Just identify the public methods, their interface, and a description of what they do, under the assumption that whatever system component is using the API will handle the user interface. For example (and I am not saying this is a good idea or not) for the Hangman game a potential public method is:

    public boolean wasGuessed (char c)
    //
    // returns a boolean indicated whether the char c has already been
    // guessed in the current game

    You could impress everyone by handing in a compiliable report (although I do want paper copies ... not email attachments ... at least for now).

  10. Project Design
    Assigned 2/23
    Due Thursday, 4/26 or 5/03 or 5/10
    Part of team project
    Hand in an architectural design for your team project. Hand in a user interface design for your team project.

    Amended 5/20 - You do not have to complete a formal Architectural Design. In fact I would prefer more of an informal desogn "plan". Three to six pages describing how you would design the system .. what ideas do you have for the major components .. include a sketch or two of any important user inetrface. I want you to show me you have thought about this intelligently, but you do not have to do a full fledged design. I would also like this to be a TEAM effort.

  11. Specification Critique II
    Assigned 3/15
    Due Thursday, 3/22, at start of class
    20 points
    Your task is to critique the specification you received tonight in class. Mark it up. Imagine you are the technical writing and/or software engineering teacher. Mark it up for return, hopefully using red ink! Be thorough but you don't have to go crazy. So indicate all the problems that you see that you consider "major". Consider what we discussed about technical writing and about software specifications. When finished assign it a grade of "excellent", "very good", "good", or "ok". Also write your name at the top of the page.

  12. Personal Private Project Post Mortem
    Due Thursday, 5/10, at start of class .. or earlier!
    20 points
    One one page briefly describe your experience with the team project this semester. List what you and/or the team did well, and what you and/or the team could do better, or maybe just differently, if you were starting over. At the end of this brief report list the three members of your team and briefly describe/critique their contribution to the project.