Programming Concepts


Table of Contents

Please note - this site is presently being updated - corrections and additions.  What you see today may be different tomorrow.  Thanks for your patience.  

What is Programming?

1.1.01 Programming Language

1.1.02 Programmer vs. User

1.1.03 Steps to Execute a Program in a Computer

1.1.04 IPO Model of Problem Solving

1.1.05 IDEs - Interpreter/Compiler

1.1.06 API/Language References (Java & Python only)

1.1.07 Runtime Libraries 

Output

1.2.01 Introduction to Output

1.2.02 Controlling Character Output

1.2.03 Combining Strings and Variables in Output Lines

 

Variables

1.3.01 Declaration Statements (Initialization)

1.3.02 Data Types - integer, real, character, boolean, string

1.3.03 Assignment Statements (Initialization)

1.3.04 Constants

1.3.05 Built-in String Functions

1.3.06 Program Tracing

1.3.07 Casting - Conversion among different types

 

Understanding Math

1.4.01 Math Operators BEDMAS

1.4.02 Incrementation and Decrementation

1.4 03 Built-in Math Functions

1.4.04 Character Arithmetic

 

Input

1.5.01 Keyboard Input

 

Conditionals

2.1.01 Relational Operators

2.1.02 Boolean (logical) Operators

2.1.03 Decision Making/Selection - Simple Conditions (IF)

2.1.04 Decision Making/Selection - Simple Conditions (IF/ELSE)

2.1.05 Decision Making/Selection - Combining Conditions

2.1.06 Decision Making/Selection - Nesting

 

Repetition

2.2.01 Repetition - Introduction

2.2.02 Repetition - Counted loops

2.2.03 Repetition - Counters and Accumulators

2.2.04 Repetition - Conditional Loops

2.2.05 Repetition - Infinite Loops 

2.2.06 Repetition - Nesting

2.2.07 Continue and Break

2.2.08 Incrementation and Decrementation

2.2.09 Flags and Sentinels

 

Program Design

3.1.01 Problem Solving

3.1.02 Problem Solving in Programming

3.1.03 Program Planning & Design

3.1.04 Software Development Life Cycle

3.1.05 KISS

3.10.6 Error Trapping Exceptions

3.1.07 Efficient Use of Decision Structures

3.1.08 Flow Charting and Pseudo Code


Programming Style & Conventions

3.2.01 Programming Style & Conventions

3.2.02 Documentation - Internal & External

3.2.03 Guidelines for Variable, Method , and File Names

3.2.04 Indentation

3.2.05 Creating Test Cases

 

Debugging

3.3.01 Debugging

3.3.02 Types of Errors: Logical, Syntax, Runtime


Code Organization - Subroutines

4.1.01 Subroutines

4.1.02 Subroutines  - Parameters

4.1.03 Subroutines  - Passing by Address Value

4.1.04 Subroutines  - Overloading

4.1.05 Subroutines  - Returning information

Arrays

4.2.01 Arrays - 1 Dimensional

4.2.02 Arrays - Parallel

4.2.03 Arrays - 2 Dimensional

4.2.04 Arrays - Multi-dimensional

4.2.05 ArrayList 

 

File Input/output

4.3.01 TextFile Reading

4.3.02 TextFile Writing

4.3.03 File Encryption

 

Object Oriented Programming

5.1.01 What is Object Oriented Programming?

5.1.02 OO Design 

5.103 Encapsulation

5.1.04 Object Constructors

5.1.05 Accessor/Mutator Methods

5.1.06 Return Methods

5.1.07 Overload Methods

5.1.08 Class Definitions

5.1.09 Inheritance

5.1.10 Polymorphism

5.1.11 Abstract Classes

5.1.12 Polymorphism Overriding Methods

5.1.13 Interfaces

5.1.14 Implements

5.1.15 Class Casting

5.1.16 Instance vs Class

5.1.17 Inner/Anonymous Classes

5.2.01 What is a GUI?

5.2.02 GUI - The Window

5.2.03 GUI - Adding Menus

 

Recursion

6.1.01 Recursion - Introduction

6.1.02 Recursion - Sorting

6.1.03 Recursion - Backtracking

6.1.04 Recursion - Tracing

 

Advanced Concepts

6.2.01 Linear Linked List

6.2.02 Abstract Data Type

6.2.03 Stacks

6.2.04 Queues


Sort and Search

7.1.01 Sorts

7.1.02 Type of Sorts

7.1.03 Common Sort Terms:  Pass

7.1.04 Common Sort Terms:  Swap

7.2.01 Bubble Sort

7.3.01 Search

7.3.02 Sequential (Linear) Search


Advanced Sort and Search

8.1.01 Big O Notation

8.2.01 Bubble Sort Efficiency

8.3.01 Selection Sort

8.3.02 Selection Sort Efficiency

8.4.01 Insertion Sort

8.4.02 Insertion Sort Efficiency

8.5.01 Merge Sort

8.5.02 Merge Sort Efficiency

8.6.01 Other Popular Sorts

8.7.03 Binary Search

8.7.04 Binary Search Part 2


Advanced Topics (Java)

9.1.01 Exception Class

9.1.02 The Try Block

9.1.03 Java Exceptions

9.1.04 Three kinds of Exceptions

9.1.05 Multiple Exceptions

9.1.06 The Finally Block