refers to the ability of understanding how an Internet
application works from different viewpoints such as
functional, security, concurrency, data, and
deployment. In the course, we introduce, and in
some cases reinforce, concepts such as client, server,
protocol, session, concurrency, thread, component,
application, control, data flow, communication
methods, etc.
The second thematic axis is the Usability and
Sociability axis. It refers to the ability to understand
and use concepts around usability and sociability
that are defined within the Web 2.0 trend (Anderson,
2007). These concepts become essential in RIAS
due to their great recognition and applicability in
nowadays Internet applications. This axis also refers
to the ability to identify patterns as well as to
analyze inherent standards and best practices related
to these two aspects. In the course, we introduce
concepts such as usability, virtual communities,
community governance, patterns, collaboration,
collective intelligence, Web 2.0 applications, user
experience, etc.
The third axis is the Security, Ethics, and
Privacy axis. It refers to the ability to identify
vulnerabilities in current Internet applications at
various levels of the application from an
architectural perspective. This axis also refers to the
ability to propose strategies and guides that lead to
best practices around security, and to understand
ethics and information management behind Internet
applications. In the course, we introduce concepts
such as secure protocols, attacks, password
encryption, firewall, privacy statements, cross side
scripting, SQL injection, faults, fails, system
recovery, etc.
The fourth axis is the Frameworks and
Technologies axis. It refers to the necessary
technological elements that support the construction
and deployment of an Internet application. In this
course, we use development tools such as Eclipse
and Adobe solutions, application containers such as
JBoss and Glassfish, and frameworks such as
Pushlets, JSF, Google APIs and libraries, etc.
The fifth axis is the Languages and
Programming axis. It refers to both the different
ways to express the architectural structures of an
Internet application into a program, and the set of
strategies and guides that help in this process. In this
course, we introduce and reinforce languages such
as Java, Javascript, HTML, XML, etc.
The sixth axis is the Testing axis. It refers to the
ability to understand testing from two perspectives:
Firstly, as a way to automatically find functional
faults and fails of an Internet application; and
secondly, as a way to evaluate and tune quality
attributes such as performance and usability. This
axis also refers to the ability to define, model and
construct testing scenarios and test cases considering
the two different perspectives. In this course, we
introduce concepts such as unit testing, load
balancing, functional testing, usability evaluation,
application tuning, etc.
3 COURSE MATERIALS
Defining the appropriate materials for RIAS
considering the vast and rapidly changing
environment around Internet applications
represented a very challenging issue for several
reasons. First, reference books around Internet
applications are very diverse in scope and
complexity levels. For this reason, it is very unlikely
to find one book that fits within the complete set of
concepts defined in the thematic axes. On the other
side, finding several books, each one specialized in
certain group of concepts, would confuse students
since methodologies and learning activities defined
in each one of them are different and various.
Second, public tutorials and learning objects
available on the Web usually lack of an academic
validation and most times they are not adequately
aligned with the development of programming skills.
Additionally, some of them are subject to copyright
norms and others are simply not continuously
updated.
Considering the problems finding suitable
existing course materials for the course, we decided
to create our own set. Particularly, we defined
learning objects focused on the generation of high-
level skills, a virtual book for covering the complete
set of concepts defined in the thematic axes, and two
corresponding collaborative tools that facilitate the
management and evolution of both the learning
objects and the contents of the virtual book.
3.1 Learning Objects
According to the pedagogical active learning model
explained in the next section, different activities in
the course should be supported by a considerable
amount of learning objects that engage students as
the main role in the learning process (Villalobos,
2009a). We categorized these important elements of
the course material as: Examples, laboratory
workshops, working sheets, tutorials, animations,
demos, discussion workshops, mind maps, exams,
and interactive learning objects (Villalobos, 2009b).
CSEDU 2010 - 2nd International Conference on Computer Supported Education
428