Assignments

Tech Talks

Each team is to give a 30 minute presentation on a technology that they are using in their project. If there is no appropriate technology, the team may choose a technology that they find interesting. The time limit will be STRICTLY enforced. There will either be two presentations in a class period. Your presentation should explain the technology, why it is important and interesting, and what are the most applicable uses. Include information about what problem it is solving and what technologies, if any, it is built on and are replacing. You are also to identify resources that classmates can use to learn more about the technology.

Topics

The topic of the presentation may be a language, library, framework or platform. The scope may be the complete technology or a particular aspect of it. For example, there are a lot of different and interesting aspects about the Android SDK or HTML5 and it would be appropriate to cover only a specific piece. Here is a list of possible topics. It includes many that I know teams are already using, but it does include others as well.

Presentations

You should be ready to answer questions from the class. My hope is that the presentation will engender a discussion about the value and importance of the technology. The presentation is expected to engage the class as well as teach the material. You will be graded on both style and content. Grading will take into account my evaluation of whether the class is absorbing the information.

All members of the team MUST present. Presentation must include visuals of some form: presentation, web sites, demos are all acceptable. If you choose to use a video, it must be short and to the point. Reference material for the class must be provided; this may be part of the presentation material.

Preparation

Each team will review their presentation with me at the regularly scheduled team meeting preceding the presentation. At that time, I expect a clear outline of what will be discussed and who will be presenting the material. I prefer to have visuals available at that time as well.

Due: September 20

All that is due today is the topic that you would like to cover. Please give me a prioritized list of the topics that you would like to cover (2 or 3 at most). If you know that no other team is using a technology, one is sufficient. I will expect a single email from each team. I will make the assignments, including dates, over the weekend; note that dates are subject to change as I continue to schedule outside speakers.

Presentation Tips

Functional Spec Review

The purpose of this assignment is to have teams read another functional spec and consider it from two points of view: what they find good and bad about the spec and what they can learn about improving their own spec. Teams will be paired up (see next section) and go through the following steps:

  1. Review the other team's spec
  2. Discuss with teammates what is good and bad about the functional spec. Could you build the product from that description? What is there to learn about improving your spec?
  3. Share your observations with the other team. You can do this with a meeting or by email.
  4. Based on this echange and further discusssion amongst the team, post changes that you will make in a journal entry.

The assignment is to be completed by end of day Wednesday, October 2.

Team Pairings

Open Data NC Q/A Site
Tarheel Reader Tester S A I
NodeSpace RPSTIR
JonesBoard UNC Mobile App
Tutoring Schedule MyHealthEd
I V I Beginning Braille App

Essay 1

Due: Wednesday, October 23 at 8 a.m.

No late assignments accepted.

A user interface consultant by the name of Jared Spool, proposes that there are three questions that can be used to identify a successful user interface team:

You are to write a cohesive essay of 2-3 pages that explains why the user experience is a key determinent (though certinly not the only one) of the success of a software development process and how the three different software engineering models -- Waterfall, Spiral, and Agile -- help or hinder these three factors. A quality paper will include references to external sources.

Please submit your essay on Sakai.

If you need resources to remind you of the details of the three models, I recommend the following papers:

Essay 2

Due: Monday, November 25 at 1 pm.

No late assignments accepted. Dr. Brooks will be speaking that day and he is assuming that you have read the book.

Don't be intimidated by the fact that this is a book. It is the easiest technical read you will ever be assigned. It is also available free online. There are two version of the book out there: the original version and the 20th anniversary edition. The first 15 chapters are the original version. The 20th anniversary edition has added chapters 16 through 19 and are definitely worthwhile. Here are two links to copies of the second edition, but you probably can find it in many other formats and locations as well.

This book was written 40 years ago about a project that was run 50 years ago using the waterfall method, yet it is still one of the most widely read software engineering books. You are to write a cohesive essay of 2-3 pages that explains why. More specifically, you are to discuss what are the characteristics that are relevant independent of the software engineering process in use and the types of platforms and users targeted. Recall that Mythical Man-Month was written about mainframe development when only "professionals" used computers. Today we are on a much stronger consumer-based environment and now the cloud. Consider these differences as well as the process differences. You are to justify your answers with specific examples of different processes, platforms, and target audiences.

If you choose to read what others have said, you are welcome to do so, but you must reference them properly. If you are giving someone else's views, credit them.

Please submit your essay on Sakai.