2015 ASCUE
Proceedings
52
Tools to use in an information technology class – and best of all they are
FREE!
Dewey Swanson
Associate Professor, CIT
dswanson@purdue.edu
(812) 348-2039
Dmitri A. Gusev
Associate Professor, CIT
dgusev@purdue.edu
(812) 348-2029
Purdue University College of Technology
4444 Kelly Street
Columbus, IN 47203
Fax (812) 348-2016
Introduction
Purdue Polytechnic has several locations in the state of Indiana offering students a chance to get
a Purdue degree. The Computer and Information Technology (CIT) department offers the CIT degree
at three sites in Indiana: Anderson, Columbus and Kokomo. CIT offers several potential majors includ-
ing Cybersecurity, Network Engineering, Systems Analysis. At the Columbus site we offer the Com-
puter & Information Technology major. This major is a general degree that would have a variety of
CIT offerings in all of the majors mentioned. Each statewide site of Purdue Polytechnic has multiple
labs including approximately 30 throughout the state (including labs used for CIT and other programs)
that must be maintained with an annual budget of approximately $200,000 for hardware and software.
In the general CIT major, students take up to 15 courses that have lab component and require from
general software like Microsoft Office to more specialized software such as Unity Pro and Autodesk
Maya that are used in our game development class. Our classes focus on four areas: networking, pro-
gramming, systems analysis and programming. We have purchased a variety of licenses to use in these
tasks. With a limited budget we are always looking for viable alternatives. In this paper we will re-
view some options that we have incorporated or plan to incorporate into our labs. In our search we
were looking for low cost or no cost options. The best news is all of the options we will discuss in this
paper are free. The following pages discuss the products we found.
VirtualBox
VirtualBox is a category of virtual machine software or VM that can provide the user an emulation of a
particular computer that the user can manage and use. This can be a complete substitute of real ma-
chine in which the user can install operating systems and other software of choice. VirtualBox was ini-
tially offered by Innotek GmbH which was bought out by Sun Microsystems and subsequently by Ora-
cle Corporation and rebranded by the official name of Oracle VM VirtualBox. VirtualBox is free Open
Source Software. On their website Oracle describes VirtualBox as “a powerful x86 and
AMD64/Intel64 virtualization product for enterprise as well as home use. VirtualBox is an extremely
2015 ASCUE Proceedings
53
feature rich, high performance product for enterprise customers. Presently, VirtualBox runs on Win-
dows, Linux, Macintosh, and Solaris hosts and supports a large number of guest operating systems in-
cluding but not limited to Windows (NT 4.0, 2000, XP, Server 2003, Vista, Windows 7, Windows 8,
Windows 10), DOS/Windows 3.x, Linux (2.4, 2.6, 3.x and 4.x), Solaris and OpenSolaris, OS/2, and
OpenBSD as in Figure 1 shown with Fedora 21 running.”
Purdue University’s main campus has a site license for VMware which is also virtualization software.
Both VMware and VirtualBox provide similar capabilities. In our case we are not looking to replace
VMware but have VirtualBox as an additional option. There are several advantages for our students to
use VirtualBox. The biggest advantage is that it is standalone, meaning that once installed the student
does not need to be connected to the network to use. Although, connecting to a network is not generally
a big issue it does make its use more portable. It does not require the student to set up a VPN or con-
nect to a remote desktop as required by VMware. Another advantage is that with the Oracle purchase of
VirtualBox they have provided pre-built virtual machines that already have the operating system and
Oracle application software installed. Typically, these pre-built machines are tuned so that they run
efficiently on a standalone PC. These pre-built virtual machines (appliances) are also free. There are
several disadvantages of using VirtualBox. In order to run VirtualBox you need a reasonably powerful
x86 hardware at least 2GB of RAM (more is better) and although VirtualBox does not require a lot of
disk space (typically about 30MB) the virtual machines can grow significantly depending upon the op-
erating system and software utilized. Finally, you need to be running one of the supported operating
systems. Another negative of VirtualBox is that there is no local support if students have issues in-
stalling or using the software. Since VMware is located on Purdue servers, it does not require the stu-
dent to have a powerful machine with any disk or memory requirements and is totally supported by the
Purdue IT Support.
We currently use VirtualBox in CNIT 487 Database Administration. This is an upper level CIT class
used as an introduction for students in the role of Database Administrator (DBA). The database soft-
ware we us in the class is the Oracle DBMS. Virtualization is useful in this class because in order to
manage an Oracle database students are required to have administrator privileges on the machine and
Purdue support is justifiably unwilling to give students that capability in Purdue labs. Several years ago
we started teaching and online version of this class. In the CNIT 487 course we use both VMware and
VirtualBox for labs and class project. The VMware has Oracle installed in a Windows environment and
VirtualBox utilizes a pre-built appliance that has been modified for the class using Linux. This has al-
lowed students to use Oracle in multiple environments. In the time we have taught the class students
have not had many real issues with using VirtualBox. I have created several tutorials including one on
how to install VirtualBox and how to install an appliance that has eliminated some of the early issues
we had in the class.
As mentioned VirtualBox is free and documentation and downloads can be accessed at :
https://www.virtualbox.org/ .
2015 ASCUE
Proceedings
54
Figure 1. VirtualBox 5.0 for Mac OS X with VirtualBox Fedora 21 running
Oracle SQL Developer
SQL Developer is an Integrated Development Environment (IDE) that provides programmers and
administrators with tools to automate many of the development functions. According to Oracle it
can be used by developers, DBAs, Data Modelers and Web Application Developers and Adminis-
trators. It also has the capability to migrate many third party databases including Microsoft Access,
SQL Server, Sybase ASE, DB2 or Teradata. The tool was developed by Oracle and is used on ver-
sions 10g, 11g, and 12c and can run on any operating system that runs Java. Specifically, SQL
Developer provides an editor for working with SQL and PL/SQL allowing the developer to run
queries and execute, debug and test program code. Newer versions of SQL Developer provide
DBA capabilities to perform tasks such as backup/recovery, auditing, user management, and stor-
age management. The tool is also compatible with the CASE tool SQL Developer Data Modeler
(discussed later in the paper).
SQL Developer replaces SQL*Plus a command line interface from Oracle Corporation used to ac-
cess Oracle databases from Oracle version 4 on up. It was shipped with the Oracle database until
the release 11g when Oracle quit shipping the product with the Oracle database software. There are
also third party products such as TOAD from Dell Software that is offered both freeware and com-
mercial (running $975 a seat on up). Oracle SQL Developer has many advantages over the previ-
ous product SQL*Plus which was strictly a command-line interface as opposed to the GUI interface
provided by SQL Developer. The tool supports not only command line execution of SQL com-
mands but has an editor to support development using PL/SQL language as shown in Figure 2. The
product is an .exe file and requires no installation as opposed to SQL*Plus that required the user to
install the Oracle client. This is not particularly important for lab machines but made use of the
tool easier for students at home. TOAD has an advantage of being able to access multiple data-
bases, but this is not a problem since Oracle databases are used in all classes except the introductory
2015 ASCUE Proceedings
55
class that uses Microsoft Access. If you have a valid license for Oracle software (Purdue does), then
you also access to Oracle support for SQL Developer issues.
Oracle SQL Developer is installed in all of the statewide labs that have CIT programs and used by
most students that want to access the Oracle server with their personal computers. We use Oracle
SQL Developer in three classes CNIT 272 Database Fundamentals, CNIT 372 Database Program-
ming and CNIT 392 Enterprise Data Management. We have been using the product for several
years now. Students using the product at home have said that it is easier to use than SQL*Plus.
The only real issue we have had was a performance issue when we installed a newer version in our
labs.
Oracle SQL Developer is a free product and can be accessed at:
https://www.oracle.com/downloads/index.html.
Figure 2. SQL Developer with PL/SQL code
Oracle SQL Developer Data Modeler
SQL Developer Data Modeler or Data Modeler is part of SQL Developer or a standalone product
(what we will discuss in this paper). Data Modeler is a graphical tool that can be used to create and
maintain logical, relational (as shown in Figure 3) and physical models. The main model used in
database design is an Entity Relationship Diagram (ERD). Data Modeler supports development of
ERDs using both the Bachman and Barker notation. Besides creating and maintaining Entity Rela-
tionship Diagrams (ERDs) the tool can be used to forward and reverse engineer databases. The tool
can also be used to develop process models Data Flow Diagrams (DFDs). Data Modeler can be
used in a standalone and in Cloud environments.
Oracle SQL Developer Data Modeler replaces two tools Oracle Designer and Microsoft Visio. Ora-
cle Designer was a tool from Oracle Corporation that contains many of the same features as Data
2015 ASCUE
Proceedings
56
Modeler. Data Modeler like SQL Developer requires no installation because it is an .exe file that
only requires an operating system that can use Java. That is the biggest advantage of Data Modeler
over Designer. Designer was difficult to install in the labs and support and most students didn’t
bother to try and install it at home. It also tended to run very slow and if more than a few users
were on it ran extremely slow. Visio is still used on lab machines (mainly in systems classes) be-
cause it has the advantage of including not only ERDs but also able to model in UML including
Class Diagrams, Use Cases, Sequence Diagrams along with Data Flow Diagrams (DFDs). A disad-
vantage of Visio is that students have to buy it because it is not included in any agreements between
Purdue and Microsoft Corporation, unlike Oracle Data Modeler which is free for students to down-
load.
Oracle SQL Developer Data Modeler is installed in all of the statewide labs that have CIT programs
and used by most students that want to access the Oracle server with their personal computers. We
use Oracle SQL Developer Data Modeler in three classes CNIT 272 Database Fundamentals, CNIT
372 Database Programming and CNIT 392 Enterprise Data Management. Students have been using
the product for several years and have not had any major complaints (which were common with
Oracle Designer).
Oracle SQL Developer Data Modeler is a free product and can be accessed at:
https://www.oracle.com/downloads/index.html.
Figure 3. SQL Developer Data Modeler with relational model
GameMaker: Studio
GameMaker: Studio is a 2D game engine developed by YoYo Games, a company founded in Dundee,
Scotland. In 2015, the company became a subsidiary of Playtech, a gambling software development
company with headquarters on the Isle of Man. It was sold to PlayTech for £10.65 million, a sum ap-
proximately equivalent to $16.4 million at the time of the purchase. A screenshot of a simple 2D game
2015 ASCUE Proceedings
57
made using GameMaker: Studio and run in the debug mode under the auspices of the IDE is shown in
Figure 4. The game took 45 minutes to make.
This tool can be used to replace the 2D game development functionality of Unity 5 in our pilot CNIT
399 Introduction to Game Development course that is scheduled to be offered for the second time in
the Fall of 2016. (The course was taught for the first time by one of the authors in Spring 2015.) In ad-
dition to offering a free version, GameMaker: Studio has the advantage of providing an intuitive Drag
and Drop system that makes the learning curve less steep and allows a student to quickly put together
2D games of such common genres as mazes and platformers. Presenting a mild disadvantage, the
scripting for this game engine has to be done in a special scripting language called GML (GameMaker
Language) based on C. Unity 5 allows scripting in C#, a language that our undergraduate students
would have programmed in for at least two semesters prior to taking the pilot course. On the positive
side, unlike C#, GML supports the aforementioned Drag and Drop system. GameMaker: Studio can be
used to make games for a wide variety of platforms, including Windows, Mac OS X, Ubuntu Linux,
Android, iOS, Windows Phone, and Xbox One.
GameMaker: Studio and the complementary GameMaker: Player is available at the YoYo Games com-
pany website, http://www.yoyogames.com/gamemaker. The Professional version of GameMaker: Stu-
dio can be purchased at https://www.yoyogames.com/get/studio_pro.
Figure 4. Running a simple 2D game made using GameMaker: Studio in the debug mode
Unreal Engine 4
Unreal Engine 4 is a 3D game engine manufactured and sold by Epic Games, a U.S. game develop-
ment company headquartered in the city of Cary, North Carolina. The decision to make Unreal Engine
4 available for free to schools and universities, including personal copies for students enrolled in ac-
credited programs, was announced by Epic on September 4, 2014. As of March 2, 2015, Unreal Engine
4 is free for everyone, and all future updates will be free as well. Unreal Engine 4.11 was released on
March 31, 2016. Importantly for us, this version provides multiple new features for virtual reality (VR)
2015 ASCUE
Proceedings
58
rendering. Figure 5 displays a screenshot of the installer package for Unreal Engine 4. The required
storage space on a Windows PC is ~17 GB.
This tool can provide the 3D game and VR development functionality if substituted for Unity 5 in our
CNIT 399 Introduction to Game Development course. In March 2014, Epic announced the switch from
their proprietary UnrealScript to support for game scripting in C++. Numerous C++ project templates
are available, provided that Microsoft Visual Studio 2015 is installed. Access to full C++ source code
for UE4 is included. Also provided are sample projects, such as the Advanced Vehicle one shown in
Figure 6. This way, the student does not have to necessarily start from a blank 3D space. While we pre-
fer C# scripting of Unity 5, given that C# is the first programming language of our undergraduates, the
schools that get their students started with C++ may favor Unreal 4.
Unreal Engine 4 can be acquired for free at https://www.unrealengine.com/. Commercial game devel-
opers have to pay a 5% royalty fee on gross product revenue after the first $3,000 per game per calen-
dar quarter.
Figure 5. The installer package for Unreal Engine 4 in action
2015 ASCUE Proceedings
59
Figure 6.- The Advanced Vehicle sample project opened in the Unreal Engine 4 project editor
Microsoft Visual Studio 2015 Community Edition
The previously available free Express edition of Microsoft Visual Studio did not even have the tools
needed to create 64-bit executables included by default, so an additional Windows Software Develop-
ment Kit (SDK) had to be installed and configured with the IDE in order to enable that functionality.
As a result of these and other limitations of the Express edition, we’re currently using Microsoft Visual
Studio 2013 Professional edition licensed by Purdue University to teach our programming courses
CNIT 155 Introduction to Software Development Concepts, CNIT 175 Visual Programming, and CNIT
255 Object-Oriented Programming Introduction.
However, the free Microsoft Visual Studio 2015 Community edition released July 20, 2015 contains so
much more than the old Express! Included are the tools for cross-platform development, third-party
(Xamarin) tools for C# development for Android and Windows phones, instruments for Profile Guided
Optimization (PGO), 64-bit compilers, tools for Web development and advanced debugging, Visual
Studio Tools for Unity, SQL Server Data Tools, etc. Multi-language support based on the .NET plat-
form covers C#, Visual Basic, F#, C++, JavaScript, TypeScript, and Python. A screenshot of Microsoft
Visual Studio 2015 Community is shown in Figure 7. Microsoft Visual Studio 2015 Community can be
obtained for free at https://www.visualstudio.com/products/visual-studio-community-vs.
The reader may have already noticed the absence of Java, an immensely popular general-purpose pro-
gramming language, from the options listed above. In another section of this paper we discuss a new
free tool for Java development for Android, Android Studio.
2015 ASCUE
Proceedings
60
Figure 7 - A simple C# program is running in Microsoft Visual Studio 2015 Community
Android Studio
In our CNIT 355 Software Development for Mobile Computers course offered in the Fall of 2015, we
replaced the Android Development Tools (ADT) bundle that included Eclipse, a well-known free IDE,
with the new and similarly free Android Studio for app development, based on IntelliJ IDEA. A screen-
shot of Android Studio is shown in Figure 8. The window of an Android emulator running a ToDoList
app with SQLite database support is seen atop the Android Studio IDE window.
Android Studio was developed by Google. Its first stable build was released in December 2014. An-
droid Studio officially replaced ADT as Google's primary IDE for native Android application devel-
opment. We used it to teach programming for smart phones or tablets running Android 4.1+.
2015 ASCUE Proceedings
61
Figure 8. Android Studio with a running Android simulator
Conclusion
In this paper we have reviewed seven different products that we are either incorporating into our com-
puter labs or are considering using in our labs. All of these are free. These products are replacing
products that would in some cases replace very expensive products. Although the features may not be
exactly the same as the software we are replacing, they are all have the functionality required for our
CIT classes and in some cases are superior to previous products.
References
GameMaker, http://www.yoyogames.com/gamemaker
Microsoft Visual Studio Community Edition, https://www.visualstudio.com/products/visual-studio-
community-vs
Oracle SQL Developer and Data Modeler, www.oracle.com
Unreal Engine 4, https://www.unrealengine.com
VirtualBox, www.virtualbox.org