ASP.net web application project
CIS 3342 Term Project – Part 3 Blackboard Course Management
The final portion of the term project involves implementing the Blackboard Course Management aspect of this application where the course builders will be able to manage their courses and content, and student users will be able to access course content and interact with the course tools. This part of the project will also implement Blackboard administrators who can manage accounts, course creation, and course deletion.
1. Requirements for Course Builders: 1.1. View Courses
The course builder will need to be able to view all Blackboard courses that are owned by the course builder. This list should be displayed on a starting page that is presented to the user when they successfully log-in to their Blackboard account. The user will select a course from this list to access and modify it.
1.2. Create a Content Section The course builder will need to be able to add content sections (pages) to their course that contain content like Word documents, PowerPoint presentations, etc…. A content section is simply a page that acts as a container for content.
Each content section added to a course must appear in a navigation menu that is dynamically built and displayed at all times. This navigation menu will be used by both the course builders and the student users to navigate the content sections and course tools.
Hint: look into ASP Panels, divs, and other server-side container controls to provide this capability.
1.3. Modify a Content Section A course builder will need to be able to add content (Word documents, PowerPoint presentations, and other files) to a content section. Provide a way to delete the content in a content section.
Note: do not allow the user to upload images, audio, and video files for copyright infringement purposes. This project will deal with simple text documents (Word, Excel, PowerPoint, text, etc…).
1.4. Delete a Content Section Provide a way of deleting the entire content section and the content contained in it.
1.5. Course Announcements Section Provide a course tool that allows the course builder to post announcements to the class. This tool can simply display a list of messages in a separate content section. When posting a new announcement, the course builder should be given the option to send the announcement out as an email. Also, provide tools to allow the course builder to modify and delete announcements. Utilize the Web Service you created in Term Project – Part 2 to implement this.
1.6. Course Assignments Tool Provide a course tool that allows the course builder the ability to post assignments. This tool is similar to an announcement except that student users can make submissions for these types of postings. Each assignment posting must contain a description, due date, and a maximum point value used for grades.
1.7. Grade Assignments The course builder should be able to view all submissions for a particular assignment, select a student submission, and assign a grade and comment for the assignment submission. The grades and comments assigned to the assignments will be available to student users through the My Grades Tool (see item 2.4).
1.8. Course Roster Tool The course builder should be able to view all students enrolled in the course, add students, and remove students from a course. If a student is removed from a course, they will no longer be able to access the course and its content. If a student is added to a course, they will able to access the course and its content. A student must already have an account in Blackboard before they can be added to a course. Utilize the Web Service you created in Term Project – Part 2 to implement this.
1.9. Menu Management The course builder should be able to modify the navigation menu used to access course tools and content sections. Provide a way for the course builder to rearrange the order of items in the menu and rename the menu items.
2. Requirements for Student Users: 2.1. View Courses
A student user will need to be able to view all Blackboard courses in which they are enrolled. This list should be displayed on a starting page that is presented to the user when they
successfully log-in to their Blackboard account. The user will select a course from their list of enrolled courses in order to access and view the course’s content.
2.2. View Course Content The student user should be able to view all course content (announcements, assignments, etc…) for a particular course they are enrolled. The user should be presented with the Announcements section and a navigation menu that contains links to the content sections for the course. Also, allow the user to download files that were posted by the course builder.
2.3. My Grades Tool This tool will allow the student user to view their grades on assignments. The grades should be ordered by course. This tool will be available from the starting page presented to the user when they successfully log-in to their Blackboard account.
2.4. Assignment Submission Tool The student should be able to make a submission for each assignment posted in the Course Assignments Tool. The submission process should allow the student to upload a file for the specified assignment. The assignment submission should record the student account making the submission and the file, which the course builder will be able to view and grade (see item 1.7).
2.5. Enroll in a class This tool will allow the student user the ability to enroll in a course. However, the student will not gain immediate access nor will the course show up in their list on the start page until the course builder changes their level of access.
3. Requirements for Blackboard Administrators: 3.1. Create a Blackboard Course
Blackboard administrators must be able to create a Blackboard Course and attach course builders to a particular course. Upon creation of a Blackboard Course, the course builders will be able to view this course from their starting page and modify its content. Blackboard administrators are not course builders; they simply create the course that course builders will own and modify. Utilize the Web Service you created in Term Project – Part 2 to implement this.
3.2. Delete a Blackboard Course Blackboard administrators must be able to delete existing Blackboard Courses.
3.3. Enroll Users in a Blackboard Course Blackboard administrators must be able to enroll student users in Blackboard Courses. After a
student is enrolled in a course, it will appear in the student’s starting page that lists the courses they are enrolled.
4. Additional Requirements This project requires implementing all the concepts learned in class.
Utilize AJAX The web application must make use of AJAX to implement a more responsive web application. You need to come up with a creative way to add this to your web application. You must use it in a different way than the class examples discussed in class.
Custom User Control The web application must utilize 2 Custom User Controls (ASCX) and it must be different from the class examples.
Serialization
The web application must utilize serialization and deserialization to store an object in the database. You need to come up with a creative way to add this to your web application.
Make your site look professional The entire site should make use of images, alignment, and styling to make the site look professional and attractive. You may use CSS, BootStrap, or any other UI design tools to make the site look attractive.
5. Overall Design Requirements
Points will be awarded for various aspects of design which include:
● The Blackboard administrators, course builders, and student users should be presented a starting page after a successful log-in. This page will be the user’s home page that gives them a set of tools and information about their account. The starting page will also display a list of courses they are enrolled and/or a list of courses they own as a course builder.
● A navigation menu should be displayed after entering a course that provides a set of links to each content area/section and tools available in the course.
● Most effective implementation of the steps.
● Good navigation among pages. Requiring the user to use the Browser Back and Forward buttons is extremely poor design. On each page, the users of the application should have every logical option of moving around the site.
● Appropriate Client-side and Server-side validation, with precedence being given to server-side wherever possible. This means you are required to use server-side input validation; you aren’t required to write client-side JavaScript. The application should make use of custom validation controls that are processed on the client-side, but you still need to include server-side input validation.
● Good placement and sizing of labels and controls. For example, you should not place a control with absolute positioning underneath a dynamically populated list (gridview, dropdownlist, etc.). When the control expands, it may cover the control. Another example is leaving extraneous controls on the screen. This occurs when you do not make proper use of visibility.
● Clear instructional labels regarding help the user perform tasks, and clear error messages.
● Good presentation of the web pages in regards to layout and alignments. Make use of CSS, Bootstrap, or any other UI tools to style your pages and make them look professional.
● Each member must contribute an equal amount of work coding the project and designing the GUI for the web application. This means that the one person cannot code the project and another designs the GUI. Each person must contribute equally to both aspects of the project. Members that cannot substantiate their work will not receive a grade on the project. If you are unable to answer questions or fix changes made to your application during a private meeting with me, you will receive a 0 on the project.
Due: See project posting under the Assignments section of Blackboard.
Submission: The submission process is slightly different from the previous projects, so read this section carefully. You
need to publish your web application project to the cis-iis2 web server folder TermProject, update your CIS3342 Home Page, and upload zip file containing the solution with all your code to Blackboard.
*** Your submission must include a written comment with the following information:
● Your partner’s name. ● The URL to the web application’s start page to grade. ● The database account to grade. ● A description of where (names of the pages including the URLs) and how you
implemented the AJAX. ● A description of where (names of the pages including the URLs) and how you
implemented Custom User Controls (ASCX). ● A description of where (names of the pages including the URLs) and how you
implemented Serialization and Deserialization.
Make sure you zip the root folder for your solution into a single zip file and submit the assignment in Blackboard. To submit the assignment, you need to click the Assignment’s Title “Term Project” to view the submission form and upload the file.
Make sure you properly submit your assignment and that it works. Programs that don’t run or don’t contain all the necessary files will not be graded and marked late.
Please be sure to save your work periodically as you proceed and also back it up. You may want to store it on your flash drive. If you are going to zip an application in order to store it, BE SURE TO FIRST CLOSE Visual Studio. If you do store information on your flash drive be sure to copy it to a hard drive on your computer before working with the project.