BIT320 Assignments
November 9, 2005
Project 2 — Requirements
The bottom line on what you need to do for Project 2 and the due dates.
Topics: project2
The second project is intended to give you a chance to implement an Internet-based interface for what you did in Project 1. I am leaving the project fairly open-ended in terms of the mark-up you use to create this interface and the functionality you choose to implement. You could have your interface completely in html or have some of it be in RSS. It's up to you.
I expect most people will use html since that is what we are focusing on in class. As detailed below, I will give 10 points extra credit for successfully implementing RSS. We have no in-class examples of transforming data into valid RSS feeds, necessitating much extra work for people attempting to make this leap.
I also expect most people will choose to implement just a subset of the functionality listed in the requirements below. For instance, they might just implement a number of the reports and an input page, doing the rest as an html mock-up with no functionality. Some ambitious souls might attempt to implement everything.
Those are your decisions. The following are requirements:
- You use XSQL pages to access the database.
- You use XSLT to transform the XML returned by your XSQL pages.
- You create html (or some other kind of) mock-up for the functionality you do not implement
When it is due
On December 13, you will give a preview of your project as an in-class presentation. You need to start the preview by explaining how your project will fit into Denali's current operations. The preview will show the forms and reports whose functionality you have already implemented and outline what functionality you expect to complete by the project due date. Of necessity, the preview will be brief, no more than 20 minutes. Try to make it have as much impact as possible. By 5 PM the day of the final exam (December 20), you will hand in your final project to my office (E2424).
Even in its final form, your project will be a proof-of-concept prototype. You will likely not be able to implement all of the functionality you think you need to. As part of your final deliverable, you need to provide an indication as to why you chose to implement the parts that you did and how they provide a good overview of the system's intended functionality.
What you should do:
- Periodically read this document off the Web to see if it has been updated. I will post anouncements on the web site if this happens.
- Develop XSQL and XSLT pages that implement all or a subset of the following capabilities:
- Pages that you can use to input data (minimum 2).
- Reports based on views (queries) of your database (minimum 4). These may be in HTML or RSS. I will add 10 points to your grade if you successfully implement at least one of your reports in both HTML and RSS. Note, implementing RSS means that you will be generating a valid feed, not just a well-formed. Warning, this is potentially frustrating work.
- Implement some kind of mock-up for what you choose not to implement beyond the minima listed.
What you should turn in (exactly)
On December 13, you will do the in-class preview described. This will be worth 10 percent of the project grade. In the preview, you should show:
- A description of the company and why the project is beneficial.
- At least two implemented pages.
- A final list of the functionality you intend to implement
- A brief discussion of how you are attempting to re-use XSLT templates
By December 20 at 5 PM, you should turn in the following pages stapled together.
- A title page containing your group name (if you have one), the names and uniqnames of the people in your group, the URL of your start page, and "Project 2 in Fall 2005".
- Your XSQL pages. These should use bind variables where appropriate. The pages should include comments documenting what you are trying to do in each XSQL tag (e.g., the following xsql:query tag obtains the client's past history...).
- Your XSLT stylesheets. These should be commented like the XSQL pages. I will judge these based on two criteria: 1) the extent to which you are able to effectively re-use templates in similar situations; 2) Your use of templates to dynamically create form elements and other page features instead of just statically coding these in. XSQL2 gives examples of the kinds of re-use I am looking for.
- html (or other) mock-up of the functionality you choose not to implement. You should hand in each html page.
- If you implement RSS, you must provide proof that your feed validates. At the minimum, I will expect it to load in the Sage feedreader we have been using in class.
- A "show all tables and columns" report detailing the Oracle tables and views you are using for Project 2. This report should not list any extraneous tables or views that do not relate to the project.
- A write-up of no more than three pages describing Denali, stating the value Denali could derive from your project, and justifying the choice of functionality you implement.
Groups
You are free to form your own groups. You may stick with your groups for Project 1 or alter them.
Strategies for Succeeding in This Project
Obviously, you will get more credit the more functionality you successfully implement. However, there are trade-offs. Attempting to implement more functionality may mean that you skimp on re-using XSLT templates and documenting everything with comments.
Therefore, people who attempt to implement everything may receive lower grades than those who selectively implement.
My advice on how to proceed is to first lay out the pages you think would be required to implement all of the functionality you need. Then pick a small number of pages you think you know how to do and try to implement them. You will encounter problems. Figure out how to fix these problems. Once you succeed at implementing the first small group of functionality, decide if you have the time to implement more given all of your other commitments.
Some people may find they have bitten off more than they can chew. If this is the case, cut back on the functionality and focus on quality.
The bottom line is to sacrifice scope for quality. Use your three-page memo to justify your decision.
Bud last edited this November 9, 2005 | Permalink | Comments (0) | TrackBack (0)
September 20, 2005
Project 1 — Requirements
A description of the problem at hand and requirements for Project 1.
Topics: project1
Overview
This year in BIT320, we will work on a database for Denali Flavors, located in Grand Rapids, MI. John Nardini, Senior VP of Marketing has been kind enough to consent to visit our class and provide us with a course project.
Dead-lines
- September 29: Presentation by John Nardini. You should be prepared with questions based on this document.
- September 30: The names of your group members.
- October 26, 5 PM: The deliverables listed in the next section.
Requirements at Denali Flavors
Here is how John Nardini describes the requirements at Denali Flavors:
Since Moose Tracks comes in a wide variety of brands (Dean's Moose Tracks, Stroh's Moose Tracks, Kroger Moose Tracks, etc.) and our distribution varies from one SKU to six in any given market, it's often hard for consumers to locate our product. Therefore, we get a lot of requests for "where can I find Moose Tracks in my area".
At the current time, the response to this is a manual process. They email me, I find the answer and email them back. Instead, we'd like to automate the process.
I'd like a database where a consumer could go to a web page and type in his zip code. Potentially, they could even select which Denali brand they wanted to find (or we could limit this to just Moose Track for simplicity). Then the database would return with 1) a listing of the local retailers where the product can be found (Meijer, etc.), 2) the brand name(s) the product is under (Dean's Country Charm, etc.), and 3) a picture of what the package looks like. (We can edit out part 3 of this if we need to -- it may get too complicated with it in).
If we get this output, the consumer should be able to find the product on his own.
One complication: the US has a ga-zillion markets. We were thinking of limiting the market list to the 52 major markets tracked by AC Nielsen, then assigning any zip code within 20 miles (or whatever number we like) of that city to that city's answer for retailers and brand names. This will be fairly accurate, but we'll want to say something like "if you have these retailers in your area, you can find the product in these brands" rather than make a more definite statement "you can find these brands at these retailers in your area".
Deliverables
By 5 PM October 26, you need to have turned in the following in the order listed:
- A one page double-spaced description of Denali Flavors based on what you understand. The names of your group members should appear on this and the first page of all subsequent attachments.
- A three page double-spaced description of the functions your database will perform for Denali Flavors. This description should include a statement about how the functions are currently performed and why the database will be an improvement. I expect this document to be a refinement of the requirements John Naridini has provided. It's a statement in your own words of how you understand the issue at Denali Flavors and what you intend to do about it.
- An E-R diagram, with no fewer than 12 entities, that shows the design of your database. This design should be compatible with your description of how the database will be used.
- In functional notation, the table structure of your database. Indicated foreign keys using a dotted underline. The tables must be in 3 NF.
- A hardcopy of SQL scripts that are used to create your database, fill your database with data, and drop all tables and views from your database. It is critical that the E-R diagram, tables in functional notation, and these SQL scripts tie. That is: What I see in the E-R diagram should be reflected exactly in the functional notation which should in turn be reflected exactly in the SQL scripts. In particular, make sure to include all primary and foreign key constraints.
- A hard copy of the SQL that implements five views of your database. Three of the views must use at least three different tables to generate their results.
- A zip file submitted through coursetools containing electronic copies of all the SQL hardcopies I requested. The scripts to (1) create the table structure, (2) populate the tables, (3) create the views, and (4) drop the tables and views should each be in a separate file (i.e., you should submit 4 files in the zip file).
- In your coursetools submission, also include the user name and password of the Oracle account where the functioning version of your database resides.
Details
You must work in groups of no more than 4 people and no less than 3 people. There are no exceptions.
Your database needs to be for Denali Flavors, and you need to be very careful to define what you have done for them.
Bud last edited this September 20, 2005 | Permalink | Comments (0) | TrackBack (0)
September 15, 2005
Making tagging work better
This post contains the consensus on the tags we have come up with for certain class topics.
Topics: remixing
Today in class, we discussed how to make tagging work better. Basically, we want to achieve two goals:
- Identify conversations, so that people can track questions and responses.
- Have a usable archive for later reference.
- For class questions, use the tag classquestions plus another tag to indicate the specifics, for instance normalization. The tag classquestions is the big cue that you are talking about class. As time goes by, we will likely add more general tags like troubleshoot for software problems.
- For topics others bring up and you want to respond to, use that person's topic. That way, they will know you are specifically posting on the area they are interested in, and you can continue the conversation.
We identified the following two solutions:
Bud last edited this September 20, 2005 | Permalink | Comments (0) | TrackBack (0)
September 7, 2005
Creating and using a blog account
Creating a blog account and writing posts is almost as easy as creating and using a del.icio.us account. However, blog posts are more in-depth and complicated, so you have to do a little bit more.
Topics: remixing
Creating and using a blog account is slightly harder than creating a del.icio.us account, but only slightly so. We will be using an experimental version of the WordPress publishing platform called WordPress Multi-User. WordPress is an open source publishing platform that is highly popular among the budget-minded. One key thing is that I have found is that this highly experimental version of WordPress functions best with firefox, and I highly recommend downloading and using that.
The first thing you need to do is go to this URL: http://high-octane-blogging.org/wp-inst/wp-newblog.php. The instructions are pretty self-explanatory. Your blogs URL will be: http://USERNAME.high-octane-blogging.org. You need this for the coursetools assignment. I have provided this screenshot to help answer any questions:
After you create a blog, you will receive an email with your log-in credentials. Click on the link to log-in. You will see something resembling this screen:
As I mention in the screenshot, we need to modify some settings for Users and Options. For Users, we need to add some naming information so that you will appear as someone other than administrator when you post. Here's a screen shot showing what to do:
Now, we need to fix the timezone your blog thinks it is in. That is under Options > General. We are currently 4 hours behind UTC (that will change in October). I should point out that this setting change may and may not work, but it is worth the old college try. Here's a screenshot showing what to do:
Now, it is time to start writing blog posts. That can be achieved by going to the Write section once you log into the blog. Wordpress has bookmarklets like del.icio.us, but they are specific to your particular blog, so you can really only use them on your own computer. Here's a screen shot that shows the fields you will use in posting. Remember, always use categories, always link, and trackback whenever you can.
You are ready to start blogging. Don't forget to fill in the coursetools assignment.
Bud last edited this September 7, 2005 | Permalink | Comments (0) | TrackBack (0)
Creating and using a del.icio.us account
Creating and using a del.icio.us account is easy.
Topics: remixing
Creating a del.icio.us account and using it is easy. First, go to this URL: http://del.icio.us/register. Then, fill out the form as I have indicated in this screenshot:
Once you have your del.icio.us account, you can post to it using bookmarklets. Bookmarklets and instructions for using them can be found at this URL (once you have logged in): http://del.icio.us/doc/about. You can also post without a bookmarklet from this URL: http://del.icio.us/post/. If you do that, you will want to fill out the fields as I show in this screenshot:
Once you are done creating a del.icio.us account, complete the del.icio.us assignment on coursetools.
Bud last edited this September 7, 2005 | Permalink | Comments (0) | TrackBack (0)
How to participate in the class remix
This post summarizes the rules for participating in the BIT320 Fall 2005 class remix.
Topics: remixing
The class remix engine will officially run from 12:01 AM Sunday, September 11, 2005 through 12:01 AM Tuesday, December 20, 2005. At any point in the semester, students may fall up to one week behind in their participation without penalty. My best advice is to just do a little every week day that you can. The more you do it, the more you will like it and get out of it. I will grade based on quantity and quality.
If you’re still reading this, you’re wondering how to best participate in the class so that you can maximize points allocated on the basis of class participation. Only class participation that takes place in the remix site counts. A key element of this class is that we have created our own remix site to understand an emerging, important phenomenon in information management for large and small organizations. To really understand, we gotta do.
My goal in assigning 36 out of 100 possible total course points for class participation is to motivate you to get on-line, do it, and pay attention to it. There are some simple to-do's that will help you get good credit for participating in the remix:
- Blog posts. You get credit for contributing knowledge in the form of relevant questions, answers, and observations.
- Make five one-paragraph posts per week. A paragraph is at least three sentences organized around a single thought. You may write more.
- Have at least one link in each post. You may link to a syllabus entry if you are talking about a class issue. You may link to another participant's blog post. In short, you may link to any relevant web resource.
- Assign at least one category per post. Categories are also called tags and consist of one word that summarizes the post's content.
- Trackback whenever possible so people will know you are discussing topics they have covered in their posts.
- Social bookmarks. You get credit for bookmarking and tagging relevant resources in your del.icio.us account.
- Bookmark ten relevant items per week. Include the title of the item in the description field. Include a short one line description in the extended field.
- Bookmark any relevant item. These may include other participants' posts, other bloggers' posts, news items you find on the web.
- Assign at least one tag per bookamrk. Tags are like blog post categories and consist of one word.
- Do not bookmark other people's bookmarks. It just does not make sense.
Bud last edited this September 7, 2005 | Permalink | Comments (0) | TrackBack (0)






