You are on page 1of 9

Since the contents of systems engineering careers courses of the Bolivian Catholic

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.

Introduction to the General theory of systems.


Information systems development process.
Modeling structured.
The process of analysis and design.
Fundamentals of object-oriented modeling.
The unified language modeling (UML): basic
architectural modeling.
Information systems.
Process modeling.
Life cycle.
Systemic models of development.
Modeling of systems. Genexus applications.
The context of decision making in the company.
Information systems for decision making.
Introduction to geographic information systems.
Data capture and representation.
Spatial analysis of GIS data.
Geographic information systems (GIS).

modeling

of

behavior,

Computer-Based Information Tools


This skills-based course introduces basic applications that will be used throughout
the students course work and beyond. Students experiences in this course should
be seen as a basis for further skill development and learning throughout their careers.
The course covers computing platforms, access tools, and management tools.
Demonstration of skills will be by a mastery test or an assignment in each unit of the
course.

P a g e 1|9

Course Management Systems


Technology Hardware and Software
Internet Use
Communication Technology
Information Access
Information Literacy and the Library Professional
Information Retrieval and the Web
OPACs and Bibliographic Control
MARC
Metadata
Information Access
Information Literacy and the Library Professional
Information Retrieval and the Web
Bibliographic Databases
Queries and Search Strategies

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.

Fundamentals of Computer Design


Instruction Set Principles
Pipelining: Basic and Intermediate Concepts
Level Parallelism and Its Exploitation
Review of Memory Hierarchy
Memory Hierarchy Design
Multiprocessors and Thread
Level Parallelism
Level Parallelism: GPU Architectures
Storage Systems
Verification of Processor/Memory Architectures

P a g e 2|9

Data Communication and Computer Networks


This course explores the foundations of the systems that have given rise to so much
innovation, how networking is continuing to evolve to support new environments,
and challenges in building networked systems that are simultaneously highly robust,
efficient, flexible, and secure. The course provides a foundational and current view of
communication networks in order to enable students to perform high-quality research
in the area. Topics will include Internet architecture and core protocols for congestion
control, forwarding, naming, and routing; approaches to achieve reliability,
scalability, and security; and design of data center networks, multimedia networks,
content delivery, and application-specific networks (e.g., health networks). Material
will range from the classics to the latest results, and from analytical foundations to
systems design and real-world deployment.

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.

Computer and operating system structures


Process and thread management
Process synchronization and communication
Memory management
Virtual memory
File system
I/O subsystem and device management

P a g e 4|9

Selected examples in networking, protection and security

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.

Evolution of the Internet


Growth of the World Wide Web and Big Data.
Architecture of the Intranet/Internet /Extranet.
Access methods: dial up, ISDN, ADSL/2+, cable, LAN,
WIFI, Mobile & Satellite.
Proxy servers.
Application areas: E- commerce, Education
Entertainment such as games and gambling.
Internet of Things (IoT)
Search Engines, webbots, integrity of information, databases online.
TCP/IP model
TCP/IP fixed and dynamic IP addressing
IPv4 and IPv6.
DNS and URLs.
Email: email clients, server and gateways; SMTP, POP 3, IMAP and Webmail.
File transfer - FTP.
Remote login telnet. WWW HTTP and HTTPS.
Role of W3C
Accessibility.
Mobile and Ubiquitous computing,
EDGE/3G/HSPA+/4G ,GPS , QR codes, RFID, location and context awareness
Static and dynamic HTML.
Fluency in at least one of the following client side scripting languages:
JavaScript or VBscript.
DOM model, XML , CSS and XSL.
Development tools: page and site authoring, delivery and maintenance tools.
JavaScript frameworks and libraries.
Mobile Web
Usability issues.
Security policies/ Privacy/ Identification/ Authentication /Access control.
Hardware and software, Risk assessment, vulnerabilities.
Threats and attack methods such as Viruses, Spam, Rootkits, phishing,
Firewalls, spyware plug-ins.
Performance: speed, reliability, downtime, bandwidth.
Use of network utility tools to discover performance issues.

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.

Introduction to modelling and simulation. System analysis, classification of


systems. System theory basics, its relation to simulation.
Model classification: conceptual, abstract, and simulation models.
Heterogeneous models. Methodology of model building.
Simulation systems and languages, means for model and experiment
description. Principles of simulation system design.
Parallel process modelling. Using Petri nets and finite automata in simulation.
Models of queuing systems. Discrete simulation models. Model time, simulation
experiment control.
Continuous systems modelling. Overview of numerical methods used for
continuous simulation. System Dymola/Modelica.
Combined simulation. The role of simulation in digital systems design.
Special model classes, models of heterogeneous systems.
Cellular automata and simulation.
Checking model validity, verification of models. Analysis of simulation results.
Simulation results visualization. Model optimization.
Generating, transformation, and testing of pseudorandom numbers. Stochastic
models, Monte Carlo method.
Overview of commonly used simulation systems.

Preparing and Evaluating Projects


This course provides an overview of project management, focusing on project
initiation and control. A discussion of the different types of projects, the project life
cycle as well as the intricacies of defining and monitoring project resources, cost,
scope and schedule through work breakdown structures, the precedence
diagramming method and earned value analysis among other tools is included.
Popular project management software are also introduced.

Introduction to the preparation and evaluation of projects.


Techniques of pert / cpm.

P a g e 6|9

Concept of networks and their application.


Diagrams - graph theory.
Evaluation of projects.
Investment analysis.
Financial study of the project.
Flow of funds.

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.

Review of Basic Concepts


Program Development Process
Abstract Data Types
Classes and Objects
Code Organization
Functions
Arrays
Testing and Debugging
Intermediate Review
Pointers and Addressing
New and Delete Operators
Using Dynamic Memory, C-Style Strings and Other Examples
Copy Constructor

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

Simple Search Algorithms


Elementary Sorting Algorithms
More Efficient Sorting Algorithms
External Sorting
Standard Library Algorithms
Hashing

Algorithms
This course introduces the analysis and design of computer algorithms containing the
following:

Analyze the asymptotic performance of algorithms.


Demonstrate a familiarity with major algorithms and data structures.
Apply important algorithmic design paradigms and methods of analysis.
Synthesize efficient algorithms in common engineering design situations.

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.

Introduction to the engineering of Software.


Management of Software projects.
Software project planning.
Risk management.
Software quality assurance.
Conventional Software engineering.
The process of Software and metrics.
Conventional modeling techniques.
Software testing techniques.
Object-oriented Software engineering.
The process of Software and metrics.
Object-oriented modeling techniques.
Software testing techniques.
Formal methods in Software engineering.
Tool CASE.
Software engineering on the Web.

P a g e 9|9

You might also like