Neko

C173 - Programming and Scripting Fundamentals

I found this class to be a helpful refresher, and was able to complete it quickly. The Design Process went over concepts that were introduced by Project Management but UML was an entirely new concept to me. I also had never heard of loops and conditionals referred to as branching, but other than that the class will probably be familiar if you've ever tried to learn a programming language before.


Last updated: May 4th, 2023

Basic Constructs

Functions

  • Function Declaration:
    • Function myFunc(integer myInt) return string myRetnVar
      • The data type goes before the parameter name
      • The return parameter may be assigned after the function declaration or within the function body but it must be declared within the function declaration
  • Calling a function with args
    • myFunc(2765)

Algorithms

Sorting

  • Bubble Sort
    • Compares adjacent elements in an array
    • Inefficient at large scale
  • Merge Sort
    • Divides array into halves until it has sub-arrays of size 1, it then merges them back together
    • More efficient than bubble sorting

Search

  • Linear
    • Compares values sequentially
    • Inefficient for large datasets
  • Binary

The Design Process

SDLC

  1. Analysis
    • Defines goals
  2. Design
    • Defines specifics that will apply to the program
  3. Implementation
    • Writing the program
  4. Testing
    • Checks that the program correctly meets the goals.
  • Waterfall
    • Sequentially carries out the SDLC
  • Agile
    • Does small parts of each step in the SDLC at a time.

UML

  • Use Case Diagram
    • Behavioral
    • Analysis
  • Class Diagram
    • Structural
    • Design
  • Activity Diagram
    • Behavioral
    • Implementation
  • Sequence Diagram
    • Behavioral
    • Testing

Programming Languages

Typecasting

  • Static
    • Data types must be declared and cannot be changed
  • Dynamic
    • Variables can be assigned to any data type at any point in the program without type declaration

Language Family

  • Interpreted
    • Slower
    • Can be run on any device with the correct interpreter
    • Run line by line
  • Compiled
    • Faster
    • Can only be run on the machine arch type it was compiled for
    • Code is compiled to machine code and then can be run

OOP

  • Object Oriented Programming
    • Groups of related data in classes

Resources