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
Read More

Complete Guide to (X)HTML Elements and Attributes

(X)HTML Elements and Attributes

Tag/Attribute(s)DescriptionVers.
–most tags–The following attributes may be used with most (X)HTML tags 
classFor identifying a set of tags in order to apply styles 
eventFor triggering a script 
idFor identifying particular tags for JavaScript functions and styles 
langFor specifying the language an element is written in 
styleFor adding local style sheet information 
titleFor labeling elements with tool tips 
!–For inserting invisible comments 
!doctypeRequired.
Read More

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 More

Introduction 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 More

Java 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

doubleint : (int) casting


String Conversion

Stringint : int x = Integer.parseInt(" ");
Stringdouble : double y = Double.parseDouble(" ");
Stringboolean : boolean z = Boolean.parseBoolean("true/false");


Scope

The parts of the program where
Read More

Computer Organization and Architecture Fundamentals

Computer Technology and Architecture

  1. Computer technology is changing at a rapid pace.
  2. Computer architecture refers to those attributes that have a direct impact on the logical execution of a program.
  3. Architectural attributes include I/O mechanisms.
  4. Organizational attributes include hardware details transparent to the programmer.
  5. It is an architectural design issue whether a computer will have a multiply instruction.
  6. It is an organizational issue whether the multiply instruction will be implemented by
Read More