Understanding Software & JavaScript: Types, Languages, Control & Functions - Prof. Jimmy J, Study notes of School management&administration

An overview of software, its types, programming languages, types of programming, and basic concepts of programming. It covers machine language, assembly language, high-level languages, data types, variables, operations, instructions, control structures, and functions. The focus is on javascript, with examples and explanations of sequential, conditional, and repetition control structures, as well as arrays and functions.

Typology: Study notes

Pre 2010

Uploaded on 07/30/2009

koofers-user-9yn
koofers-user-9yn 🇺🇸

10 documents

1 / 5

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
1
LBSC 690: Session 10
Programming, JavaScript
Jimmy Lin
College of Information Studies
University of Maryland
Monday, November 12, 2007
Software
Software “does something”
Tells the machine how to operate on some data
Software models aspects of reality
Input and output represent the state of the world
Software describes how the two are related
Examples:
Ballistic computations
Visa’s credit card verification system
Google
Microsoft Word
Types of Software
Application programs (e.g., PowerPoint)
What you normally think of as a “software’’
Compilers and interpreters
Programs used to write other programs
Operating system (e.g., Windows XP)
Manages computing resources
Embedded software (e.g., TiVO)
Programs permanently embedded inside some physical
device
Programming Languages
Software “does something”
Programming languages tell the machine “what to do”
Special purpose: geared towards specific tasks
Complex math (e.g., Matlab)
Databases (e.g., SQL)
General purpose: able to accomplish anything
Examples: Java, JavaScript, Perl, C, C++, ...
Types of Programming
Machine language
Language that the machine can directly understand
Assembly language
Directly specifies actions of the machine
Assembler changes instructions to machine code
High-level languages
Specifies machine instructions at a more abstract level
Compiler/interpreter translates to machine language
Examples: C/C++, Java, JavaScript
Visual programming languages
Visually arrange interface components
Example: Visual Basic
Types of Languages
Hardware
Machine Language
Assembly Language
CJava Pascal COBOL
pf3
pf4
pf5

Partial preview of the text

Download Understanding Software & JavaScript: Types, Languages, Control & Functions - Prof. Jimmy J and more Study notes School management&administration in PDF only on Docsity!

LBSC 690: Session 10

Programming, JavaScript

Jimmy Lin

College of Information Studies

University of Maryland

Monday, November 12, 2007

Software

 Software “does something”

 Tells the machine how to operate on some data

 Software models aspects of reality

 Input and output represent the state of the world

 Software describes how the two are related

 Examples:

 Ballistic computations

 Visa’s credit card verification system

 Google

 Microsoft Word

Types of Software

 Application programs (e.g., PowerPoint)

 What you normally think of as a “software’’

 Compilers and interpreters

 Programs used to write other programs

 Operating system (e.g., Windows XP)

 Manages computing resources

 Embedded software (e.g., TiVO)

 Programs permanently embedded inside some physical

device

Programming Languages

 Software “does something”

 Programming languages tell the machine “what to do”

 Special purpose: geared towards specific tasks

 Complex math (e.g., Matlab)

 Databases (e.g., SQL)

 General purpose: able to accomplish anything

 Examples: Java, JavaScript, Perl, C, C++, ...

Types of Programming

 Machine language

 Language that the machine can directly understand

 Assembly language

 Directly specifies actions of the machine

 Assembler changes instructions to machine code

 High-level languages

 Specifies machine instructions at a more abstract level

 Compiler/interpreter translates to machine language

 Examples: C/C++, Java, JavaScript

 Visual programming languages

 Visually arrange interface components

 Example: Visual Basic

Types of Languages

Hardware

Machine Language

Assembly Language

C Java Pascal COBOL …

Machine Language

 Everything is a binary number

 Operations

 Data

 Memory locations

 For instance

 00001000 ADD

 00010101 first number (21)

 01010110 second number (86)

 0010 register 2

Assembly Language

 One level up from machine language

 Symbolic instructions

 Symbols representing memory locations

 For instance

 Assembly code is directly translatable into machine language

ADD 21, 86, R

High-Level Languages

 Instructions represent higher-level constructs

 Closer to how humans approach problems

 Must be converted into machine code by a compiler or

interpreter

Programming: Overview

 A program consists of a sequence of instructions

 Basic concepts:

 Data types

 Variables

 Basic operations

 Instructions

 Structures for controlling how instructions are executed:

 Sequential

 Conditional

 Repetition

Programming: Foundations

 Data types = things that you can operate on

 Boolean: true, false

 Number: 5, 9, 3.

 String: “Hello World”

 Variables hold values of a particular data type

 Represented as symbols (e.g., x )

 Operations = things that you can do

 - x reverse the sign of x (negation)

 6+5 Add 6 and 5 (numeric)

 “Hello” + “World” Concatenate two strings

 2.1 * 3 Multiply two values

 x ++ increase value of x by 1

Basic Instructions

 Assignment = store the result of an operation

 x = 5 set the value of x to be 5

 x += y x = x + y

 x *= 5 x = x * 5

 In JavaScript, var declares a variable

 var b = true; create a boolean b and set it to true

 var n = 1; create a number n and set it to 1

 var s = “hello”; create a string s and set it to “hello”

 In JavaScript, all instructions end with a semicolon (;)

Functions

 Reusable code for doing a single task

 A function takes in one or more parameters and returns one value

function convertToCelsius(f) {

var celsius = 5/9 * (f-32);

return celsius;

function weirdAddition(a, b) {

var result = a + b - 0.5;

return result;

Calling Functions

 When you “call” a function, you invoke the set of instructions it represents

c = convertToCelsius(60);

function convertToCelsius(f) {

var celsius = 5/9 * (f-32);

return celsius;

More Examples

var f = 60; c = convertToCelsius(f);

r = weirdAddition(2, 4);

var a = 2; var b = 3; r = weirdAddition(a, b);

Programming Paradigms

 Procedural Programming

 Group instructions into meaningful functions

 Examples: C, Pascal, Perl

 Object oriented programming

 Group “data” and “methods” into “objects”

 Naturally represents the world around us

 Examples: C++, Java

Algorithms

 Derived from the name of the Persian mathematician Al-Khwarizmi

 A sequence of well-defined instructions designed to accomplish a certain task

Programming for the Web

 Common Gateway Interface (CGI) [Server-side]

 User inputs information into a form

 Form values passed to the sever via CGI

 Program on the server generates a Web page as a

response

 JavaScript [Client-side, interpreted]

 Human-readable “source code” sent to the browser

 Web browser runs the program

 Java applets [Client-side, compiled]

 Machine-readable “bytecode” sent to browser

 Web browser runs the program

 Not related to JavaScript (other than similarities in

syntax)

Where is the JavaScript?

 JavaScript is usually kept in the section of an HTML document

Handling Events

 When does code actually get executed?

 Events:

 User actions trigger “events”

 Embedded in all modern GUIs

 Event handlers are used to respond to events

 Examples of event handlers in JavaScript

onMouseover: the mouse moved over an object onMouseout: the mouse moved off an object onClick: the user clicked on an object

Input and Output

 How do you get information to/from the user?

 Forms provide a method for accepting input and

displaying output

In HTML

Please enter a number:

The sum of all numbers up to the number above is

JavaScript code var num = eval(document.input.number.value); document.output.number.value = 10;

Reads in a value eval function turns it into a number

Changes the value in the textbox

JavaScript Resources

 Google “javascript”

 Tutorials: to learn to write programs

 Code: to do things you want to do (“borrow”)

 Books

Programming Tips

 Details are everything!

 Careful where you place that comma, semi-colon, etc.

 Write a little bit of code at a time

 Add a small new functionality, make sure it works, then

move on

 Don’t try to write a large program all at once

 Debug by outputting the state of the program

 Print out the value of variables using document.write

 Is the value what you expected?