Home > 2010 Winter BTI420 > Assignment specifications (personal web site)

Assignment specifications (personal web site)

February 11, 2010 Leave a comment Go to comments

The specifications for the "personal web site" assignment are detailed in this post.

 

BTI420 for the Winter 2010 Semester
This is version 1 of this specifications document

If you are plan to do the alternative assignment (personal income tax return preparation), you must contact me. I have not yet written the specifications.

 

Your job

You will use a wide range of ASP.NET features to rebuild and extend your existing personal web site (which is located on the warp server cluster). It will include many of the features we have discussed (and will discuss) in class, as well as some others that you will learn through self-study. The web site that you create can be used as a "showcase" site, which you can show to others (mom, dad, potential employers, etc.).

This is an individual programming project. You will submit this as your own work. It is recognized and acknowledged that you will likely be collaborating with others on this programming project, and that is fine, as long as you end up doing and submitting your own work. (In the process of doing this, you may also find that you are teaching a fellow student something – don’t hesitate to do that, because it helps everyone all around.)

As you know, the BTI420 course introduces you to web application programming for Microsoft ASP.NET platforms. As an introductory course, you learn many things at a superficial level. The idea is to learn a fairly large number of concepts and foundational material that lets you develop a design-and-code approach for more complex applications in the future. This programming project will prove to you and me that you understand the course’s concepts and have the skills to implement them.

 

Learning outcomes

During this project, you will be able to demonstrate knowledge of, and application of, a number of important BTI420 learning outcomes, including:

  • Programming an ASP.NET Web Forms app in Visual C#
  • Implementing a data access strategy
  • User interface design for an interactive application
  • Server security and support for your application

 

Online materials

The BTI420 course web site has an Assignment Information Page that supports your efforts. It includes some of the information outlined here, a link to this specifications document, and additional information that will be helpful.

 

Technical specifications

This programming project will let you create a high-quality and high-value website that showcases you and the information that is meaningful to you. The following specifications list the functionality that must be implemented.

User interface

The following user interface issues must be addressed:

Master pages

Your web site must use master pages to enforce a consistent appearance.

CSS (styles)

Your web site must use styles to govern its visual appearance.

Selective use of AJAX

Your web site must make use of AJAX technologies in selected areas.

Design

Your web site design should be well-designed. You can create a design yourself, or find some external help with this (I will try to find some resources to help in this area). Alternatively, use your accumulated skills to examine existing web sites, and implement some of the design ideas you see from those sites.

Your existing labs

Your existing collection of lab exercises must be part of your web site.

Work portfolio

Create a work portfolio of sample applications and/or related work. Some of your work will be on external servers, so be creative in how you handle this (maybe an introductory page, with a thumbnail of the work, and a link to it). Some other work may be in a non-web format (e.g. C++ assignments), so (again) be creative in how you handle this. If you want to protect this content for authorized viewers (i.e. you, your professor, and potential employers), you can do so.

"Contact me" feature

Include information on contacting you. Also, provide a web form that allows the viewer to send email to you.

Other user interface components

ASP.NET offers a huge selection of user interface components. Your web site must include a number of these, for example, the calendar and ad rotator controls, and/or user controls and web parts, and anything else that looks interesting and useful to you. External bits and pieces, perhaps including a weather control, or a news ticker, can be integrated.

Blog engine

I will attempt to get a full-featured blog engine installed for our use – I will update you on the progress of this. The intention is that the blog engine would integrate with this application, and provide a way to document your thoughts on this programming project, and/or BTI420, and/or other parts of your life. If this doesn’t happen, you will write your own (and I may help by supplying helper classes), or use an existing blogging service, like WordPress or Blogger.

 

Security

You must create credentials for your professor to use on the parts of your web site which require authentication. Send these credentials to your professor by email, and include them in the introduction of your final printed report.

"Show code" feature

You must provide the ability for authorized users (i.e. you, and your professor) to view the markup and C# code for your labs. You will also use an add-on that will produce eye-friendly colourized code.

Resumé feature

You must provide the ability for authorized users (i.e. you, your professor, potential employers) to view and print your resumé. The print feature must use styles (or another technology like PDF) to produce a printer-friendly version.

 

Work with server-based storage and data access (to a database etc.)

Your assignment will enable you to show that you can build a data-driven web site. As a result, you will be using server-based storage, and data access to external resources, including a database.

Server file system file input/output (I/O)

The "show code" feature (above) will obviously use file I/O. You must also use file I/O for uploading content.

Data access (e.g. database)

The ASP.NET Membership credential store will be stored in your database.

The "content viewer" feature (below) must use database I/O.

 

Content viewer – photo album, or media (audio, video, or both) player

The content type that you will be working with will be "digital content". You must implement the functionality for a content viewer.

Include a content viewer feature to your web site:

  • It can be public-access, or private only for authorized users
  • The content viewer can be for photos, or music, or video (remember to follow Seneca’s ITAUP)
  • Authorized users (i.e. you, and your professor) can upload

The content viewer must be integrated with your web site’s pages:

  • The viewer or player must be part of the page
  • Avoid the default behaviour of an external application launch The content must be stored in your database:
  • You will create a database design that works for your feature
  • All digital content will be stored in the database

 

During the project’s lifetime (which will last about two months), it is possible that you will be asked to add a feature or function that isn’t described in this document. Therefore, be prepared for this possibility.

 

How to get started

Well, you have already started. You already have a working web site on the warp server cluster. Therefore, you can just get started on implementing the rest of the specifications.

 

How to approach this assignment and be successful

Think about your project’s design and functionality before you begin coding. Past experience has shown that students who have not thought about the project and who have no overall design will fail to complete the project.

Sketch out your design using whatever methodology is working for you right now. If you use BTS330 and BTS430 techniques, great. If you are using another method, fine. The bottom line is that your success will depend on it.

 

How to fail this assignment (and the course)

If you’re looking for advice on how to fail this assignment, here it is: Wait until a week before the due date, and get started then.

Seriously – I’m not kidding. This approach – waiting until the "last minute" – has resulted in a 100% failure rate in the past five years.

 

Project deliverables and due dates

The project is worth a total of 30% of your final course grade.

You will submit your project for grading as a series of three deliverables. (Actually, I will go looking for your project on, or just after, each due date, and grade it. You will also hand in a printed "report" document on the final April 1 due date.) The following lists the grading value, expectation, and due date for each deliverable:

The first deliverable will be due on Friday, February 19 by 8:00am. (No, you cannot have until the end of the weekend. I will have to do some marking that day and on the weekend, so I’ll need it by Friday morning.)

It will show me your project’s design, by using a number of simple web pages and/or web forms which are linked together using hyperlinks. You will not have a completely functional system by that time, but you will have pages that will simulate your project’s functionality.

It will also include some online documentation about your design and planned functionality. You can use concepts and skills you have learned or are learning in BTS330 and BTS430, and/or in other courses. 

The second deliverable will be due on Friday, March 19, by 8:00am. A detailed grading guide for this second deliverable will be posted on or shortly after the first deliverable’s due date.

The third (final) deliverable will be due on Thursday, April 1, by 4:00pm. The printed "report" document which accompanies this deliverable must be in my hands by 4:00pm on that day (Thursday April 1), because that’s when I am leaving the office. (And no, you cannot submit only a digital version of the document.) A detailed grading guide for the third deliverable will be posted on or shortly after the first deliverable’s due date.

As noted above, the third deliverable must include a printed report document, which will be a "technical reference guide" for your web site. It will document the web site’s design, use, functionality, and some of its programming code. The final project document format expectations are on the assignment information web page. I will also have some examples of past reports available for your inspection.

To summarize, here are the due dates for the three deliverables:

  • Friday, February 19 – linked pages only (i.e. show me your overall design) – 2%
  • Friday, March 19 – basic functionality of the features that you are implementing – 8%
  • Thursday, April 1 – all specifications complete and fully functional, and the printed report – 20%

Please read (again) the BTI420 Policies & Standards on grading (see this page on the course web site). Specifically, make sure you understand the Late Policy for Assignments, which will tell you all you need to know about on-time and late submissions.

 


Advertisements
Categories: 2010 Winter BTI420
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: