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
- Analysis
- Defines goals
- Design
- Defines specifics that will apply to the program
- Implementation
- Writing the program
- 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