Sunday 20 December 2015

GUI - GRAPHICAL USER INTERFACE

What is a window?

Window is a rectangular portion of the monitor's screen that display its contents like menu, icon, a text file or an image file apparently independent of the res of the display screen .

What is a GUI?

GUI - Graphical User Interface is an environment that can work with the graphical objects and allow the event based interactions with the program
There are 3 GUI elements :
  1. The Explorer - manages the GUI 
  2. The Task bar - grey bar on the bottom of the window with the icons of active programs, clock, calendar and other utilities. 
  3. The Start Menu - A once button approach for accessing programs, help and system settings 

The components of GUI

  1. Icons : for representing applications/ programs 
  2. Menu : including placement and names of the options and styles 
  3. Tiled window : to view multiple windows of programs or data or multiple view of a single program or data block simultaneously 
  4. Dialog box : to select an option/ file/ setting. When an option is selected, previous selection will be turned off 
  5. Check box : for selection of multiple options as in specifying program or file attributes 
  6. Scroll bar : along the edges to show the relative position of the contents such as the beginning or the end of he text or to move to a different position such as another part of a spreadsheet 
  7. Support for pointing device typically, a mouse to select and drag screen elements 

Features of GUI

  1. It makes the computer operations easier to learn and use. 
  2. It allows multi tasking by allowing multiple programs to be displayed simultaneously, resulting in a large increase in flexibility. 
  3. Multiple windows can be opened simultaneously 
  4. An icon- small picture or symbol, represents applications, program, file, device and drive on the desktop and within application programs 
  5. Commands are issued in GUI using a mouse or touch pad or track ball to move the pointer on the screen for selecting objects 

Thursday 17 December 2015

HISTORY OF UNIX

  • UNIX OS development was started in the year 1969 at the AT & T Bell Laboratory.
  • Some of the team members were were withdrawn from the MULTICS Project  and started working on the UNIX OS.
  • Thompson and Dennis Richie designed and developed a simple multi tasking OS supporting two users.
  • It had an elegant file system, command interpreter and a set of utilities.
  • One of the members named Brian suggested the name UNICS in the year 1970s.

BSD UNIX


  • Berkley has worked on the UNIX OS that was developed by the AT & T Laboratory and created his own UNIX OS named, BSD UNIX.
  • A student called Bill Joy defined a standard editor of the UNIX system, called as VI Editor that used C Shell.
  • It has:
  1. better file management
  2. more versatile main features
  3. better method for linking files


HISTORY OF WINDOWS PROGRAMMING

Nov 1983 : 

Microsoft announced MICROSOFT WINDOWS , an extension of MS DOS Operating System that would provide a graphical operating environment for PC users

Nov 1985 : 

Windows 1.0 was released.It has easy to use graphical user interface, device independent graphics and multi tasking supportIt includes, MS DOS executive,  Clock, Calendar, Notepad, Terminal, Calculator, Control Panel, Program Information File (PIF), Editor, Print Spooler, Clip board, RAM drive, Windows Write, Windows PaintMicrosoft called it as a new software environment for developing and running applications that use bitmap displays and mouse pointing devices.With this, the GUI era begun

July 1993 : 

Windows NT ( formerly, Windows New Technology) as releasedIt was a new milestone of the companyWindows NT was the 1st Microsoft Operating System to combine support for high end client/server business applications with the industry's leading personal productivity applications

1995 : 

Windows 95 was released

1998 : 

Windows 98 was releasd

Feb 2000: 

Windows 2000 professional, upgraded from Windows NT 4.0, was releasedIt made hardware installations easier than the NT4.0 by adding support for a wide variety of plug and play hardware, incuding advanced network and wireless products, USB devices, etc.

Aug 2001 : 

WindowsXP was released.

Wednesday 16 December 2015

INTRODUCTION TO UNIX


  • UNIX is an operating system that was first developed in 1960s.
  • It is a suitable multi user, multi tasking operating system for servers, desktops and laptops.
  • It also has a GUI similar to the Microsoft Windows.
  • There are mainly 3 versions of UNIX:
  • Sun Solaris
  • GNU/LINUX
  • Mac OS X


PROGRAMMING PARADIGMS

What is Structured Programming?

Structured programming is a subset of procedural programming that enforces a logical structure on the program being written to make it more efficient and easier to understand and modify structure

What are the features of Structured Programming?


    1. Emphasis on doing things (algorithm)
    2. Large programs are divided into smaller programs known as functions
    3. Most of the functions share the global data
    4. Functions transform data from one form to another
    5. Employs top-down approach

List down some program paradigms.


    1. Procedural programming – COBOL, FORTRAN, Pascal, C
    2. Functional Programming – LISP
    3. Logic Programming – PROLOG
    4. Structured Programming
    5. Object Oriented Programming
    6. 4th Generation Programming – Dbase
    7. Visual / Event Driven Programming – Visual Basic

Define Event Driven Programming.

Event Driven Programming is a programming paradigm or system architecture that decomposes a program into a set of event handlers.The primary source of events is hardware I/O

What is an event?

An event can be anything such as , button click or mouse click on a window

Explain how an Event Driven Programming works, with a simple example.


  • Event Driven Programming is a programming paradigm or system architecture that decomposes a program into a set of event handlers.
  • An event can be anything such as : mouse click or button click on  window.
  • The primary source of events is hardware I/O.
  • Each window is sent messages via function calls that tell it what has happened based on the events, which are then processed accordingly.
  • If a button is clicked, the parent window is sent a message via a function call to tell what has happened
  • Each window has a window procedure that handles all of the messages sent to it.

Differentiate Procedural and Event Driven Programming.

Procedural Programming Code : We write the set of instructions, and they are executed in the sequence specified or decided by the logic
Event Driven Programming Code : It waits for certain events to occur and then react accordingly
e.g:
Calculation of a math problem :
Procedural Programming
Because, the algorithm to solve the math problem can be programmed sequentially.
Web Browser / GUI : 
Event driven programming
Because, events are good to handle a lot of things at once, or stuff we might not expect to happen or expect to happen, just not sure when.

Explain Windows Programming Paradigms.

  • A Paradigm is essentially a high level model of what computation is about.
  • Following are some programming paradigms :
    • Procedural :
      • It focus on grouping organizations and/or code by similar operations or by operations that can be done on them.
        • e.g : COBOL, FORTRAN, Pascal, C
    • Functional :
      • Program contains entirely functions.
      • Program itself is written as function which receives inputs as arguments and output as result.
      • There is no assignment statements, thus, a variable value once assigned will never change
      • It acts as an abstract for solution to polymorphism.
      • Function can create or manipulate other functions.
        • e.g : LISP
    • Logical :
      • Basic constructs of logical programming : term and statements are inherited from logic
      • There are 3 types of statements in logical programming : facts, rules and queries
      • Logical relationship between various entities are declared
      • Programmer writes the database of term and rules.
      • User supplies the queries
      • System tries to prove it. If it matches a fact, then succeeds.
      • Logical Programming Languages, tend to be declarative languages.
      • They concentrate more on the relationship between the parts of the problem, rather than the sequence to solve the problem
        • e.g : SQL, PROLOG
    • Structured
      • Structured Programming is a subset of procedural programming paradigm that enforces a logical structure on the program being written to make it more efficient and easy to understand and modify structure
      • There are 3 types of structures that can be used in a program : Sequence, Decision and Loop
    • Object Oriented
      • Here, Data type and Function type of data structures are defined.
      • Data structure become the object with data and function.
      • Relationship between objects can be created. E.g : Inheritance.
    • 4th Generation Languages (4GL) :
      • 1GL - Machine Language - String of 1, 0
      • 2GL - Assembly Language
      • 3GL - 
        • High Level Languages like C, C++, etc.
        • These programs are compiled into machine language using Java Virtual Machine as a part of the OS
      • 4GL 
        • These are closer to the natural languages than 3GL
        • Most of the languages used to retrieve database are 4GL
          • e.g : SQL
    • Visual / Event Driven : Visual Programming
      •  It is programming paradigm or system architecture that decomposes a program into a set of event handlers.
      • Events can be anything such as , button click or mouse click on window
      • The primary source of events is hardware IO
      • Each window is sent messages via function calls, telling it what has happened, based on the events, which are then processed accordingly.
      • Each window has a window procedure that handles all of the messages sent to it.
        • e.g : Visual Basic