Basics of Programming Flashcards
Identify interpreted programming languages and compiled programming languages.
Interpreted:
* Javascript - simpler scripting language that runs through web browser interpreter
* Python - popular because it’s easy to learn and use for developers
* Lua - general purpose game scripting language, easy to learn and use
* HTML - markup language used for formatting webpages
Compiled:
* C, C++, C# used in many OS, microsoft, windows, apple macos, linux
* Java (Android OS) - NOT Javascript
Compare interpreted and compiled programming languages.
Interpreted > Goes through interpreter > Interpreter is the OS or web browser
* Aka script code or scripting, used to automate tasks
* Interpreter programs read and execute the source code line by line
* The source code needs to be executed each time
* Runs on almost any operating system with the right interpreter
Compiled > Executable files > Grouped in programs on your device
* Aka programming languages
* More complex programs that complete larger tasks
* Larger programs installed on compter or device
* Longer time to write the code but runs faster
* Grouped into one downloadable file
Major Differences
Intepreted
* Available across multiple platforms or in the cloud
* Easier to learn and use
* Better for websites and smaller, repeated processes
Compiled
* Same operating system coded in the same language
* More difficult to learn and use
* Better for larger tasks like an OS
Describe query languages and assembly languages.
High level languages
* More sophisticated
* Use common English
* SQL, Pascal, Python
* Query, Structured Programming Language, Object-oriented
Low level languages
* Uses simple symbol to represent machine code
* Ex: ARM, MIPS, X86
* Assembly languages
Define the two main methods of organizing and planning code and describe the advantages of each.
Flowcharts
* Pictorial representation of algorithm, displays steps as boxes and arrows
* Used in designing or documenting a process or program
Pseudocode
* Basic, Informal, high-level description of algorithm
* Algorithm is Step-by-step sequence of solving a problem
Design simple flowcharts.
List the differences between branching and looping.
Branching is deciding what actions to take while looping is deciding how many times to perform an action
Describe the purpose and use of identifiers and containers.
Identifiers
Software developers use identifiers to reference program components
* Stored values
* Methods
* Interfaces
* Classes
Containers
* Special type of identifier to reference multiple program elements
* No need to create variable for every individual element
* Faster and more efficient
Describe the purpose and use of functions and objects.
Functions
* Consequence of modular programming software development methodology
* Multiple modular components
* Specific task within a program
* Structured, stand-alone, reusable code that performs a single specific action
* Enables software developers to take a substantial, complex program and divide it into smaller, more manageable, and focused pieces
Objects
* Key to understanding object-oriented programming (OOP)
* OOP is programming methodology focused on objects rather than functions (which is what procedure oriented programming is focused on)
* Objects contain data in the form of properties (attributes) and code in the form of procedures (methods)