This project involves the development of a web application student project allocation system for use in an academic institution. It is based on an existing program which was recently developed at the University for Development studies for project allocation at the department of Computer Science. This existing system takes students list and allocates supervisors to students. The new system uses the same optimization procedures in a more general setting, allowing academic administrators to manage supervisor and project allocation. Thus, the focus of this project is not on the optimization of algorithms, but rather on generalizing, re-designing and re-engineering the existing system which will result in a flexible and easily re-configurable system for use in a variety of university settings. The application is secured so only the people responsible are allowed to perform the allocation and to view the sensitive data. The front-end enables the administrators to configure the system in response to changing project regulations and assignment desiderata. The system can also be used as a reporting tool regarding project and allocation details. The system is able to check duplications by disregarding repeated data but allows different students from different supervisors take the same project topic at a time. The system was tested using data that simulate actual real-time use after its completion.
LIST OF FIGURES
1.2 STATEMENT OF THE PROBLEM
1.3 OBJECTIVE OF THE STUDY
1.4 SIGNIFICANCE OF THE STUDY
1.5 SCOPE OF STUDY
1.6 LIMITATION OF STUDY
2.1 LITERATURE REVIEW
2.1.1 RESPONSIBILITIES OF THE SUPERVISOR
2.1.2 RESPONSIBILITIES OF THE STUDENT
2.2 RELATED WORKS
3.1 SYSTEM DEVELOPMENT METHODOLOGIES
3.2 TOOLS AND TECHNIQUES
4.1 DESIGN AND IMPLEMENTATION OF THE SYSTEM
4.2 SPECIFICATION ANALYSIS
4.2.1 Hardware Requirements:
4.2.2 Software Requirements:
4.3 DATABASE DESIGN
4.4 SYSTEM DESIGN ARCHITECTURE
4.5 SYSTEM SCOPE
4.6 SYSTEM USAGE SCENARIO REPRESENTATION
4.7 USER INTERFACE DESIGN AND USAGE
4.7.1 LOGIN PAGE
4.7.2 THE HOME PAGE
4.7.3 STUDENT UPLOAD PAGE
4.7.4 UPLOAD PROJECTS
4.7.5 UPLOAD SUPERVISOR
4.8 SYSTEM TESTING AND EVALUATION
Figure 4. 1 – Table of database
Figure 4. 2 – Flowchart of the student allocation system
Figure 4. 3 – Use case diagram of the student project allocation system
Figure 4. 4 – Login page
Figure 4. 5 – Home Page
Figure 4. 6 – Student Upload Page
Figure 4. 7 – Upload Projects
Figure 4. 8 – Upload Supervisor Page
Colleges, Universities or any Educational Institutes conduct projects for the better understanding of the practical approach towards the subject in the real world which involves a lot of tasks like abstract or synopsis evaluation, thesis correction and updating the proposed module with assigned supervisors. In many tertiary institutions in the country, students seek a project in a given field of specialty as part of the upper level of their degree program. Usually, a project can be filled by at most one student, though in some cases a project is suitable for more than one student to work on simultaneously. To give students something of a choice, there should be as wide a range of available projects as possible, and in any case the total number of project places should not be less than the total number of students. Typically, a lecturer will also order a number of projects but does not necessarily expect that all will be taken up by students. Each student has preferences over the available projects that they find acceptable, whilst a lecturer will normally have preferences over the students that he or she is willing to supervise. There may also be upper bounds on the number of students that can be assigned to a particular project, and the number of students that a given lecturer is willing to supervise. With the advancement in file saving and file retrieval system, an institution cannot afford to be ignorant of the basic tool, which is the driving force behind technological oriented administration. A lot can be achieved if an institution should have a well-organized management system. Students project can easily be allocated to each or group of students without the problem of delayed project allocation from the supervisor or conflict of topic between two individuals or group of students in the same department. Students update can be easily accessed if the database system is enhanced. This project considers the ways of allocating student project in the university.
The traditional way of allocating project to students in our higher institution need to be reconsidered since project or research writing is sensitive aspect of student education in the higher institution. At the beginning of graduating semester, the students are required to write project on their field of study as part of a requirement to complete the academic studies. Each student is allocated to a supervisor who will supervise the academic project to enhance correctness and academic acceptability of the project work. Normally in some institution, the allocation of students to the supervisor is done by the head of the academic department or the project coordinator. Before now, students have to go out and get project topics themselves for approval by their respective supervisors. This system made project writing look more or less like a class assignment which does not require an extra effort to complete rather an issue of copying.
- To automate the traditional process of the manual work involved in the project management.
- To provide a recommendation for the topics to be selected for the project.
- To provide a well-organized platform to maintain all the history of the project tasks.
A Project is a temporary endeavor undertaken to create a unique product or service. Projects provide a flexible framework for engaging students in exploring curricular topics and developing important 21st century skills, such as communication, teamwork, and technology skills. In addition, students are motivated by the fun and creative format and the opportunity to make new friends around the world. For example, teachers use a school portal for easy and quick management of student accounts and review of project work.
The research centers on the design and implementation of Student Project Allocation for monitoring duplication in the department of computer science at the University for Development Studies for use in the computer science department.
The two major limitations of this study are the time limits within which the study is expected to be completed as well as financial constraints. The time constraint prevents the researcher to have an in depth study and analysis on the subject matter. While the issue of financial constraint limits the frequency of investigation from the institution toward gathering the necessary information relevant to the study.
In the modern age that we live in, rapid changes in information and communication technologies (ICT) have become common in every field of our lives. The tools and materials that we use in our daily lives change almost daily. Teaching and learning are two dimensions of the academic world and both depend on lecturers’ capabilities, therefore, an effective lecturer has been conceptualized as one who produces desired outcomes in the course of his duty as a lecturer. Upon the observed deterioration in the academic accomplishments, attitude, and values of students, one therefore wonders whether the high failure rates and the poor quality of the students are not a reflections of the teaching quality or lack of lecturer’s competencies.
Matzler & Woessmann (2010) studied the relationship between lecturer competencies and students’ outcome and discovered that the teaching quality was directly related to students’ achievement and it was very important for lecturers to adopt strong teaching competencies in order to deliver quality teaching. One of the lecturer competencies they specifically mentioned in their study was lectures subject knowledge because without having subject knowledge, the lecturer is unable to comprehend the students with relevant knowledge and skills required for that particular subject. Therefore, the subject knowledge is essentially important for lecturers so that students could meet the desired learning outcome and become satisfied with their learning.
Resource allocation is the distribution of the available resources in an economical manner. The allocation of a project is like a subset of the resource allocation problem. The allocation of projects should be done fairly for both the lecturers and students. The resources are the projects, students and academics. The same academics act as both supervisors and examiners but for different projects. Lecturers must perform a variety of tasks in the process of teaching, example, provide a structure of the course contents, give feedback of accomplishments, stimulate students’ motivation to process and reflect on the content, and assist them to engage in learning activities (Brophy, 2001). Interaction between student and lecturer supports motivation, knowledge construction, and the establishment of a social relationship. The exchange of information regarding educational content as well as socio-emotional information is important for learning (Johnson et al., 2008; Paechter & Schweizer, 2006; Richardson & Swan, 2003).
For every undergraduate student of the University for Development Studies (UDS), a final year project (FYP) which has to be taken. Any project undertaken carries six credits and reports must be submitted for marking. Every year, the computer science department in the university experiences problems in allocating projects to final year students. These problems are mainly due to the fact that year after year, the number of students keeps increasing which leads to an increase in the complexity of the allocation of the projects. There are also constraints such as supervisors’ workload which plays an important role in the allocation of projects. All supervisors should have more or less the same number of projects to supervise. The lecturers need to propose a certain number of project topics for all the three programs.
According to Augustsson and Jaldemark (2012), the supervisor(s) shall monitor, support and direct the student’s work and progress soon after the allocation of project/dissertation titles. The responsibilities of the supervisor include:
- Proposing/supervising projects/dissertations in their own subject area.
- Setting a framework for regularly scheduled progress meetings between supervisor(s) and student.
- Providing advice on issues of plagiarism, in line with the university’s regulations.
- Briefing the students and apprising them of the regulations pertaining to the final year projects/dissertations.
- Giving frequent feedback/comments on progress achieved by the student.
- Giving guidance on the approach for the appropriate analysis of data obtained, interpretation and presentation of results (if applicable).
- Assisting in the identification of a research methodology, planning and execution of the research project (if applicable).
- Giving guidance about the formulation of an appropriate hypothesis-driven research project and focusing on the objectives of the research (if applicable).
Throughout project/dissertation work, the students are to seek advice, comments and guidance from his/her supervisor(s) on the nature of the project/dissertation work and standard expected. Students are also advised to keep a notebook for the purpose of the meeting with the supervisor(s) while the supervisor(s) may wish to keep a brief record of each meeting held.
Bouki (2007) and Augustsson (2012) highlighted the responsibilities of the student to include:
- Responding to the supervisor’s suggestions and/or criticisms on his/her work and progress; Following all laboratory safety guidelines (if applicable).
- Bringing to the attention of the supervisor(s) any problems (academic and personal) associated with progress.
- Discussing the layout of the final dissertation with the supervisor(s) prior to the writing-up stage.
- Arranging with his/her supervisor(s) mutually agreed convenient times to discuss progress achieved (in the event that meetings are not possible, e-mails or other forms of communication may be used).
Despite all efforts, many supervisory issues appear at any stage of the project lifecycle. For instance, the supervisor may face challenges to help his students controlling and conducting their research or projects independently with minimum assistance and interference. In other circumstances, supervisors find difficulty in building the students’ autonomy, reflection, motivation, and self-initiative to control their projects. The project module provides the students the opportunity to design, undertake or conduct an independent piece of research or study related to their program of studies under the guidance of a supervisor, who is normally a member of the academic staff (full-time or part-time). Other qualified supervisors may also be appointed subject to approval by the Head of Department and Dean of Faculty.
A system called ProjectList was proposed by Loughborough University, UK. This system was intended to first manage easily a large list of dissertation projects, allocate them to students with minimum overhead by avoiding as much as possible manual solutions that frequently involve multiple documents and spreadsheets, flurries of emails, and lots of fiddly details to keep track of. It also aimed at simplifying the supervision process and bring everything together in a single place by easing remote accessibility to academics and students at any time or place.
The Case Study of an Online Assignment Submission at UOM by Ramnarain-Seetohul (2012) explained how the assignments given to the students can be managed online. The system also showed the graph of the feedback given to that system that how friendly it proved by the students as well as the teachers.
The article titled “Web Based Student Information Management System” by Bharamagoudar et al., (2013) describes that how the maintenance of the record of the students’ information can be done easily at one place thus giving an idea about maintaining all of the project related tasks at one single page. Also, it tells about maintaining the progress report of the students based on their work performance.
A Multi-Objective Approach for the Project Allocation Problem by Pudaruth et al., (2013) describes that the system performs allocation of the project as well as allows academics to rate the projects. The project captured the preferences of examiners as well as students and allocates projects to them in order to maximize the number of students who get their first choice in their preference list.
Kazakov (2001) explains that supervisors have to submit a list of their proposals in a structured format to the secretarial staffs. A document with all project titles is then provided to students to take from. Students are allowed to meet the supervisors and discuss the projects later in the year. During these meetings, the supervisor elaborates on the skills required for the particular project. The final decision of selecting the project remains entirely on the student after taking advice from the supervisor. Since it is almost impractical for a supervisor to meet all the students twice, the allocation is normally done on an early attendance basis even though the student may not have all the appropriate skills for the project.
The design of a system starts with incorporating all of the data and procedures into functional program design. The researcher adopted a developmental research approach that considers design, development, evaluation and implementation. In connection with this, the throwaway prototyping software development methodology was used and some of their schemes are discussed below.
- Planning: This is the fundamental phase that considers why a student project allocation system should be built and how the developers are going to tackle the various tasks in terms of project initiation and/or management.
- System Design: The goal of the design phase is to transform the requirements specified into a structure most suitable for the implementation in a particular programming language. The inputs from users and information gathered in requirement gathering phase are the inputs of this stage. The output of this stage comes in the form of the logical design and/or physical design.
- Coding: This step is also known as programming phase. The purpose of coding is to transform the software design into source code using a suitable programming language and developing error-free executable programs efficiently.
- Testing: An estimate says that 50% of whole software development process should be tested. Errors may ruin the software from critical level to its own removal. Software testing is done while coding by the developer and thorough testing is conducted by testing experts at various levels of code such as module testing.
The prototyping model involves building a prototype before building the actual software. The prototype displays the functions of the product but may not actually hold the logic of the original software.
It provides scope for understanding customer requirements at early stage and then proceeding accordingly. Also, errors can be detected much earlier. This model is used for applications which tend to have a lot of user interactions.
The programming languages used in the development of this system (as mentioned in the coding phase above) include;
- PHP and MySQL: PHP is the language used to make the server generate dynamic output, output that is potentially different each time a browser requests a page making it easy to connect to and manipulate databases. MySQL however is the most popular database system used with PHP. A free, open source and cross-platform web server solution stack developed by Apache Friends, that has interpreters for scripts written in the afore mentioned languages hence made it extremely easy for the researcher to create a local web server for testing and implementation purposes.
This project is aimed at developing a web-based system, which manages the activity of “Student Project Management”. This system will manage the database and maintain a list of all students registered in the department. Allocation of a project will be done by lecturers registered in this system through a list of topics in the department database organized by the department board. The system design is based on three-tier architecture. The three-tier (layer) is a client-server architecture in which the user interface, registration process and data storage and access are developed and maintained as independent modules or most often on separate platforms.
The student allocation system is designed to run on a computer system with the following hardware and software requirements:
- Desktops or notebooks computer system AMD or Athlon, Intel Celeron, Pentium II/III /IV and above.
- Minimum of 512MB of Random Access Memory (RAM)
- Minimum of 20GB Hard Disk Capacity
- Windows Operating System Platform (Win2000, WinXP, WinVista, Windows7/8/10)
- PHP Setup Software
- My SQL Setup-e.g. XAMPPSERVER Setup
- Google Chrome, Mozilla Firefox, Opera or Internet Explorer 11.
The relational database model was used in the design of the database for the system. The basic concept behind the relational model is that a database consists of a series of unordered tables or relations. It is flexible to reduce ambiguity of the information used in the system which has been divided into appropriate sets of normalized tables. The benefits of a database designed according to the relational model are:
- Data entry, updates and deletions will be efficient.
- Since much of the information is stored in the database rather than in the application, the database is somewhat self-documenting.
- Since the database follows a well-formulated model, it behaves predictably.
- Data retrieval, summarization and reporting will also be efficient.
- Changes to the database schema are easy to make.
Figure 4. 1 – Table of database
The above table shows the various tables in the database. The most organized table in terms of normalization is the student table since this is where every information about students are stored. The attributes in this table are arranged in relations based on dependencies, dependencies that ensure proper database integrity constraints.
The auth table stores information on the admin during login while the project table stores all information about the supervisors and the topics they wish to allocate to their respective students.
This is a conceptual model that defines the structure, behavior and more views of a system. An architecture description is a formal description and representation of a system organized in a way that supports reasoning about the structures and behaviors of the system. A system architecture can comprise system components that will work together to implement the overall system. This architecture primarily concentrates on the internals or subsystems and the on the interfaces between the system and its external environment. (Jaakkola & Thalheim, 20011).
Flowchart isa common system design tool which represents the sequential representation of data and data modules was used to design basic schema of the system based on an algorithm. This algorithm depicts the sequence of actions to be taken and the order in which to execute them, in order for the new system design to become a reality. Algorithm can be seen as the step-by-step method of implementing the system using the ordinary or simple language. The student project allocation system is designed based on the following algorithm;
- Request administrator login
- Upload supervisors name list
- Save to database
- Upload student list
- Assign functions to randomly allocate students to supervisors.
- Upload project list provided by a supervisor
- Allocate projects to the respective students randomly
- Generate report
This student allocation system is inclined towards easily allocating students to supervisors and also allowing supervisors provide recommended project topics to their respective students within a reasonable time frame. The system was designed to be thorough without being too complex and cumbersome, robust enough to work well with minimum input. Having a well-designed allocation system endowed with extensive database use is in the best interest of both supervisors since other difficulties that come with final year projects can be reduced drastically if not totally avoided.
This session describes user interaction with the software using use case and activity diagrams. The purpose of the use case diagram is to capture the dynamic aspect of a system and gather the requirements of a system including internal and external influences. These requirements are mostly design requirements. Hence, when a system is analyzed to gather its functionalities, use cases are prepared and actors are identified. (TutorialsPoint, 2017).
The system has two actors who are the admin and the institution. The subsequent Use Case diagram shows how the admin interacts with the various modules and sub-modules of the system.
Figure 4. 3 – Use case diagram of the student project allocation system
This system is made up of several interfaces that handle different tasks. The Graphical User Interface (GUI) for this system is very user-friendly and does not require any special training just to learn but requires that the administrator at the various stop points be quick-witted to avoid discrepancies in handling student information. Below are the images and description of the GUI.
The system begins with a login page where a registered admin can enter a unique username and password to unable access to the system. A notification pops up informing the admin to check the username and password again when an incorrect username and/or password is used. Fig. 3 shows the admin login form which includes registration path.
Figure 4. 4 – Admin Login Page
The home page displays all the results after the student list, project list and supervisor list has been uploaded and generation has occurred. It displays the ID, student Name, Supervisor, Level, Programme and Student ID. The option to log out is also available. N/A in the figure below shows when a student does not have a project topic even after generation.
Figure 4. 5 – Home Page
To upload a list of project topics, the name of the supervisor must be selected. After the upload of the project topics for a particular list of students, the generation can take place after the clicking on generate now.
Figure 4. 7 – Upload Projects
The figure below shows the interface of the upload supervisor tab in the system. The admin is responsible for uploading the correct information presented in the list. Each supervisor has a unique ID that is used later to allocate students to him/her.
Figure 4. 8 – Upload Supervisor Page
Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test. Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software implementation. Software testing is the process of validating and verifying that a project: (CIGNET, 2013).
- Meets the requirements that guided its design and development.
- Works as expected.
The testing of the system is done based on two strategies. First, each module or program was tested independently to ascertain its functionality and the performance of the task defined in its structure. This process of testing is known as unit test. Since the system is made up of a collection of different modules (classes), all existing in hierarchy and tied together to actualize the task of student project allocation system. The next level of testing involves putting all the modules together and testing them all at once. This interestingly was achieved with the hypertext reference (href) function in the PHP source module; this method of testing is called integrating testing. Integration testing is done in terms of interface testing, function calls, input/output operation as well as storage. To this effect, integration gives a true picture of the system, how it works and the overall appraisal of the system should be done here by the users.
The overall evaluation results show that the system offers an effective solution to the problem of efficiently managing student allocation to supervisors and record keeping.
Projects contain extremely valuable information since they report the results of first-hand research information conducted by students within any specific department. It is therefore important for a system to be developed and implemented in order to allow other researchers, students and academic staff, easy and prompt access to this information. The allocation of projects is part of a degree course for many tertiary institutions and before the allocation of projects to students is done, a series of steps need to be followed. Many constraints need to be taken into consideration to achieve a fair allocation. The allocation of project causes many problems as same constraints may not be satisfied. These problems emerge mainly due to the increasing number of students which leads to an increase in the complexity in the allocation of the projects. The aim of this project is to save time by producing reports on the assignment of project topics and project supervisors and also develop a better system which solves these problems or reduce them significantly.
The student project allocation system assists in automating the existing manual system. It reduces the manpower required. It provides accurate information always. Difficulties can be reduced and all years together gathered information can be saved and can be accessed at any time. The data which is stored in the repository helps in taking intelligent decisions by the management.
Though a lot of work has been done on this system to get this far, there are several other functionalities that could be added to make it complete. However, time constraint did not make it possible for this to materialize therefore I recommend that future work on this project should strive to include the features such as;
- Group student project allocation
- Allowing access to various file types not only Microsoft excel
- Better arrangement of tabs
Augustsson, G. and Jaldemark, J. (2012), Supervisors’ utterances in online supervision of first-year students’ dissertations, Proceedings of the 8th International conference on Networking Learning 2012, edited by Hodgson V, Jones C, de Laat M, McConnell D.
Bouki, V. (2007) Undergraduate computer science projects in UK: what is the point? In: Kefalas, et al, (eds.) Proceedings of Informatics Education Europe II (IEEII 2007): Developments in South East Europe. SEERC, Thessaloniki, Greece, pp. 176-184.
Brophy, J. (2001). Generic Aspects of Effective Teaching. In M. C. Wang, & H. J. Walberg (Eds.), Tomorrow’s Teachers. McCutchan Publishing Company.
CIGNET. (2013). Software testing. [ONLINE] Available at: http://cignetinc.com/services/testing-services/software-testing/. [Accessed 11 June 17].
Dimitar Kazakov, “Coordination of Student Project Allocation”, October 31, 2001.
Fabiyi A. Aderanti, Ramoni T. Amosa. Adetutu A. Oluwatobiloba. Development of Student Project Allocation System Using Matching Algorithm International Conference of Science, Engineering & Environmental Technology (ICONSEET), 1(22): 153-160, 2016 ISSN 0794-9650
Graduate School 2017 Handbook – University for Development Studies, https://www.uds.edu.gh/docs/ur/gs_handbook_2017.pdf
Hannu Jaakkola and Bernhard Thalheim. “Architecture-driven modelling methodologies.” In: Proceedings of the 2011 conference on Information Modelling and Knowledge Bases XXII. Anneli Heimbürger et al. (eds). IOS Press. (2011) p. 9
Johnson, R. D., Hornik, S. & Salas, E. (2008). An empirical examination of factors contributing to the creation of successful e-learning environments. International Journal of Human-Computer Studies, 66, 356-369. http://dx.doi.org/10.1016/j.ijhcs.2007.11.003
Matzler, J., & Woessmann, L. (2010). The Impact of Lecturer Subject Knowledge on Student Achievement: Evidence from Within-Lecturer Within-Student Variation. The Institute for the Study of Labor.
Mohit Kumar Sharma. A study of SDLC to develop well engineered software. International Journal of Advanced Research in Computer Science, ISSN No. 0976-5697, Volume 8, No. 3, March – April 2017.
Paechter, M., & Schweizer, K. (2006). Learning and motivation with virtual tutors. Does it matter if the tutoris visible on the net? In M. Pivec (Ed.), Affective and emotional aspects of human–computer-interaction: Emphasis on game-based and innovative learning approaches. Amsterdam: IOS Press.
Paul Litwin, ―Fundamentals of Relational Database Design‖, Internet: http://www.deeptraining.com/litwin/dbdesign/FundamentalsOfRelationalDatabaseDesign.aspx, November 2011
Pudaruth, S., Bhugowandeen M. & Beepur V. A Multi-Objective Approach for the Project Allocation Problem. International Journal of Computer Applications (0975-8887) Volume 69– No.20, May 2013.
Shubham Dwivedi. Software Development Life Cycle Models – A Comparative analysis. International Journal of Advanced Research in Computer and Communication Engineering Vol. 5, Issue 2, February 2016.
Stanley M. (2016). A Two Year Case Study: Technology Assisted Project Supervision. Journal of the Higher Education Academy Engineering Subject Centre. 4(2).
System INTEGRATION Testing (SIT): Complete Tutorial. Available at: https://www.guru99.com/system-integration-testing.html
Use Case Diagram, (January 8, 2017). Retrieved from https://www.tutorialspoint.com/uml/uml_use_case_diagram.htm
V. Ramnarian-Seetotul, J. Abdool Karim, A. Amir. The Case Study of an Online Assignment Submission at UOM. International Journal of Economics and Management Engineering, Vol:6, No:8,2012
Wikipedia, the free encyclopedia. 2018. Resource allocation – Wikipedia, the free encyclopedia. Retrieved from: http://en.wikipedia.org/wiki/Resource_allocation. [Accessed June 2018].
William Bradley Glisson and Gobinda G. Chowdhury. (2002) “Design of a digital dissertation information management system”, Program, Vol. 36 Issue: 3, pp.152 165.