Algorithm: a step-by-step way to solving a problem, or a way of telling a computer how to reach a goal. Computers typically run algorithms, but humans use algorithms too. For example, if you wanted to count all the apples in your fruit bowl, the decision to count them one by one and come to a total would be an algorithm.
Pseudocode: Easy to read syntax that resembles programming languages. For example, if you were counting apples (A), you could have pseudocode saying: A=0, for each apple in the fruit bowl, set A = A+1. This is written in a way so that people could understand it, not just computers.
Flowchart: A diagram of the steps needed in order to reach a goal, so a visual representation of the algorithm previously mentioned. Steps are laid out into shapes, and connected with lines and arrows - allowing anyone to view the chart and understand the process of the algorithm. There are different shapes for different aspects of a flowchart, for example starting and ending symbols tend to have rounded edges, with actions or processes being displayed in rectangles.
Evidence of a Flowchart I have created is available here.Sequence: The order in which instructions occur, and are processed. For example, step 1 is followed by step 2 and 3. For example, somebody who wakes up at 7am, brushes their teeth and then has a shower, is following a particular ‘sequence’.
Selection: Which path the program takes when it is running. So, instead of following a strict set sequence, a selection would create a variable - either you could perform this action, or not, depending on other factors. For example, if you went to brush your teeth and there was no toothpaste, this action wouldn’t be possible. In this instance, you may have to divert from your sequence.
Iteration: Repeated execution of a section of code while the program is running. This is also known as a ‘loop’, and can be used to repeat the exact same action until the desired outcome is reached. For example, if you took each brush stroke of your teeth as one action, you would ‘loop’ this action until you have reached the outcome of your desired duration. (Have I reached 2 minutes? Yes) In computer programming, this ensures that the same repetitive action does not need to be typed out hundreds of times.
Requirement Gathering and Analysis
Software Development typically begins with a customer, who has an idea for a website. They would contact a software developer, who would agree on the terms and accept the project. The customer and developer together would outline the requirements of the website, for example the customer may request a log-in section, a dashboard landing page etc. These requirements would then be broken down by programmers into actionable tasks during the analysis process. For example, a log-in section would require the creation of a username and password input field, a database to hold client details, a submit button etc.
Design
The design phase works with all the requirements, and begins to plan the product. This would contain things like the colour scheme, the layout of the pages, the choice of programming languages etc.
Implementation
The physical hardware is now set-up for the creation of the site, and the programmers begin to write the code.
Testing
Throughout the implementation process, testers can use the website to spot any bugs, or things that don’t make sense, and can spot flaws while the development is still early. There is also a testing process once the page is fully developed, to check for any last potential mistakes before the website is presented to a client. They need to check whether all the functionalities work as intended, that all the website requirements have been met, and that the design appears as desired. Any bugs that are found are sent to developers, and fixed at this stage.
Deployment
The staging development systems that have been used for testing will be prepared for production. This may involve installing new hardware, creating new servers, and developing the URLs. Once this has been completed, the website will be published live.
Maintenance
Once the website starts to be used, the servers and the system needs to be maintained. Need to monitor the usage of the website, the storage of the website, and the strength of the servers measured up to the number of users. This could require changes, such as expanding servers and databases to meet increased demand. Users may also get in contact to report bugs, which then need to be resolved by the development team.
HTML: Defined as HyperText Markup Language. HTML is a markup language, which tells the browser how to display content. Some content may be in headings, or in tables, or it may be displayed in images. HTML is written with tags, which tend to comprise an opening and a closing tag. For example putting the tag 'strong' would surround text, in order to make it bold. This tag describes what the browser should do with that text. However, not all browsers render HTML in the same way. The HTML would tell the text to be strong, but the browser than decides exactly in which way this is displayed.
Evidence: Completion of Codecademy Course in HTML 100%CSS: Defines the design and style of a website. Stands for ‘Cascading Style Sheets’ and includes things like colours, fonts and text sizes. CSS can be used to change the look of multiple aspects of a page at once. For example, it could change all the H2 text to being blue, bold and Times New Roman. Used alongside HTML and JavaScript.
Evidence: Completion of Codecademy Course in CSS 100%JavaScript: Unlike HTML or CSS, JavaScript is a scripting language. JavaScript was originally developed to be used in browsers to create interactive web pages, but now it can also be used in web/mobile apps, networking apps (like streaming services), games and more. Scripting languages add functionality, and extend the abilities of already built software. Programming languages, in comparison, develop software e.g. Java.
PHP: PHP stands for HyperText Preprocessor. PHP is a popular, open-source (freely available to use/read) scripting language that runs on the server-side to build things for the web. In comparison, HTML, CSS and Javascript run on the client-side. Client side scripts are run on a browser, used by a client. Server side scripts are run on a server, used by machines.
Governance: The World Wide Web Consortium is the authority for technical standards on the internet. It's a free online resource that allows you to validate your code. This would be done for debugging purposes, to find potential parts in code that are not web compliant. Ensuring your code is strong makes the upkeep much easier, and assures other developers that your code is readable, easy to develop further, and that it is professional and clean.
Evidence: Check I did on this webpage through the World Wide Web Consortium.Cross Browser Compatibility: By complying with web standards, it is hoped that a final website product would look somewhat consistent across different web browsers. Across different browsers, there are some similarities due to W3C standards, but there are also many differences in appearance. The most commonly used browsers are Internet Explorer, Google Chrome, Firefox and Safari. Developers would aim for their website to look somewhat consistent across these four browsers.
Websites, Mobile Sites and Apps: Making your website mobile compatible can be done with a mobile website builder, or through a mobile preview option on an existing web builder. Or, compatibility can be built directly through your code for multiple devices. This can be done through setting a ‘min-height’ and ‘max-height’, margins and ‘zoom’ attributes accordingly.