Introduction to Software Engineering

The Importance of Software Engineering

The term “software engineering” was introduced in the late 1960s due to the software crisis. This crisis resulted from the introduction of the third generation of hardware. As hardware ceased to be an impediment to the development of information technology, reduced costs and the need for improved quality and efficiency of software production led to challenges characterized by the following problems:

  • Unclear project planning and cost estimation.
  • Poor software quality.
Read More

Cryptography, Security & Viruses: A Comprehensive Overview

Key Cryptography

Asymmetric Cryptography

Inefficient to implement (establishes symmetric key cryptography).

Symmetric Cryptography

Efficient to implement.

SSL

SSL authenticates and provides confidentiality.

Salting

Salting makes the hash unique for repeated passwords.

  • Can detect if a hash is salted because no particular password should have a higher frequency than any other under ideal salting. Salting truly ties the frequency.

Firewall

Limits network traffic. Many kinds: personal, filter based on packet header,

Read More

Introduction to Databases and SQL

Data and Databases

Data

Data is facts and figures which when combined and interpreted can form information. Data is meaningless until it is interpreted and put into context.

Databases

Databases organize and store data. They provide ways to extract data and turn it into information. They are required by any small, medium, or large business.

Different Uses

  • OLTP – Online Transaction Processes
  • OLAP – Online Analytical Processes

Different Types

Different types of databases affect access and data modelling.

  • RDBMS
Read More

Understanding Network Protocols and Data Communication Techniques

Carrier Sense Multiple Access (CSMA)

This method was developed to decrease the chances of collisions when two or more stations start sending their signals over the data link layer. Carrier Sense Multiple Access (CSMA) requires that each station first check the state of the medium before sending.

CSMA is a network protocol used to manage how data packets are transmitted over a shared communication medium, such as an Ethernet network. CSMA is particularly important in environments where multiple devices

Read More

C++ Programming Examples: Structures, Functions, and Classes

1. Working with Structures

1a. Declaring a Structure

Declare a structure named Organization containing:

  • a string named name
  • an int named seats

struct Organization
{
  string name;
  int seats;
};

1b. Using the Structure

In the main function, create a variable named x of type Organization. Assign “Opera San Jose” to the string and 1000 to the int in x.


int main(void)
{
  Organization x;
  x.name = "Opera San Jose";
  x.seats = 1000;

  // Code to process the structure is omitted

  return 0;
}

2. Modifying

Read More

SQL Commands and Database Concepts: A Comprehensive Guide

DBS201 Test 1 Review

SQL Commands

CREATE

Used to create database objects like:

  • Collection
  • Table
  • View

DROP

Used to delete database objects.

ALTER

Used to modify existing database objects.

INSERT

Used to add new data into a table.

  • Can be used as INSERT INTO.

SELECT

Used to retrieve data from a table.

Syntax:

SELECT attribute(s)
FROM table(s)
WHERE condition(s)
ORDER BY attribute(s)

At minimum, you must select the attribute and the table it’s from.

  • * can be used as a wildcard character to select all columns.
  • Comparison
Read More