FTCE Computer Science
Merge Sort
A list is split into individual lists, these are then combined (2 lists at a time).
assembly language
A low-level programming language that uses letters and numbers to represent machine language instructions
DHCP (Dynamic Host Configuration Protocol)
A network service that provides automatic assignment of IP addresses and other TCP /IP configuration information.
Polymorphism
Able to interpret message so it is understandable in different contexts
Developments in computing - System of Logic (1800s)
Ada Lovelace and George Boole
Binary Search Algorithm
An algorithm that searches for a target value in a SORTED list by checking at the midpoint and then repeatedly cutting the search section in half.
Two major categories of primitive data
Boolean and numeric
Features of K-12 Comp Sci Curriculum
Computer recognition, basic problem solving, and basic algorithm development
interpreter
Converts a program written in a higher level language into a lower level language ONE LINE AT A TIME
First mini-computer (1965)
DEC PDP-8
Hubs
DUMB, takes packets of data from one port and repeats it out to every other port (replaced by switches)
3rd Layer - Network Layer
Decides which physical path the data will take
2nd Layer - Data Link Layer
Defines the format of data on the network
Z3 computer
Developed by Nazis at the same time as the ABC
Well known first generation computer(s)
ENIAC
OLAP (Online analytical processing)
Enables rapid retrieval and analysis of data
6th Layer - Presentation Layer
Ensures that data is in a usable format and is where data encryption occurs
Advantages of Divide and Conquer
Excellent for complex issues, ideal for multiprocessor machines, more accurate results, not reliant on cache size
HFS+
Hierarchical File System developed for Mac OS
7th Layer - Application Layer
Human-computer interaction layer where applications can access the network services
Last mini-computer
IBM AS/400
Incremental Software Process Model
Lots of trial and error; simple trial before advancing
5th Layer - Session Layer
Maintains connections and is responsible for controlling ports and sessions
Earliest personal computers
Mark-8, MITS Altair 8800, Apple I
Switches
SMART, memorizes the MAC addresses of each connected device; controls the flow from one device to the correct device
Imperative Programming
Sequence of commands
Qualities of Bus Network
Simple; inexpensive; ideal for small, temporary networks; one malfunction brings it all down
Variable
Single location in memory; capable of storing one value
Recursion
Solving a larger problem by breaking it into smaller versions of the same problem(Fibonacci)
Casting (in Java)
When you assign a value of one primitive data type to another type
ADT (Abstract Data Type)
converts and presents information so users can understand it (stack, queue, string, etc.)
UNIVAC I (1951)
data stored on magnetic tape; extremely expensive, huge, lots of electricity
Flowchart - diamond
decision/condition
Bubble Sort
repeatedly compares pairs of adjacent elements and swaps positions if they are in the wrong order
Backtracking
retrieve instructions in reverse order from how they were entered (recursive tasks like undo)
Qualities of Star Network
increased speed; greater security, one malfunction doesn't affect all, install and repair are easy
Flowchart - parallelogram
input/output
ARCnet
older network cabling for LAN; obsolete, replaced with Ethernet cable
Fixed-Format Language
one in which all tokens must occur in predetermined locations on the page
Arpanet
packet switching to allow multiple computers to communicate on a single network (1960s)
Routine
procedure in programming
Flowchart - rectangle
process
Reports
process the data while forms don't
Object
program unit
Declarative Programming
programmer provides a description of a problem; solved by general problem solving algorithm
Imperative statements
programming steps
TCP (Transmission Control Protocol)
provides reliable, ordered, and error-checked delivery of a stream of packets on the internet.
First generation computers
vacuum tubes; created for specific purposes with very little flexibility
Hollerith's Tabulating Machine
punched cards into a card reader
*
wild for one or more characters in a search
?
wild for only ONE character in a search
WWAN and WLAN
wireless
Insertion Sort Algorithm
- look at the second item in a list - compare it to all items before it and insert the item into the right place - repeat the second step for the rest of the items until the last item in the list has been inserted into the correct place
Iterative Software Process Model
Like incremental, but each version is rebuilt
Encapsulation
Limits access outside of program (private)
ISP (Internet Service Provider)
A company that provides customers access to the Internet.
compiler
A computer program created to read AN ENTIRE PROGRAM and convert it into a lower-level language and ultimately to assembly language used by the processor.
CSS (Cascading Style Sheets)
A feature added to HTML used for formatting, layout, and other design elements of a web page
Divide and Conquer
A program design strategy in which tasks are broken down into subtasks, which are broken down into sub-subtasks, and so on, until each piece is small enough to code comfortably. These pieces work together to accomplish the total job.
Selection Sort
A sort algorithm that repeatedly scans for the smallest item in the list and swaps it with the element at the current index.
procedural programming
Also called "imperative programming" and "structured programming"; uses a list of instructions to tell the computer what to do step-by-step; relies on procedures. Examples: Fortran, COBOL, C, etc.
Greedy Algorithm Design Paradigm
Always selects the locally (current problem only) optimal solution
Developments in computing - Early 1800s
Babbage's Difference Engine
BIOS
Basic Input/Output System; tells computer how to start up
FAT
File Allocation Table - one of the older types, but is supported by most operating systems
IBM 5100
First Portable computer (1975)
Hollerith's Tabulating Machine was the
First calculating machine to require electricity (used in the 1890 Census)
IDE
Integrated Development Environment
Fourth Generation Computer Examples
Intel, Motorola, Texas Instruments
NTFS
New Technology File System for Windows
Lean Software Development Model
No room for multi-tasking, focusing on what has to be done at the time
Features of College Comp Sci Curriculum
Numerous choices, advanced computer content, relevant themes, complete coverage
Waterfall Software Development Model
One direction; don't go back; One phase completed before starting the next
Qualities of Ring Network
One failure doesn't bring it all down; no server needed; slower; more expensive
Southbridge
Part of a motherboard chipset; handles all the inputs and outputs to the many devices in the PC.
MAC (Media Access Control)
Physical addresses that pertain to addresses of the network card
Agile Software Development Model
Product implementation is more important than design; better for changing requirements
Well known third generation computer(s)
RCA Spectra 70, IBM 360, DEC PDP-8, IBM AS/400
shell sort
Starts by sorting pairs of elements far apart from each other, then progressively reducing the gap between elements to be compared.
DNS (Domain Name System)
The Internet's system for converting alphabetic names into numeric IP addresses.
kernal
The part of the operating system that controls memory and file access
Northbridge
This chip forms an interface between the CPU, main memory, and other components
4th Layer - Transport Layer
Transmits data using transmission protocols including TCP and UDP
1st Layer - Physical Layer
Transmits raw bit stream over the physical medium
DevOps Model
Uses both agile and lean; developers and operations work together; updates are small but frequent
Routers
allow multiple networks to be linked across the internet; most have firewalls
Logic Error
an error in source code resulting in unexpected behavior
static variable
available to all instances of a class once it is declared
data
basic facts or values
Linked List
best technique for storing a dynamic list of names; pointers used to link location for storing
Contiguous list
best technique for storing a static list of names
Decomposition
breaking down complex problems into smaller, more manageable chunks
recursive function
calls itself repeatedly to solve a computing problem
Modifications
changes to the actual curriculum
Java string is an object and a(n)
class
link
combining libraries
RAM (Random Access Memory)
computer's main memory; stored data accessed in any order
Declarative statements
define terms in the program to be used later
Scope
defines sections of a program in which variables exist
Fault tolerance
describes a system that can continue to function even in the event of individual component failures
Visual Basic
designed to teach programming
==
does not assign a value
Syntax error
error in source code
Runtime error
error that occurs while program is running
tree, lists, arrays, queues
examples of a composite data type (more than one primitive data type)
UNIVAC was the
first commercially successful computer
ABC (Atanasoff-Berry Computer)
first to use binary and vacuum tubes instead of switches
Spiral Model
flexible; typically used for large projects; broken into four phases
Real Data Type
float, double (decimals)
Third generation computers
integrated circuit; smaller chip, greater efficiency
Grace Hopper
invented the first compiler in 1952 Lead team that invented COBOL in 1961
Logarithmic computational complexity
items in the data set are processed once, but some are processed twice
Control Statement
manages the sequence of program execution
Napier's Bones
manual calculator created after the abacus
Overloaded (methods in Java)
methods that perform different actions but have the same name; same methods with different arguments
Fourth generation computers
microprocessor; smaller, more powerful, less expensive
Requirements Specifications
most important part of system development
Sequential (Linear Search)
search the starts from the first item in order until either the item is found or it reaches the end (search is very slow)
Structured Programming
seeks to make the most efficient, accurate, and readable use of control statements
Instance
single object in a class
RAM determines location by
size of the record
Flowchart - oval
start and end points
HTML (Hypertext Markup Language)
the predominant language used to create/build web pages
Overridden (methods in Java)
the same method with the same parameters but in different classes
Second Generation Computers
transistors replaced vacuum tubes as switches; contained compilers for English style commands
Class
type of object
RJ-45
used by 8 wire systems
IBM's Harvard Mark I
used decimals instead of binary