Terrapin Project Scope
by Team Optimus
- 1 FEATURES OF PROJECT TERRAPIN
- 1.1 Timetabling of Student Schedules Module
- 1.2 Student Projects/Assignments Preparation Module for Instructors
- 1.3 Student Group Project Reporting Module
- 1.4 Group Project Student Allocation Module
- 1.5 Peer Evaluation Management Module
- 1.6 Create/Upload Code bases to Code Checking System Module
- 1.7 Single Sign-On
- 1.8 Tools for Software Engineering
- 2 Resources & References
FEATURES OF PROJECT TERRAPIN
For this project, our web-based system will address the major pain points highlighted by the instructors.
Hence, the features our system will provide include;
Timetabling of Student Schedules Module
For every start of the term, students are assigned to their project groups. However, this is no easy task for students to reconcile their common timings for supervisor project meetings.
With that, instructors also face difficulties in accommodating students’ meeting needs across various Software Engineering classes.
Our system would;
- Allow the instructor to specify the available timeslots to be released for supervisor meetings with the students
- Allow individual student to enter their timetable and share it with their group members for collation
- Tabulate best fitting for supervisor meeting timeslots vs available student timeslots
- Students would be able to upload their additional contact details (MSN, Mobile etc)
Student Projects/Assignments Preparation Module for Instructors
Before codes are submitted to the server, extensive preparations are required from the instructors to assign code repositories for each student. Our system would;
- Automatically generate list of Code Repositories for each student projects in the server based on team name
- Automatically create deployment folder and allow self-deployment of student submitted projects in the server
Student Group Project Reporting Module
Every group is tasked a major group project during the term as part of the Software Engineering curriculum. These projects are usually submitted to a server where instructors will proceed for grading.
Additional details of the group project development process are required by the instructor to facilitate his marking for each individual student. As such our system would provide:
- Statistics on teams that has submitted their projects
- Usage of Log4j software to do logging - separate log file for each team (real time)
Group Project Student Allocation Module
To ensure consistency of student mix in allocating students in various project groupings, instructors have used criterias such as GPA, nationality, and gender to assign students to groups. This is currently done manually. Our system would allow;
- Instructors to upload a CSV files containing student information into the system
- Instructors to assign weightings to parameters like GPA, nationality, gender
- Allow instructors to specify additional parameters to be taken into consideration, should the need arise in subsequent terms
- Return results of Student Project Groups based on Instructors specified criteria
It is important to note that the algorithm for assigning students will be based solely on the instructors’ specifications.
Peer Evaluation Management Module
Peer evaluation is an important component for students to provide feedbacks on one another’s performance in their project group. However, these collations of feedbacks are usually done manually by instructors via email. Our system would allow;
- Instructors to create student peer feedback reports after vetting and then exporting it to PDF and mailing it to students
- Instructor to randomize the order in which comments come in to prevent students from being able to "guess" who might be the one giving the comments
Create/Upload Code bases to Code Checking System Module
Plagiarism is a serious offence, and the school treats it very seriously. Given the nature of software that comes with massive lines of codes, detecting students’ projects or assignments with similar codes amongst their peers can be a cumbersome process. Hence, our system would allow;
- Instructors to upload students’ code bases to a web service that does checking and comparing of submitted codes for similarities amongst the other submissions
- Return result of suspected code similarities
In addition, our project would also include various project development tools necessary for the Software Engineering course, which includes;
Allows automatic logon capability (similar to SMUVista and Internet Explorer)
Tools for Software Engineering
Bug Tracker - Open Source, using Mantis or Bug Zero components
Subversioning - Includes functionality that allows students to organize and easily manage current and historical version of files such as reports, code and documentation.
Project Collaboration Tools – WIKI, Discussion boards, Document Repository Provides students a channel to write their project progress/thoughts/ideas on a WIKI website and share it with their group members. Document Repository that keeps track versions of uploaded project documentations eg. Project Proposals, Reports etc.
Resources & References
Following are the list of resources that we can look upon to refer during our project implementation for ideas, inspirations as well as a learning resource. As the complexity of project increases, our resource list will be updated and hence this list is non-exhaustive.
- Tortoise SVN - tortoisesvn.tigris.org - TortoiseSVN is TortoiseCVS for Subversion. Enables Subversion commands directly in Windows explorer.
Bug Tracking Tools
- Mantis Bug Tracker - www.mantisbt.org - MantisBT is a popular free web-based bug tracking system. It is written in PHP works with MySQL, MS SQL, and PostgreSQL databases.
- Bug Zero - www.websina.com/bugzero/ - Bug-zero, a bug tracking, defect tracking, and issue tracking tool, a problem and incident tracker and change management system.
- BugZilla - www.bugzilla.org/ - Bug tracking used by the Mozilla projects. Inherently web-based, written in Perl, and uses MySQL as its database back-end. Open-Source.
MOSS – Measure of Software Similarities
- Free Web Service provided by Stanford University - http://theory.stanford.edu/~aiken/moss/ - A system that determines the similarity of Java, C# programs submitted by students.