EssayScam ForumEssayScam.org
Unanswered      
  
Forum / Free Essays   % width   NEW

Decision Support Systems in Academic Programming


Quick Writer  5 | -   Freelance Writer
Aug 25, 2018 | #1
This document discusses decision support of academic course structures. Java, common gate interfaces, PHP, XML, XHTML, database systems, Oracle, SQL, and mySQL are discussed in the context of academic decision support systems. This document supports the presentation. .

1. Background of Academic Decision Support Systems



The process of designing an academic course is very complex. A key aspect of the design involves structuring the course in a manner that ensures that students can easily progress from year to year. Course directors need to be able to reliably plan a program of study for new students, while maintaining course progression for existing students. In order to design the course in an effective manner, the lecturing staff should have insight into the modules within the course. The entire process needs to be incorporated, from prerequisites to learning outcomes.

Academic ProgrammingThe process of choosing modules for the unit is very important to student outcomes. Mechanising a course structure enables students to explore optional paths within the course subject matter. In order successfully design the course, and meet student needs, a number of criteria must be met. The design selected must be very clear and simple so that the student can choose the appropriate modules. At the same time, the lecturer must understand the context in which the module is being taught.

The decision support system must be designed in such a way that the structure of the course can be both supported and modified. The types of modules within the course must be identifiable as prerequisites, linked modules, excluded modules, compulsory modules, or optional modules. The decision support system must be developed in such a fashion that modules can be edited, added, or deleted. Each module must have a description so that anyone accessing the module will know the contents, and the mode of assessment must be displayed.

At any university, there are a number of courses. Each course will have multiple modules. Some of the modules will be optional, but others are essential. In order to take best advantages of the opportunities offered, students have to be able to discern the structure of the course. This project will focus on the undergraduate course in information technology at Heriot Watt University. It is divided into several sections: programming languages, database systems, user interfaces, system building, and program evaluation.

2. Programming Languages



A programming language will need to be selected as the basis for the decision support system for the academic course structure. The two primary platforms that would be appropriate for this application: either Java, or PHP. Java can be used to apply all the requirements, but PHP could also be used as the programming language.

2.1 Java

Java was originally developed by Sun Microsystems as an alternative to C++/C programming. Java was developed both as a platform and a language that Sun hoped to use in development of smart appliances for the home. However, the developers soon realized that its real strength would lie in providing a platform for the World Wide Web. Java is very prominent in a number of applications, with more than 850 million PCs supporting Java, 2.1 billion mobile phones or handhelds supporting the platform, 3.5 billion smart cards utilizing Java, and numerous set-top boxes, printers, games, car systems, lottery point of sale terminals, medical devices, and Web cams using Java (Oracle).

Apple's Mac bundles Java, and an open source version called GNU Classpath is included with many distributions (Apple). Java was redefined as open source software in 2006, after Sun sued Microsoft for adding proprietary Windows applications to the bundled environment (Loukides).

The Java platform represents a virtual machine that runs Java code. The code is the same across many systems; a Java processor translates the code into instructions that the processor can understand for any particular machine. The code is kept in memory while the program executes. Java code allows Java programs to run on any platform that is based on a virtual machine. The programs themselves are independent, but every operating platform has its own version of Java's virtual machine.

Java is widely used, but it is not without its drawbacks. Yegge suggested that any development project which has a short schedule, is under a great deal of pressure, needs to do individual testing, or needs agile response times is probably not the best suited to the Java environment. He pointed out that there are many individual frameworks within Java. These frameworks, which provide great flexibility to experienced programmers, can make it very difficult for new programmers to acquire necessary skills. The compiler checks exceptions and thus makes the code cleaner, but it adds time to the development phase and lengthens code. According to Yegge (2009) there is a great deal of information that cannot be expressed in Java. Instead, it must be handled using XML. The use of XML within Java increases the complexity of the coding and causes the code to be longer than might otherwise be necessary. The overall effect is to make Java harder to learn and a complex code to write. Yegge (2009) points out some severe limitations:

No first-class functions, no reference parameters, no keyword or default params, no destructuring bind or even parallel assignment, no way to return multiple values efficiently, no continuations, no user-defined operators, no generators, no closures, no tuples.

Thus, while the project could use Java to apply all the requirements, another choice to apply the system is through the use of PHP as the programming language. Though not without disadvantages, PHP offers significant advantages to the project.

2.2 PHP

PHP is a widely used language that was originally developed by Rasmus Lerdorf to produce his personal webpages (Machlis, 2002). In an interview with Machlis, Rasmus Lerdorf, the creator of PHP, suggested that there are some significant advantages of using PHP. It is open sources, the learning curve is very small, and the syntax resembles parts of C., Java, and Perl. It is also very focused and has a great deal of readily available (and free) online information. According to Lerdorf, PHP is ideally suited to tying a web interface to a database. It adapts well for use with flash and pdf files. It is ideally suited to extracting information from data bases. Lerdorf does emphasize that the real strength of PHP is its use as a web interface.

LINUX Self-Help suggests that there are both significant disadvantages and advantages to using PHP. The advantages appear to outweigh the disadvantages. One of the greatest disadvantages is that PHP does not have the performance speed of C or C++. It is a scripting language, and it needs to be interpreted. It is also not purely object oriented, although this is changing as PHP incorporates some of Java's better features.

One of the greatest advantages to PHP, according to LINUX Self-Help, is that PHP is a very rapid web development tool. The group reported that an application which takes three months to write in C++ can be done in PHP in around four days. This is a significant advantage. Though PHP is slower, it can be combined with a Zend optimizer to speed up the execution, negating the disadvantage above. There are no compilers or linkages in PHP, increasing the rate of production of code. PHP is not browser dependent, and this increases its stability. It can run on UNIX, LINUX, and Windows and is more powerful than other development languages. Finally, PHP has many users and millions of developers. This is a significant advantage when developing new code or modules (LINUX Self-Help, 2009).

Verens pointed out that Java has gone down in popularity over the past 7 years, while PHP has gone up. Java went from 26% in 2001, to 21% in 2008. PHP, on the other hand, has gone from 2.4% to 9.89% and is continuing to rise. He does suggest that speed may be an issue when developing a very large website. He also suggested that the main difference between Java and PHP is the way it is embedded. PHP can be inserted wherever it makes sense in a website, but Java must have the whole website geared to its use. Thus, PHP is significantly more flexible. One other factor exists that must be considered; PHP is typically used in large-scale user systems, while Java can be used in any size application.

2.3 XML

XLM, or Extensible Markup Language, is a free class of languages that are used to code documents electronically. Its data format is very simple and easy to learn. It is particularly useful for designing webpages or documents that must interface with the web. XML is a general class of language, and a number of variations of XML have been developed. Most office-type applications use an XML base, including open source office packages such as Open Office, and Microsoft's Office package. It is possible to view the XML code of most web pages by going to the 'view' menu of the browser and selecting 'source'. Cover (2005a) has developed an extensive listing of XML applications and industry initiatives that can be utilized in developing XML applications. The purpose of XML was originally to be "served, received, and processed on the Web in the way that is now possible with HTML" (Cover, 2005b, XML Overview).

XML documents are comprised of entities containing data. The data is made of characters. While some of the characters are data from the document, some are markup language. Here is an example from the sign in page of Facebook, the social utility program:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
" w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns=" w3.org/1999/xhtml" xml:lang="en" lang="en" id="facebook" class=" no_js">
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-language" content="en" />
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
<script type="text/javascript">
//<![CDATA[
window._is_quickling_index="";CavalryLogger=false;
//]]>
</script><noscript> <meta http-equiv=refresh content="0; URL=?_fb_noscript=1" /> </noscript>

<meta name="robots" content="noodp,noydir" />
<meta name="description" content=" Facebook is a social utility that connects people with friends and others who work, study and live around them. People use Facebook to keep up with friends, upload an unlimited number of photos, post links and videos, and learn more about the people they meet." />

<title>Welcome to Facebook</title>


(Facebook XML. 2010)

In the example above, the description content, highlighted in grey, describes the contents of the page to Internet search engines. The second highlighted area, marked <title>, shows the title of the specific page that is being accessed. XML is easily learned by most individuals due to the similarity to the English language. The XML document is one of the best ways to put constraints on web pages and documents and describe the document and its contents to the web so that it can be located by search engines.

2.4 XHTML

XHTML is one of the families of markup languages within the overall family of XML. Essentially, XHTML is an edited or cleaned up version of XML. By providing only one way to write certain elements, the machines reading the tags can do so in less amount of times. XHTML is case sensitive, specified items must always be in quotes, and so on. In that sense XHTML might be liked to a formal language, while XML, which has more leeway, could be likened to a slang. Just as formal English is easier for a wide variety of English speakers to understand than is street slang, XHTML is easier for machines to understand simply because it has more structure. Certain forms always mean particular things, ensuring that the machine does not have to stop and interpret the format. However, newer browsers have been developed since XHTML achieved popularity, and many of them are not compatible with the markup. Due to continued incompatibilities with browsers, many coders now believe that XHTML should not be used and rather it should be replaced with HTML or XML.

2.5 Common Gate Interface (CGI)

Common gate interfaces, or CGI, are used for transferring information between the web server and the program. CGIs can be written in Java or can use Active X controls. The CGI takes the request from the web browser (i.e., the URL), and reads it to see what document the browser requests. It locates the document and returns it to the browser. The CGI provides headers in the document to determine how the document will be displayed (Robinson & Coar, 2004). Another common use for CGI is to provide a feedback system that can be used in assessing things such as quality of teaching, making it ideal for the application in decision support systems in academic institutions.

3. Database Systems



Databases are, quite simply, the framework for a collection of organized and retrievable data within the computer system. Relational data base management systems are most commonly in use in business today (Connolly & Begg, 1999) due to the ease of data retrieval and the ability to collect and sort data based on specific fields.

Database design consists of three phases, according to Connolly and Begg (1999, vii): conceptual design, logical design, and physical design. Conceptual database design is the stage at which the project is developed in concept (the "I think we want" phase). Next, the logical design is developed; in the logical design, the customer's desires are compared to what is possible within the bounds of the system. Finally, the physical design is created and planned, the project is tested and when successful, it is populated with data.

There are a number of databases that could be utilized for the proposed decision support system. Two of the databases that would be appropriate for the decision support system are Oracle and MySQL. There are more than database could be used such as Oracle and MySQL. It has advantage such as the open sources and the flexibility of maintenance.

3.1 Oracle

Oracle is a relational data base system which hold data in tables. Oracle is currently the top database in the world. Its processes manage not only how data is stored, but how it is accessed. The data itself is accessed through a separate query language. Structured Query Language, or SQL, is used with Oracle. Oracle typically uses SQL*Plus as a commnd interface to acess the data and write procedures. Oracle Developer is an application builder in the package that can be used to format reports and graphics. Typically, Developer is used to create web applications that are then run under Oracle's application server (Cunningham, 2005).

When run with HTML database, however, no server is needed. It does not require an additonal license since it can utilize an Apache web server that is typically associated with oracle. Thus it is a much more cost effective way to utilize Oracle and develop Oracle applications. One real disadvantage exists, however; Oracle Developer has a number of add ons, but HTML database can only utilized widgets that were provided by HTML.

The Oracle Enterprise Management (OEM) tool manages the database. The OEM is proived by developerst so that they can fine tune the applications that are being sued and also so that they can monitor what is going on in the database. Oracle can also be used with Java, but according to Cunningham SQL, particularly PL/SQL, offers enough flexability that to use Java would be an unnecessary complication of the programming.

3.2 SQL

SQL is a structured query language that it used to query and manipulate data in a database. SQL can be used directly as a script to manipulate the data base or it can be embedded inother languages. It can also be used in PL/SQL, the procedural language that dictates the programs which are stored procedures inside the database.

3.3 MySQL

MySQL has over 100 million copies of its open source software in use, making it the world's largest and most popular open source database program. Many of the world's highest volume database users depend on MySQL: Yahoo!, Google, YouTube, and even Wikipedia run off of MySQL. MySQL is designed to be a functional part of the series of .Linux, Apache, MySQL, PHP / Perl / Python, known as LAMP.

Novell lists a number of benefits of using MySQL over Oracle:

- It is easy, cheap, and secure,
- It is fast, scalable, and runs on many operating systems,
- It supports a number of interfaces, including PHP, for great versatility (Novell).

MySQL's chief disadvantage appears to be that it has less add-ons available than does Oracle. However, given the traffic on websites of companies which use MySQL, it is clear that the database program can handle incredibly high traffic. In addition, because of the fact that it is so popular and also open source, there are many programmers available.

4. User Interfaces



According to IBM, a user interface, or UI, is the combination of things that allows the user to communicate with the computer, and allows the computer to communicate back to the human (IBM, 2010). What the user gives the computer is input; what the computer gives back is output. In the case of the academic decision support system, user interfaces become very important simply because of the importance of being able to tell the computer what the user needs, and the complexity of getting the correct answer back.

Although user interfaces can include hardware (i.e., keyboards, head sets and so on), user interfaces also include the software necessary to get messages back and forth. There are a number of types of interfaces but the types addressed here are those that are most likely to be used with the academic decision support project: a web interface, and the desktop application.

Web interfaces can deal with Java and PHP; desktop applications can just deal with Java. Web based user interfaces, or WUI, generate web pages that manifest in the browser. Newer interfaces include touch screens and

5. System Building



Once the programming language, the database system, and the user interface mode have been established, the process of building the system remains. In order for there to be a successful system, the users must have some type of access to the system. This is generally acquired through a log in screen or portal, preferably protected by a password. To fail to password protect the system would be a mistake of the most basic type.

Once the login module has been established, the user interfaces are created. A separate interface must be created for the instructor or lecturer, and another one for the students. A plan must be created for the modules that will be used each semester, and a description must be created for each module. Each of modules must be labeled with the name of the lecturer who will teach the module. The linked modules are placed next to each, and the optional modules for each semester are defined. The minimum number of optional models is decided and a screen preparing the information is provided.

The expected outcome from each module is defined, and the aim of each module is established and provided. A warning notice is developed to be retrieved if the student chooses the wrong module. An example of the use of this warning screen is if the student should choose the prerequisite module rather than the regular module(s). This planning process is part of the development process defined earlier in the paper, as the conceptual, logical, and physical process.

After careful evaluation of all the options, presented in this paper, the decision has been made to develop the project utilizing Java, as it is well suited to a large project with the number of users the system will need to accommodate. MySQL will be utilized as the database application for several reasons. The first is its flexibility, but perhaps the greatest advantage is the fact that it is an open source program that offers low cost combined with ease of development and ease of finding programmers. Finally, the web interface will be utilized as the user interface because it is able to deal with both Java and PHP, while desktop applications only allow the use of Java.

6. Program Evaluation



During the development process, feedback will be acquired from the lecturers and the academic staff. This is particularly valuable during the design phase. Overall, the evaluation of the project will focus on techniques used in the system. The process of evaluation will continue throughout the life-cycle of the project and changes will be made to accommodate the needs of the users if they are both cost effective and will improve utilization of the academic decision support system.

Program evaluations can be programmed into the academic decision support system as a separate module that pops up when the student performs particular key strokes, such as a request for log out. A separate program evaluation form would be programmed for instructors and would also appear on the screen at a given cue. The student or instructor would be prompted to 'click one' for each answer or allowed to enter short answers. Another process for evaluation would have staff distribute hard-copy program evaluation forms to students and instructors several times a year.

While doing the program evaluation on line would take more time to set up initially, it would save time and money in terms of evaluation cost and time to administer the evaluation form. It is recommended that the program evaluation be ongoing and set to pop up every X number of uses by the student or instructor.

References

Apple (2009) Developer connection: Mac OS X reference library.

Connolly, T., & Begg, C. (1999) Database systems: A practical approach to design, implementation, and management. Essex: Pearson Education.

Cover, R. (2005a) XML applications and initiatives: contents lıstıng for XML applications and industry intiatives. Cover Pages.

Cover, R. (2005b) Core standards: Extensible markup Language (XML). Cover Pages.

Cunningham, L. (2005) Learn Oracle: What is Oracle? August 22, 2005. Toolbox for IT.

Facebook XML (2010). facebook, translated by IE 7.

IBM (2010) What is a user interface?

James, P. (2008) XHTML.

Lee, T. (2007) The use of ınformation technology to enhance the quality of teaching and learning in social work practicum An example from the City University of Hong Kong. Journal of Technology in Human Services. 25(1-2) 123-126

Lehrbaum, R. (2002) Focus on embedded systems: Embedded Linux and Java - Wave of the Future? 2002(94) 13.

Lindholm, T. & Yellin, F. (1999) Java™ virtual machine specification. Palo Alto CA: Sun Microsystems

LINUX Self-Help (2005) 19. Limitations of PHP. Linux Self-Help.

Loukides, M. (2006) At last! Open source Java! O'Reilly on Java.

Machlis, S. (2002) Q&A: PHP creator Rasmus Lerdorf. Computerworld, February 4.

MySQL (2010) About MySQL.

Novell (2005) MySQL for NetWare administration.

Oracle (2009) Learn about Java technology.

Robinson, D. & Coar, K. (2004) The common gateway ınterface (CGI) Version 1.1. Network Working Group, Apache Software Foundation.

Verens, K. (2008) Klog: Popularity of PHP vs Java.

Wilson, C. (2005) The <?xml> prolog, strict mode, and XHTML in IE.

Yegge, S. (2009) Basic Java limitations. Brainbell.




Forum / Free Essays / Decision Support Systems in Academic Programming

Help? ➰
CLOSE
BEST FREELANCE WRITERS:
Top Academic Freelance Writers!

BEST WRITING SERVICES:
Top Academic Research Services!
VERIFY A WRITER:
Verify a freelance writer profile:
Check for a suspicious Twitter account: