When analysing markets, a range of assumptions are made about the rationality of economic agents involved in the transactions
The Wealth of Nations was written
1776
Rational
(in classical economic theory) economic agents are able to consider the outcome of their choices and recognise the net benefits of each one
Producers act rationally by
Selling goods/services in a way that maximises their profits
Workers act rationally by
Balancing welfare at work with consideration of both pay and benefits
Governments act rationally by
Placing the interests of the people they serve first in order to maximise their welfare
Rationality in classical economic theory is a flawed assumption as people usually don't act rationally
If you add up marginal utility for each unit you get total utility
SEIYUN UNIVERSITY
College of Applied Science – CS department
INFORMATION TECHNOLOGY
Instructor: Dr. Mazin Md. Alkathiri
Seiyun University - Yemen
LECTURE 3:
SOFTWARE CONCEPTS
Types of software
System software
Application software
System software
Operating systems
Programming languages
Database systems
Application software
General office tasks (word processing, etc.)
Accounting
Design
Factory automation
Computer program
A series of instructions written in the language of the computer which specifies processing operations that the computer is to carry out on data
Programming
The process of producing a computer program, involving writing, compiling, running, and debugging the program
Programming languages
Machine language
Assembly language
High-level languages
Machine language
The lowest-level programming language, consisting of binary code that is immediately understood by computers
Machine language
Almost impossible for humans to use
Instructions are in the form of a Binary code also called machine code and are called machine instructions
Assembly language
A programming language that uses mnemonic codes and symbolic addresses, which are then translated into machine code by an assembler
Common features of Assembly language
Mnemonic code
Symbolic Addresses
1 to 1 translation to machine language
Assembly language statements
INC COUNT
MOV TOTAL, 48
ADD AH, BH
AND MASK1, 128
ADD MARKS, 10
MOV AL, 10
Assembler
A program that converts assembly language into machine code
High-level languages
Machine independent and problem-oriented programming languages that are more abstract, easier to use, and more portable across platforms than low-level languages
High-level languages
Programmer uses variables, arrays, and Boolean expressions to develop logic
Source programs are written in statements akin to English
Translated into machine language code with a compiler or interpreter
Interpreter
A translation program that converts each high-level language statement into the corresponding machine code, executing the program statement by statement
Compiler
A program that translates the entire high-level source code into executable machine code prior to execution
Computer program compilation process
1. Lexical analysis
2. Syntactical analysis
3. Type/Semantic checking
4. Code optimization
5. Code generation
High-level language examples
Fortran
Basic
Visual Basic
C
C++
Java
High-level language categories
Procedure-oriented languages
Problem-oriented languages
Natural languages
Procedure-oriented languages
High-level languages designed to solve general-purpose problems, using English-like commands that are easy to follow and portable
Problem-oriented languages
Also known as Fourth Generation Languages (4GL), used to solve specific problems with simple English-like syntax
Natural languages
Also known as Fifth Generation Languages, designed to make computers behave like experts and solve problems, where the programmer just specifies the problem and constraints