Programming Language Concepts: Semantics, Bindings, Scoping, and More
Programming Language Concepts
BNF and EBNF
Understand how to describe language features, such as loops, using BNF or EBNF. Be able to convert between these two notations.
BNF Example
+ | - | * | /
EBNF Example
} -> {
Semantic Languages
Learn about attribute grammars, operational semantics, denotational semantics, and axiomatic semantics. Understand their purpose and how they function.
- Attribute Grammars: Contain semantic information on parse tree nodes. Used for static semantics specification and compiler
Complete Guide to (X)HTML Elements and Attributes
(X)HTML Elements and Attributes
Tag/Attribute(s) | Description | Vers. |
---|---|---|
–most tags– | The following attributes may be used with most (X)HTML tags | |
class | For identifying a set of tags in order to apply styles | |
event | For triggering a script | |
id | For identifying particular tags for JavaScript functions and styles | |
lang | For specifying the language an element is written in | |
style | For adding local style sheet information | |
title | For labeling elements with tool tips | |
!– | For inserting invisible comments | |
!doctype | Required. |
Visual Processing and Image Analysis: A Deep Dive
Human Visual System (HVS)
Optic axis shifted ~ 5 degrees towards temple | Cornea is main refractive surface | Iris determines size of pupil | Pupil serves as an aperture | Retina receives wavelengths between 380-950 nm | We can see 380-770 nm, more red than blue, and 70-85% of white light reaches retina | Lens allows for focus by changing curvature | In young eye, cornea absorbs most of radiation below 300 nm, and lens filters out wavelength below 380 nm | Rods are cylinders and for low light, cones
Read MoreIntroduction to Computers
Computer
A computer is an automatic electronic calculating device that can process given input in a prescribed manner to produce a desired output at a very high speed with remarkable accuracy. It can also perform all arithmetic and logical functions according to instructions given in a systematic order to solve any problem and produce processed information.
Advantages of Computers
Speed
Since a computer is an electronic machine, electrical pulses travel at the rate of passage of electric current. This
Read MoreJava Fundamentals: Type Conversion, Scope, Arrays, and More
Type Conversion
int n = Integer.parseInt("53");
// compile-time error
double m = Integer.parseInt("53");
// automatic conversion (int to double)
int n = Double.parseDouble("53");
// compile-time error
int n = Integer.parseInt("cat");
// run-time error
double
→ int
: (int)
castingString Conversion
String
→ int
: int x = Integer.parseInt(" ");
String
→ double
: double y = Double.parseDouble(" ");
String
→ boolean
: boolean z = Boolean.parseBoolean("true/false");
Scope
Computer Organization and Architecture Fundamentals
Computer Technology and Architecture
- Computer technology is changing at a rapid pace.
- Computer architecture refers to those attributes that have a direct impact on the logical execution of a program.
- Architectural attributes include I/O mechanisms.
- Organizational attributes include hardware details transparent to the programmer.
- It is an architectural design issue whether a computer will have a multiply instruction.
- It is an organizational issue whether the multiply instruction will be implemented by