Chapter 8:
High-level Programming Languages and C++
- Compilation process and Figure 8.1
C++ Syntax
- Comments
- Include directive
- Using directive
- Free-format language
Virtual data storage
- constants
- case-sensitive
- free-format language
- memory location
- declarations and data types
Statement Types
- Input / output statements
- cout <<
- cin >>, user prompts
- Assignment statements & Operators
- Control statements
- Conditional statements (Boolean conditions)
- if
- if / else
- Conditional operators (==, <, <=, >, >=, !=)
- Looping statements
- while (condition) {}
- 1. initialization of variables; 2. use in conditional 3. update inside loop
- for loops
- for(init / declare loop control variable; loop while condition true; update loop control var at end of each loop)
- Infinite loops
Complete Programs & Managing Complexity
- Divide and conquer problem-solving approach
- Structure chart / diagram
Object-Oriented Programming (high-level only)
- Encapsulation, Interface and Inheritance
- Software reuse
- More natural "world view"
Graphical Programming (high-level only)
- Graphics library
- Text book's example
Software Engineering
- Software life cycle
- Figure 8.35
- Before Implementation
- Feasibility study -> Feasibility document
- Problem specification -> problem specification document
- Program design phase -> program design document
- Algorithm selection or development and analysis
- Implementation
- After Implementation
- Testing, verification, and benchmarking
- Documentation (internal and external)
- Maintenance
- Integrated Development Environments (IDEs)
|
Chapter 9:
Procedural (Imperative) Languages
- external libraries
- legacy code
- FORTRAN
- COBOL
- C
- pointers
- system programming
- Ada
- Java
- C# and .NET
- .NET Framework
- Microsoft Intermediate Language (MSIL)
- Just In Time (JIT) compiler
Special Purpose Languages
Alternative Programming Paradigms
- Paradigm -> model or framework
- Functional programming & LISP
- Atoms - most basic "thing" in LISP
- Prefix notation
- List handling
- Functions
- function definition: defun
- base case
- recursive functions (calls itself until reaches base case)
Logic Programming
- Declarative languages
- Query
- Expert systems
- PROLOG
- knowledge base
- inference engine / query interpreter
Parallel Programming
- SIMD programming
- Single parallel instruction creates multiple results
- Cn language example
- MIMD programming
- Divide and Conquer approach to programming
- GPGPU programming (General Purpose Graphical Processing Unit)
- Uses video card technology to create programs
- NVIDIA is one card that does this
|