Professional Documents
Culture Documents
University have changed over the years. The following list is a summary of the main
subjects that I have learned during the career in relation to the master degree of
digital security.
Information Systems
Information System course involves the design, development, use, and management
of organizational computer-based information systems to support and guide business
activities. With the goal of improving system processes and organizational
performance, information systems professionals provide businesses with access to
accurate up-to-date information, the ability to quickly perform transactions, and the
ability to analyze past performance. Information systems are both central to business
organizations and are used at all organizational levels and within all functions.
Information systems professionals integrate information technology solutions and
business processes to meet a business' information needs, enabling the business to
achieve its objectives in efficient and effective ways.
modeling
of
behavior,
P a g e 1|9
Computer Architecture
This course exposes fundamental issues of the architecture of modern computers.
The main objective is to provide students with the knowledge necessary to
understand the functional logic of the main components of modern computers. Topics
include the logical design, data representation, the different types of memory and its
organization, registers, the CPU and its organization, construction and operation of
buses, I/O devices and their interfaces. Different levels of abstraction of the computer
architecture are studied: logical level, the architecture of micro-level, machine
language level, assembly language and operating system level. The course also
examines the main features of CISC and RISC architectures and surveys
opportunities for parallelism at multiple levels within the processor.
P a g e 2|9
IP History
IP Architecture
General Architectural Principles
Forwarding IP Architecture
Routing
Inter-domain routing BGP routing
QoS routing
Routing reliability
Secure routing
Congestion Control
Software-defined Networks
Architecture
Applications
Data Centers
Network architecture
Congestion control
Cloud services
Internet Measurements
Multimedia Networks
Content Distribution
Security
Health Networks
Databases
This course gives a solid background in database systems. Topics include data
modeling, database design theory, data definition and manipulation languages,
storage and indexing techniques, query processing and optimization, concurrency
control and recovery, and database programming interfaces. Besides relational
databases and XML, this course also samples a number of other topics related to data
management, such as Web search, data warehousing, data mining, and data privacy.
Programming projects are required.
P a g e 3|9
Introduction
Database Environment
Database Development Process
Modeling Data in the Organization
Enhanced E-R Model and Business Rules
Logical Database Design and the Relational Model
Physical Database Design and Performance
The Software Engineering Process and Relational Databases
SQL
Advanced SQL
Getting Started with SQL in Access
Beginning SQL Commands in Access
Client/Server Database Environment
Internet Database Environment
Data Warehousing
Creating and Populating Tables
SQL Joins
SQL Functions
SQL Query Development and Derived Structures
SQL Set Operations
SQL Joins versus Subqueries
SQL Aggregation and GROUP BY
SQL Correlated Subqueries
SQL Indexes and Constraints on Tables
Data and Database Administration
Distributed Databases
Object-Oriented Data Modeling
Object-Oriented Database Development
Operating Systems
This course covers the design and implementation of operating systems. Topics
include process synchronization and interprocess communication, processor
scheduling, memory management, virtual memory, interrupt handling, device
management, I/O, and file systems. Hands-on study of Linux operating system
design and kernel internals. Experience with commercial virtualization tools and open
source software. The course was the first to introduce virtualization as a tool for
teaching computer science, specifically operating systems.
P a g e 4|9
Internet Technologies
This course gives an introduction to the Internet and its services, applications and
tools. World Wide Web and its facilities, applications and tools. Topics include Internet
history, a survey of Internet-based facilities and applications (e.g., e-mail, web
browsers, file transfer utilities, list servers, etc), and Web-based research and
information resources. The World Wide Web service is emphasized and basic Web
page creation with HTML is introduced.
P a g e 5|9
Simulation
This course covers the introduction to modelling and simulation concepts. System
analysis and classification. Abstract and simulation models. Continuous, discrete, and
combined models. Heterogeneous models. Using Petri nets and finite automata in
simulation. Pseudorandom number generation and testing. Queuing systems. Monte
Carlo method. Continuous simulation, numerical methods, Modelica language.
Simulation experiment control. Visualization and analysis of simulation results. It
uses MATLAB as a tool to explore a range of programming and modeling concepts
while acquiring those skills. The final project analyzes one of a variety of scientific
problems by designing a representative model, implementing the model, completing
a verification and validation process of the model, reporting on the model in oral and
written form, and changing the model to reflect corrections, improvements and
enhancements.
P a g e 6|9
Entrepreneurial spirit
This course focuses on multiple topics including; benefits/drawbacks of
entrepreneurship, concept to new venture, avoiding common mistakes, strategic
management, forms of business ownership & franchising, pricing strategies,
financing, location selection, and human capital management, rather than having the
entire class of students complete one single venture creation project, the course is
broken down into 34 persons student teams. Each team is asked to develop a
business project following this phases:
Phase I: Discovery -- identifying opportunities and shaping them into business
concepts;
Phase II: Feasibility analysis and assessment;
Phase III: Creating a business plan;
Phase IV: Launch a business to be presented at a business fair.
Advanced computer programming
This course presents an advanced view of computer programming, mainly using C++.
The use of current operating systems (e.g. Linux and Unix) and compilers (e.g. gcc)
are present. Object Oriented Programming will also be discussed in detail. Object
Oriented Programming is quite different than functional or procedural programming.
The differences and similarities between Java and C++ are discussed. Hands-on
programming are a key part of the course.
The goal of this course is to introduce and study key concepts related to computer
programming for scientific and engineering applications.
P a g e 7|9
Operator Overloading
Memory Leaks and Destructor Calls
Simple File I/O and Arguments for main()
Program Development
Testing and Debugging
Eclipse Development Environment
Make files.
Some Basic Data Structures
Stacks
Queues
Linked Lists
The Standard Template Library
Vectors
Iterators
Two Dimensional Vectors
Queues, Lists, Deques and Ordered (Priority) Queues
A List Application Polynomials
Lists vs. Vectors.
Inheritance, Virtual Functions, and Dynamic Binding
Derived Classes
Constructors
Object Oriented Design
Virtual Functions and Dynamic Binding
Application to Container Classes
Potential Problems to Avoid
Destructors Testing for Memory Leaks
Introduction to Trees
Basic Tree Properties
Binary Trees
Tree Traversals
A Binary Tree Class
Building and Walking a Binary Tree
Introduction to Recursion
Simple Complexity Determination
More Trees
Recursive and non Recursive Traversals
Binary Search Trees
Heaps
Balanced Trees
Associative Containers Maps
Graphs
Some Properties of Graphs
AGraph Class
Representation for Graphs
Graph Traversals
Minimum Spanning Trees
Searching, Sorting, and Hashing
Basic Complexity Issues
P a g e 8|9
Algorithms
This course introduces the analysis and design of computer algorithms containing the
following:
Software engineering
This course aims to give the principles and practice of analysis, design and
implementation in object orientated software engineering. Through experience of
building a significant software system in a team, experience and understanding of
the problems that arise in building such a system. They will develop the analytical,
critical and modelling skills that are required by a successful software engineer.
P a g e 9|9