Latest Entries »

Standard File Types

I have converted one image, originally a JPEG, into a GIF and also a PNG file, and there are some differences. First off, the image. First of, this is the image as a JPEG file.

The image in memory capacity is 88Kb, and the quality is decent, quite bright, but what is it like compared to the other types.

GIF:

Now, compared to the JPEG image, if you look closely, pixels are visable, and although it is equally as bright asthe JPEG, if you look at the face, it seems more brighter, and you can see the pixels and theface being more shaded. The size of the GIF is also quite larger than the JPEG, at 248Kb, which is quite bigger than the 88Kb size of the JPEG image.

PNG:

There isn’t much change between the JPEG and PNG image, except the size. The PNG image is now a large 678Kb in memory capacity, which is significantly larger than the JPEG image.

Revision Diary

To be honest, so far, this being written on the 3rd of January, I have done not much revision. For the first week of revision, I relaxed, and in the second week, I would start dedicating half a day each to both subjects I have prelims for, Maths and, of course, Computing. So now it’s time for me to do some revision finally. This is my revision diary for the dates between the 3rd of January- 9th of January 2012.

January 3rd: Read over the flash cards to start off, and took a note of them all.  Began at 4pm onwards.

January 4th: Finished taking note of all terms, and use the multiple ways of learning the terms. I took the test multiple times and gained 95%. I will continue to use the tests and flash card as revision, and also questions on the Software Development Process for revision.

January 5th: Made a revision plan for the next couple weeks and went over notes in jotter.

January 6th: Went over the Programming section on the Wikispaces.

January 8th: Took more notes on Programming, moving on to the Analysis stage of the Software Development Process.

Addressability & Memory

Addressability is the way the computer identifies memory locations. Each memory location has to have an address, and easch address is a unique identofoer for that specific memory location. The width of an address bus determines how many memory locations can be accessed, for example, a 1 bit address bus can access 2 memory locations.

Their are many different types of memory, two of these are RAM and ROM. Random Access Memory holds data and application programmes from input devices and backing storage. RAM also loses data when the computer is turned off. It can also hold the operating system. There are two types of Ram, Static RAM (SRAM) and Dynamic RAM (DRAM). SRAM will keep memory if power is still applied to chips. DRAM needs a continuous signal to refresh its contents.  SRAM has faster access speeds than DRAM.

Read Only Memory has contents which are  fixed when the chip is made, and also holds the bootstrap loader part of the OS. Unlike RAM, ROM retains data once the computer is turned off. There are 3 types of ROM, Programmable ROM (PROM), Erasable PROM (EPROM) and Electrically EPROM (EEPROM). PROM empties data when the chip is created, and can be programmed by the user. With EPROM, the chip can be removed from the computer and the program erased and another stored in its place using ultraviolet light. EEPROM, like EPROM, but electricity is used to erase and reprogram selected contents.

Cache is temporary storage outside of AM and is the solution to the problem of reading and writing data to and from memory can slow down system performance. Cache is a small amount of memory built into the processor, and is physically closer to the processor and sored the next instructions that must be read.

Registers are also the solution, like Cache, to the problem. They storage locations which hold data being processed (Memory Data Register), Addresses of memory locations to be accessed (Memory Address Register) and Instructions being executed (Instruction Register)

The Processor

This blog post will deal with what I have learnt about The Processor.

The processor is apart of the Von Neumann architecture, which you can see below: 

 

Image

The processor is made out of mainly 3 components the Arithmetic and Logic Unit (ALU), the Control Unit and Registers. Below is a diagram of what the processor contains.

Image

The ALU is where data is processed and manipulated. The Control Unit manages the fetching decoding and executing of instructions, and Registers are very fast temporary storage locations which contain data being processed, instructions being executed and addresses of memory locations to be accessed. 

 The Fetch-Execute Cycle

To execute a program you must first loat the program and any relevant data in to the computers memory from disk. The program and data is stored in memory until needed by the processor. A program may contain thousands of instructions but the processor can only do these instructions one at a time. The first instruction is fetched from memory into the processor where is it decoded and executed. The second is fetched and then executed and so on until the program ends. This is the Fetch -Execute Cycle. 

Real Numbers.

This blog post will deal with real numbers, and how they’re represented.

Real numbers are numbers, which include:

  • Whole
  • Rational
  • Irrational
  • And also positive or negative numbers, and also 0
Real numbers are also known as floating point numbers. In a floating point notation, the number is stored as 2 bits of data. Floating point is like a standard form. Any number can be represented in any number base in this form: mxb^e
The M = Mantissa. A mantissa holds the complete number without the point. The E =Exponent. The exponent holds the number of places that the point must be moved in the original number to place it at the left hand side.
Example: What is the exponent of 111.1011?
The exponent will be 4, since the decimal point will have to be moved 4 places to get  to the left side: 01111011.

Binary

This blog post will deal with what I have learnt about Binary.

Binary is a series of 0’s and 1’s that represent on and off signals. The computer understands binary much easier than the English language, so basically binary is a computers preferred language.

It is difficult to try and explain how to convert decimal to binary so here is an example:

Decimal : 25

in this order, this is 8 bits: 128, 64, 32, 16, 8, 4, 2, 1.

to convert 25 to binary, we add the numbers from the 8 bits that give the solution 25: 11001 since 1 + 8 + 16 = 25

There are many units of measure, such as bit, which is a binary digit, that has a value of 0 and 1.

Steve Jobs Was…

…An Innovator.

He really was a trendsetter. If it wasn’t for him, we wouldn’t have the iPod (iPod Nano, iPod Classic, and iPod Touch), iPhone, iPad and iTunes. But, we would also not have alot of other technology which we have nowadays.

Imagine if all these were not created. He lead the way. If it wasn’t for these inventions, would other companys be trying out new software, trying to catch up with Apple? He had competition but they were really just followers, trying to beat Apple to become the number one company, but it could never happen. Just revealing a new product, like the iPad for example, just lead to other companys following suit, which lead to these products becoming only appealing to hipsters.

Many think that Steve Jobs just repeated ideas over and over again, but he didn’t, he took what he had an improved it, made developments which, like it or not, did make a huge effect.

Steve Jobs also, in a way, did save the music industry. How many artists now just release there singles on iTunes? Better yet, albums? Jay-Z and Kanye West released there collaborative album, “Watch The Throne”, first digitally, on the 8th of August, 2011, which lead to an increase in sells. iTunes is a much better way of releasing music, as it avoids a leak and decrease of sales. Also, Lil’ Wayne released his recent album “The Carter IV” at midnight on iTunes, although the album did spring a leak, it was released first on iTunes, and promoted as that.

Steve Jobs really has had a massive impact, he pushed things forward, and without him, there would be a massive change in the technological age. We really needed him, and once you look at what he has done and created, we really have  lost one of the greats, and one of the leaders of the technological era.

R.I.P. Steve Jobs.

Macros, Scripting, Modularity

This blog post will deal with what I have learnt about the following topics:

  • High level vs. Low Level Languages
  • Macros
  • Scripting
  • Procedures
  • Functions
  • Parameters
Firstly, High Level Languages are more similar to the english language, with terms like “If”, “Else”, ” Repeat” etc. The computer does not understand High Level Language (HLL), but does understand binary code, which is refereed to as “Machine Code”. These languages are known as Low Level Languages. Since the computer doesn’t understand HLL, we need translators, that translate HLL commands into Low Level Language commands. There are two different way’s to convert HHL commands into Low Level Languages commands, an Interpretor, which translates the code line by line, and a complier, whice translates the whole code in one execution.
I have also learnt about Macros and Scripting. A Macro is a key press which the user creates. This can save alot of time and make programs that have repeated steps more quickly done. Script’s provide the same advantages, and are more than likely the same as Marcos. The benefits of Macros/Scripts are that complex commands can be easily carried out by a single keypress and more functionality and flexibility can be gained from an application package.
A subroutine are a set of instructions designed to perform frequently used operations within a program. There are generally two  kind’s of subroutines, and these are procedures and functions.  The difference is that a procedure  produces an effect, and a function produces a value.
Parameters are variables or values that are passed into, or out of, a subprogram. There are two types of parameters, and these are “Formal” and “Actual”. An Actual parameter are parameters that are passed  into a subroutine when it is called from another part of the program.  A Formal parameter are parameters used in the subroutine definition.

 

This blog post will deal with the 3 last stages of the Software Development Process: Documentation, Evaluation and Maintenance.

Documentation: This stage is designed to help people gain an understanding on how  new software program they have operate’s. The  most common form’s of documentation is the “User Guide” and the “Technical Guide”. “The User Guide” is usually used to help explain how to use the software, and can be produced in paper format, but nowadays it is commonly produced as an electronic file or as online help. “The Technical Guide” provide’s information on how to install the software, the memory and processor requirement’s, the version number of the software and any associated help file’s or systems extensions that may also need to be installed.  There is other form’s of documentation, like “FAQs”, which means “Frequently Asked Questions”, which contain’s questions normally asked to the programmer’s by user’s. This mean’s that if the user is struggling, they can use “FAQ’s” to get help.

 

Evaluation: The evaluation stage is where the client and developer review the software. They usually review the program against these questions:

  • Does the software meet the user requirements?
  • Is it fit for purpose?

The program is also judged against a certain criteria, which is:

  • Robustness: Program should never fail
  • Reliability: It should be consistent in giving correct answers
  • Portability: It must be able to run on other computers
  • Efficiency:  The amount of RAM and memory used.
  • Maintainability: You can change and fix the program easily.

 

Maintenance: Maintenance is the final stage of the Software Development process, and is the process of making changed to the software after it has been given to the client. There are  maintenance activities, these are:

  • Corrective Maintenance: Fixing/removing bugs and errors
  • Adaptive Maintenance: Changes to the environment which the software operates means necessary changes to the code.
  • Perfective Maintenance: A response to a users requests to change the current system, either by adding  new or changing existing functions.
About 65% of time is spent on Perfective Maintenance, and only a small 18% on Adaptive Maintenance  and 17% Corrective Maintenance.

Testing

 

This blog post will deal with some of what I have learnt about the Testing phase of the Software Development Process.

 

Testing is a very important stage and could either cost a small amount of money or turn very costly if not handled well. Testing should be done properly and throughout the analysis and design stages of the Software Development Process. Testing can take up 40% of development cost’s, equal to the design stage. This mean’s that it can be very expensive and too late to realize mistakes from the design and analysis stage when you finally come to copy the final code. To sort this and avoid the expensive circumstances of error’s found late on, testing is done in the early stages of the Software Development Process. It is much more cost effective to solve mistake’s early on than find them later on in the actual testing stage, after Implementation.

 

There are many different type’s of error’s that can happen during the detailed design stage, for example:

  • Incomplete Logic
  • Poor Error Handling
  • Neglect of special cases/time consideration
  • Incorrect  understanding of problem specification

Error’s can also take place during the implementation of code:

  • Syntax error
  • Confusion of parameters
  • Error’s in loop counters
  • Initialisation error’s
  • Incorrect handling of result’s of a decision
  • Error in naming variable’s

 

Data set’s are used during the testing phase to  cover different cases that the programme could face. Their are three data set’s, and these are Normal, Extreme and Exceptional.

  • Normal: This test’s that the programme will display the expected result’s.
  • Extreme: This test’s the boundary limit’s of the programme.
  • Exceptional: This test’s if the programme will properly handle unexpected input’s.