• Internal Code :
  • Subject Code : ICTPRG505
  • University :
  • Subject Name : IT Computer Science

Describe the Main Concepts Behind Client-Side Programming

The client side programs run on the machine of the end user which contains the web browser. Client side programs interact with the user with help of user interfaces on the display devices. They utilize various client side technologies and interact with the local storage as well with help of cookies.

Below are the main concepts of client side programming:-

Interaction with Local and Temporary Storage

Client side programs run on the web browser of the user's machine and rely on storing some data locally for various purposes. These range from cached display to the storing of cookies and other information to maintain sessions between the client and server. A good client side programming language must have a good mechanism for interaction with temporary storage of the computer that is running the browser.

Interactiveness of Web Pages

The web pages must be interactive for the end user. They must provide adequate success and failure messages display, error validation, input guidance and visual indications for certain operations that get completed in the interface. A good client side programming language provides elements and features to facilitate this.

Requests and Response Mechanism with Server

Client side programs that run on the web browser fetch data from a web server on a continuous basis along with pushing of some data to the server when the user wants to submit it. A good client side programming language must have synchronous and asynchronous methods of submitting data to the server using the standard GET, POST, DELETE methods and a good HTTP request-response mechanism.

Responsiveness of Web Pages

The pages must be responsive. That means they should adapt themselves to fit properly on devices of varying widths and heights, irrespective of the orientation of the device. A good client side programming language provides ways for the designers to use certain features of the language for writing responsive web pages.

Adherence to W3C Accessibility Guidelines

A good web page must adhere to the W3C accessibility guidelines which are listed on the W3C website. These guidelines provide suggestions on how a web page can be made highly accessible and usable by end users of all types. A good client side programming language must provide ways for web developers to adhere to the accessibility guidelines.

Describe the Main Concepts and Features of Object-Oriented Programming, Including at Least Four Languages that Can Be Used

Below are the main concepts of object oriented programming:-

Class

Class is the most important feature of object oriented programming. It is a collection of variables and methods. Class acts as a blueprint which defines the behaviour and the data of a certain type of real-world objects.

Inheritance

Inheritance is an important feature of object oriented programming. It allows reusability of code by allowing developers to use child classes that have access to all the properties of their parent classes. For example, if “car” is the parent class,“audi car” can be the child class which can inherit properties and behaviour from the general “car” class but can contain its own specific properties and behaviour.

Objects

Objects are instances of classes. Objects are created on runtime. A class is a blueprint whereas an object has physical existence. For example, a certain Audi car with serial number and physical existence can be an object of the “audi car” class.

Abstraction

Abstraction is a feature that hides unnecessary and detailed things from the outside world while displaying only the essential things that are required for the world to interact with the object in question. A very good example of abstraction is the human body where its exterior is required for the outside world to interact with it, but the outside world doesn't have to know about the internal mechanism of the body.

Encapsulation

Encapsulation is a feature of object oriented programming that provides bundling of data and functions that work on that data in a single container. This supports creation of containers that operate independently from each other and can interact only via function calls without knowing the internal details of each other.

Polymorphism

Polymorphism is an object oriented programming concept. It allows redefinition of the way certain things work. It does so by changing the way of doing it or by changing the elements used for getting it done. The two types of polymorphism are overriding and overloading. Overloading allows us to use the same method name with different parameters and return types for different scenarios. Overriding allows the child classes to have their own methods and fields which completely override the parent’s methods and fields.

Object Oriented Programming Languages

The four languages that can be used for server-side object oriented programming are Java, PHP, Python and Node JS.

Java, PHP and Python are class based object oriented languages whereas Node JS uses JavaScript as its programming language which is not a class based object oriented programming language.

Describe the Main Concepts Behind Web Design Programming in Hypertext Markup Language (HTML), Cascading Style Sheet (CSS), and JavaScript

Below are some of the main concepts behind web design programming in HTML, CSS and JavaScript.

Efficiency of Code

A very important concept of web programming with HTML, CSS and JavaScript is the separation of structure, behaviour and presentation in separate files. Instead of including all the CSS and JavaScript in HTML file itself, which is actually supported technically, it is always better to use different files to contain HTML, CSS and JavaScript by using name, class and ID tags to refer to the HTML elements and style them or control their behaviour. This makes the code efficient and neat.

Ease of Maintenance

Ease of maintenance is one of the main concepts involved in client side programming due to a mix of technologies being used. The code of different Technologies should be kept at different places to make it easy to maintain the code base. For example, if a programmer wants to change the behaviour of certain elements, he can only work on the JavaScript file whereas designers can keep working on the CSS without interfering with other team members.

Accessibility

Accessibility is one of the most important concepts involved in web programming. There are types of users who have certain impairments and cannot access information in text form, either completely or partially. Therefore, good use of audio should be provided wherever required, as an alternative. The content of the web pages must be self explanatory, assisted with headings, paragraphs, mouse controls, tooltips, help sections, translations and phonetic help wherever required.

Device Compatibility

Device compatibility becomes a very important concept especially in the modern age where there are multiple operating systems, screen widths, heights, resolutions available in the market. Compatibility with different devices is mainly achieved using responsive programming with frameworks like Bootstrap, good orientation change support and high definition elements in the web pages for high definition screens to avoid pixelation.

Describe the Purpose of UI Prototyping

There are various purposes behind creation of a prototype for the user interface before jumping into development:-

● A prototype acts as an analysis artefact and makes it easy to discuss it better with the stakeholders involved and get the feedback without spending much time on the actual development.

● Prototypes act as design artefacts. They enable easy explanation of the system’s solution space.

● Prototypes act as a basis on which the exploration of system’s usability can be based.

● They act as suitable vehicles for developers to communicate the design of the user interface to people outside the team.

● They act as a foundation on which the continuous development system can be based. It is very easy to discard a prototype and start afresh as compared to throwing a well developed web page away.

Outline the Documentation Requirements for UI Development

Documenting requirements for UI development is a very important step towards creation of user interfaces that meet the needs of the stakeholders and create a clean state of mind for the user interface developers, as the web designers and developers tend to overdo things due to their imagination level being higher than the backend developers. Also since design is very subjective, there is always a possibility of scope creep after the review by the client. Therefore, the following documentation artefacts must be produced before the development of UI design can start:-

Wireframes: Wireframes are the most basic presentation of the layout of the web pages. They are easy to discard and start afresh than the prototypes, if required.

Prototypes: Prototypes are more detailed and near replicas of the actual web pages to be developed. Prototypes are created when wireframes are totally agreed upon with the stakeholders. In most cases, the prototype design is exactly translated into web pages.

Color codes: The colour scheme of the web pages to be created must be documented before development starts and includes primary and secondary colours to be used.

Font Specifications: The font families to be used in the website at different levels must be documented in advance. There must be a secondary font family specified to back the font up if it is not available in a certain environment.

Mobile Responsiveness Specifications: For every page created in the prototype for the desktop environment, there must be respective pages created for tablet and mobile environments, to avoid issues due to assumptions by developers about what will be appropriate design to make for mobile resolutions. In fact, mobile layouts should be made first.

Remember, at the center of any academic work, lies clarity and evidence. Should you need further assistance, do look up to our Computer Science Assignment Help

Get It Done! Today

Apply Coupon code
  • 1,212,718Orders

  • 4.9/5Rating

  • 5,063Experts

Highlights

  • 21 Step Quality Check
  • 2000+ Ph.D Experts
  • Live Expert Sessions
  • Dedicated App
  • Earn while you Learn with us
  • Confidentiality Agreement
  • Money Back Guarantee
  • Customer Feedback

Just Pay for your Assignment

  • Turnitin Report

    $10.00
  • Proofreading and Editing

    $9.00Per Page
  • Consultation with Expert

    $35.00Per Hour
  • Live Session 1-on-1

    $40.00Per 30 min.
  • Quality Check

    $25.00
  • Total

    Free
  • Let's Start

Get
500 Words Free
on your assignment today

Browse across 1 Million Assignment Samples for Free

Explore MASS

Customer Feedback

Check out what our Student community has to say about us.

Read More
Order Now

Tap to ChatGet instant assignment help

Need Assistance on your
existing assignment order?