Sunday 29 May 2011

Issues in Data Management

Data Entry
Data Updates
Data integrity
Data security
Data accessibility

Data Entry

New titles are added every day
New customers are being added every day
Some of the above may require manual entry of new data into the computer systems
That can be achieved, for one, by user-interfaces that prevent the input of invalid data

Data Updates

Old titles are deleted on a regular basis
Inventory changes every instant
Bookd prices change
Shipping cost change
Customers perosnal data chage
Various discoutn schemes are always commencing and concluding
All those actions require updates to existing data

Data Security

All the data that Bholibooks has in its computer systems in quite critical to its operation
The security of the customers personal data is of utmost improtance. Hackers are always looking for that type of data, espically for credit card numbers
Enough leaks of that type and customers will stop doing busness with Bholibooks.

Data Integrity

Integrity refers to maintaing the correctness and consistencey of the data
Correctness free from errors
Consistencey no conflict among related data items
Integrity can be compromised in many ways
Typing errors
Transmission errors
Hareware malfunctions
Program bugs
Viruses
Fire, flood etc.

Data Accessibility

If the transaction and inventory data is placed in a disorganized fashion on a hard disk, it becomes very diffucult to later search for a stored data item
What is required is that
Data be stored in an organized manner
Additional info about hte data be storedso that the data access times are minimized.

BholiBooks

Consider the situation of a large, online bookstore
They have an inventory of millions of books, with new titles constantly arriving, and old ones being phased out on a regular basis
The price for a book is not a static feature it varies every once in a while
Thousands of books are shipped each day, changing the inventory constantly
Some are returned aganin changing the inventory situation constantly
The cost of each shipped order depends on
Pricess of individual books
Size of the order
Location of the customer
Mode of shipment
For each order the customer's particulars name address phone number credit card number are required.

Data Management

We looked at the distinguishing features of intelligent systems w.r.t other software systems.
We looked at the role of intelligent sytems in scientific, business, consumer and other applications.

(Artificial) Intelligent Systems

SW programs or SW/HW systems designed to perform complex tasks employing strategies that mumic some aspect of human thought.

Not a suitable Hammer for All Nails!

if the nature of computations required in a task is not well understood or there are too many exceptions to the rules or known algorithms are too complex or inefficient then AI has the potential of offering an acceptable solution

Selected Applications

Games Chess, Simcity
Image recognition
Medical diagnosis
Robots
Business intelligence

Neural Networks

Original inspiration was the human brain emphasis now on usefulness as a computational tool.

Genetic Algorithms

Based Drawin's evolutionary principle of survivial of the fittest
GAs require the ability to recognize a good solution, but not how to get to that solution

Wednesday 11 May 2011

Who is Computing Professional?

Professionals involded in the development and or maintenance of SW and or computer HW
Computer scientists software engineers computer engineers and some of the relecom engineers are engerally classified as computing professionals.

Todays Focus Group

Due to the limitation on time today we will be foucsing only on a subset of computing professionals those involded in the development of SW.
Let us further restrict discussion to computing professionals belonging to an organization foucsed solely on custom SW development
They work in a 100 person organization pretty big on a local scale but quite insignificant on an international one.

Development Team

the number of development teams has varied between 3-7 at this organization.
Team size has varied between 3-35.
Large teams are organized as a collection of sub teams.
Lowest level team Bo more than 7 members.
Responsible for a project from after the specifications stage till the very end.

Project  Manager

Responsibilities
Planning and tracking of the project
Arranging of the appropriate resources
Lient relationship management

Architect

Responsibilites
Technology selection
Highe level design
Make certain that the implementation remains true to the design

Team Lead

Responsibilties
Planning and tracking of the project
Detailed design
Professional development of team members
incase of small teams development activities

Developer

Responsibilities
Module level design
Coding
Unit testing

Executive Team

CEO Chief Executive Officer
Developer of the vision of the organization
Great PR skills
Great knack for spotting talent
COO cheif operating officer
Great organizational and interpersonal skills
CMSO Chief Marketing and Sale Officer
Responsibilites for bringing in work
Innovative

The Computing Profession

Today we discuss on the impact of computing on
Business
Work
Living
Health
Education
Why should we as computing professionals, be interested in studying the social implications of our creations?
computing technology has changed our way of life linke on other technology.
We need to study how ti has done it to highlight the mistakes and success stories of the past.
We need to do ti so that we can learn from them and select our future direction accordingly.

Dilemma of Computing

Are we heading towards a future where the role of the masters and the slaves will be switched?
should we slow down or even reverse some of the technology advances to avoid that dark scenario?

Powerful Global Corporations

Internet based communication is allowwing business entities to coordinate the activities of their globally spread units with greater accuracy
All this has made these busniess entities very powerful evn more powerful thatn many nation states.

The Network Organization

The network paradigm is becoming the preferred organizational structure of more and more organizations as time goes by
This new organization is replacing the old style layered tree structured organizational model.

Working from Home

Computing has make it possible for some to avoid going the office for their work.
They can do their work from home and communicate their ideas, questions, answers to their colleagues throught the internet
This gives them more time to spend with their families due to the time they save on commuting to their place of work.

From Mass to pesonalized Marketing

The Web has changed marketing foreve redirecting ti from a mass focus to a single person focus.

The political process

Throught computer discussion forums newsgroups and  mailing lists public and politicians may engage in a free open exchange of ideas without leaving the comfort of their not so comforatble and very comfortable homes respectively.

Distances Have Contracted

Beacuse of the ever decreasing costs of verbal text video communications, it is becoming easier to stay in touch with anyone, regardless of tehir physical location.

Distance Are increasing

Internet based communication is allowwing business entities to coordinate the activities of their globally spread units with greater accuracy
All this has made these busniess entities very powerful evn more powerful thatn many nation statesSolitude is the order of the day as many children and adults spend their free time surfing, chatting playing computer games instead of spending it on interacting with friends or family.

Saturday 7 May 2011

JavaScript Data Types

Unlike in C,C++ and javaa,There are no explicit  data types in javascript.
Numbers,  eg.23,4.3,-230,4.4e,24
Booleans,  eg.true,false
String,       eg,hello,"what is time?"  
Undefined
We will comebackto these data types,but before that we have to haveto define a few new terms

Variables

Variables  give  us  the ability to  manipulate data through reference instead of actual value.Variables are names assigned to values.
Variables  are containers that hold values.

Declearing Variables

Many languages require that a variable be declared before it is first used.Although Javascript allows variable declaration,it does not require it .Except in the case when we want to declare a variable being localmore on local variables later in the course!.

Declearing Variables
var height.var name,address, phone Number

Javascript Variables are Dynamically Typed


Any variable in javascript can hold any type of value,and that type can changemidway throgh the progam.
This is unlike the case for C,C++ and java,where a variable's type is defiend before usage.
The untyped feature makes Javascript simpler to program in when developing short programs.However,this feature brings in a few problems as well.

JavaScripts Operators.

Operators operates on oprands to achieve the desired results
JavaScript has numerous operators, classified in many categories.We willlook at only a few of thembelonging to the fellowing categories.

Assignment operators
Arithmetic operators
Comparison operators
String operators
Logical operators

Data Types & Operators

Today we are discussing about the  data types and operators
Everything that javascript manipulates, it treats as and object   a window or a button.
An object has properties. a window has size,position,status,etc
An object can be manipulated  with  methods that are associated with that  object a resize a window with resize to (150,200)

Types of Objects

JavaScripts objectes
Objects that are part of javascript
examples.window document

Browser objects
objects that contain info not about the contentsof the display  but the browseritself
Examples history, navigator.
User defined object

Object-Based, Not Object-Oriented

JavaScript is not a true object-oriented language like  C++or Java
Itis so because it lacks two k ey features
A formal inheritance mechanism Strong typing
The Concept of objects and associated properties and  methods is a very powerful idea, and we will be talking about it a lot during this course.
However  today our focus will be on someof the nitty gritty details of javascript.

Monday 2 May 2011

Device Drivers

A device driver often called a driver for short, is a computer program that is intended to allow another program to interact with a hardware device. Think of a driver as a manual that gives the operating system.
A device driver essentially converts the more general input/output instructions of the operating system to messege that the device type can understand.

Major Types of SW

System software is responsible for dcontrolling integrating, and managing the individual hardware components of a computer system.
System software performs tasks like transferring data from memory to disk. or rendering text onto a display specific kinds of system software include loading programs, operating systems, devices drivers, compilers, assemblers, linkers, and utlities.

Software libraries that perform generic functions also tend to be regarded as system termed firmware. these generally perform the background tasks in a comptuer.
These programs, many times talk directly to the HW.

Language Translators

Human programmers write programs in a language that is easy to understand for them. They use language translators to vonvert that program into machine language. It converts the human understandable code in uPs understandable code. Language that is easy to understand for the uPs.

Machine Language

A system of codes directily understandable by the computer CPU is termed this CPU native or machine language. Although they are in fact two dirrerent types of languages. Machine code is composed only of the two binary digits 0 and 1.
Every CPU has its own machine language, althought there is considerable overlap between some. If CPU a understands the full language of CPU B its is said that A is compatible with B.

Computer Software

Today we are discussing about the computer software.
Discuss about the role of software in computing systems
To learn to differentiate among software belonging to the system and application categories

Software

The set of instructions that operates various parts of the hareware. Also termed as Computer program.

The HW needs SW to be useful the SW needs HE to be useful
When the use needs something done by the computer he .she gives instructions in the form of SW to computer HW.these instructions need to be written in the language that is readily understood by the computer uP.