Trends on
Information Technology
Carlos J. Costa (2015)
Hardware
Operating Systems
Networks
Programming Languages
Libraries and Frameworks
Development Environment
Data Bases
Internet of the Things
Open
Hardware
Hardware is the physical aspect of computers,
telecommunications, and other devices. It
includes computers like servers or desktop, but
also notebooks and mobile devices (Smart
Phones, Tablets). Printers, network devices are
also hardware.
l
Hardware
Servers
Desktop
Notebooks
Mobile: Smart Phones, Tablets
l
Hardware
l
Cloud Computing and Virtualization
Operating Systems
Operating System is a set of computer programas
(software) that manages computer hardware and
software resources and provides common services for
applications (other computer programs).
Operating Systems
Windows vs. Unix Like
OSX
Linux:
- Servers
- Desktop →Ubuntu
- Mobile → Android
Networks
A computer network (or simply a network) is a collection
of computers and other hardware components
interconnected by communication channels that allow
sharing of resources and information.
Networks
Improvement of quality
Webize
Web servers: Apache, IIS, nginx
Web client (browsers): Chrome, Firefox, IE,
Programming Languages
A programming language is a notation for writing
programs.
l
Programming Languages
Increase importance of languages for the web
Python as learning
language
Programming Languages
Javascript – Client side
Javascript – Server side
Programming Languages
sudo apt-get update
sudo apt-get install nodejs
sudo apt-get install npm
Create following file (test.js):
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello! I am here!n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');
nodejs test.js
Browser:
http://127.0.0.1:1337/
Programming Languages
Mobile:
Libraries and Frameworks
Frameworks=(components+ patterns)
A library is essentially a set of functions that you can call, these
days usually organized into classes.
In a library, each call does some work and returns control to the
client.
A framework embodies some abstract design, with more behavior
built in.
In order to use a framework it is needed to insert a behavior into
various places in the framework either by extending classes or by
connecting to the application classes.
The framework's code then calls the application code at these
points.
Libraries and Frameworks
Libraries and Frameworks
Libraries and Frameworks
Libraries and Frameworks
Ionicframework is an open source front-end SDK
for developing hybrid mobile apps with HTML5.
It needs to install Node.js. Then, install the latest
Cordova and Ionic command-line tools. Follow the
Android and iOS platform guides to install
required platform dependencies.
Development Environment
IDE (Integrated Development environment), e.g.
Visual Studio
Version control software (e.g. Git)
Data Bases
Database is a set of related data following a
specific model.
Database management system (DBMS) is a
software that allow to access to this data.
A NoSQL (not only SQL) database provides a
mechanism for data storage and retrieval that is
modeled in other than the tabular relations used in
relational databases.
Data Bases
NoSQL
NewSQL
Data Bases
MongoDB: http://docs.mongodb.org/
Neo4J: http://neo4j.com/
CouchDB: http://couchdb.apache.org/
Internet of the Things
The Internet of Things (IoT) is a scenario in which objects, animals
or people are provided the ability to transfer data over a Internet
without requiring human-to-human or human-to-computer
interaction.
Raspeberry-Pi and Arduino
Sensors and actuators
Open
Trends on Information Technology

Trends on Information Technology