Unit Six Assignment 1 Chris Boardley.

Slides:



Advertisements
Similar presentations
GCSE Computing Lesson 5.
Advertisements

compilers and interpreters
Alford Academy Business Education and Computing1 Advanced Higher Computing Based on Heriot-Watt University Scholar Materials Comparison of OO with other.
Software Development Languages and Environments. Programming languages High level languages are problem orientated contain many English words are easier.
Programming Paradigms and languages
Unit 6 Assignment 2 Chris Boardley.
Programming Creating programs that run on your PC
Server-Side vs. Client-Side Scripting Languages
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming.
Programming Languages Structure
Chapter 1 Program Design
Chapter 10 Application Development. Chapter Goals Describe the application development process and the role of methodologies, models and tools Compare.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
Objectives Machine language vs.. High-level language Procedure-oriented, object-oriented, and event- driven languages Background of Visual Basic VB Integrated.
Software Development Unit 6.
1 CS101 Introduction to Computing Lecture 19 Programming Languages.
Software Design & Development Software Design & Development Programming Types Event Driven Programming Event driven programming Is a type of programming.
Software design and development Marcus Hunt. Application and limits of procedural programming Procedural programming is a powerful language, typically.
Describe the application and limits of procedural, object orientated and event driven programming. 
CS102 Introduction to Computer Programming
© Paradigm Publishing Inc Chapter 12 Programming Concepts and Languages.
CSC 110 A 1 CSC 110 Introduction to Python [Reading: chapter 1]
Language Evaluation Criteria
CW-V1 SDD 0201 Principals of Software Design and Development Introduction to Programming Languages.
CSC 142 A 1 CSC 142 Introduction to Java [Reading: chapter 0]
Languages and Environments Higher Computing Unit 2 – Software Development.
Systems Software & Operating systems
GENERAL CONCEPTS OF OOPS INTRODUCTION With rapidly changing world and highly competitive and versatile nature of industry, the operations are becoming.
INTERNET APPLICATION DEVELOPMENT For More visit:
High level & Low level language High level programming languages are more structured, are closer to spoken language and are more intuitive than low level.
COMPUTER PROGRAMMING Source: Computing Concepts (the I-series) by Haag, Cummings, and Rhea, McGraw-Hill/Irwin, 2002.
Chapter 1: Introduction to Computers and Programming.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 1: Introduction to Computers and Programming.
CS101 Introduction to Computing Lecture Programming Languages.
Copyright © 2007 Addison-Wesley. All rights reserved.1-1 Reasons for Studying Concepts of Programming Languages Increased ability to express ideas Improved.
Chapter 8 High-Level Programming Languages. 8-2 Chapter Goals Describe the translation process and distinguish between assembly, compilation, interpretation,
Guide to Programming with Python Chapter One Getting Started: The Game Over Program.
National Diploma Unit 4 Introduction to Software Development Introduction to Programming Languages.
I Power Higher Computing Software Development Development Languages and Environments.
Computing System Fundamentals 3.1 Language Translators.
I Power Higher Computing Software Development High Level Language Constructs.
Task 1-Language Choice By Joshua Wild.
Chapter One An Introduction to Programming and Visual Basic.
Choosing the write programming language for the job. The choice of language may be based on: The experience and expertise of the development team. The.
Programming Paradigms By Tyler Smith. Event Driven Event driven paradigm means that the program executes code in reaction to events. The limitation of.
Lesson 1 1 LESSON 1 l Background information l Introduction to Java Introduction and a Taste of Java.
Programming. In your own words, explain what an algorithm is, and give an example of how people use algorithms every day.
Lecture #1: Introduction to Algorithms and Problem Solving Dr. Hmood Al-Dossari King Saud University Department of Computer Science 6 February 2012.
Program Design. Simple Program Design, Fourth Edition Chapter 1 2 Objectives In this chapter you will be able to: Describe the steps in the program development.
Software Design and Development Languages and Environments Computing Science.
Programming Languages Concepts Chapter 1: Programming Languages Concepts Lecture # 4.
Introduction to Computer Programming Concepts M. Uyguroğlu R. Uyguroğlu.
First appeared Features Popular uses Basic This language emphasises on ease of use, allowing general purpose programming to those with a small amount of.
Collision Theory and Logic
The language focusses on ease of use
PROGRAMMING LANGUAGES
Collision Theory and Logic
Key Ideas from day 1 slides
Unit 6 – Assignment 1 (P2, P3 and P4)
CS101 Introduction to Computing Lecture 19 Programming Languages
Coding Concepts (Basics)
Unit 6 Assignment 2 Chris Boardley.
Chapter One: An Introduction to Programming and Visual Basic
High Level Programming Languages
Principles of Programming Languages
ICT Programming Lesson 1:
Lecture 8 Programming Paradigm & Languages. Programming Languages The process of telling the computer what to do Also known as coding.
ICT Gaming Lesson 2.
Programming Languages, Preliminaries, History & Evolution
Web Application Development Using PHP
Presentation transcript:

Unit Six Assignment 1 Chris Boardley

Task 1 P1 - Describe the application and limits of procedural, object oriented and event driven programming paradigms.

The Procedural Paradigm Procedural programming basically uses a set of computational steps (procedures) in order to accomplish a specific task. This is a fast process and because of it’s simplistic approach, it is often the paradigm used when teaching programming to beginners due to it’s relatively simple logic. When writing code for complex software, procedural programming would not be the preferred paradigm because the complex software would require many lines of code, making it an unwieldy and perhaps confusing way of coding. Procedural Programming Languages can include – C. C++. Fortran. Pascal. Basic.

The Object Orientated Paradigm Object orientated programming focuses on using objects rather than procedures in order to accomplish a task. This can be beneficial because it is modular, which allows separate objects to respond to the same instruction differently. Also, it allows the programmer to alter specific objects without altering the whole program. OOP has a steep learning curve, requires a lot of planning and consideration of the relationships between objects can be difficult to get used to. OO programs also tend to be larger in size, which can be a problem in some circumstances. Object Orientated Languages can include – C++. Objective-C. Smalltalk. Java. C#. VB.

The Event Driven Paradigm Event driven programming is designed to react to events such as user inputs, usually mouse clicks or key presses. This allows for more intuitive and interactive programs to be created, especially when programing GUIs. EDPs also allow for easy communication between hardware and software. The event driven paradigm is generally only useful when programming for GUIs due to it’s interactive and reactive nature, which renders it a fairly inflexible way of programming. Event Driven Programing languages can include – Any language can be used, but can be made easier by using a language that provides high level abstractions like FOCUS, Lisp, Perl, Python, Ruby, SAS and COBOL.

Task 2 P2 - Describe the factors influencing the choice of programming language.

Factors Influencing The Choice Of Programming Language. Reliability. Expandability. Suitability. Organisational policies. Availability of trained staff. Development and maintenance costs. Reliability – Some programming languages are more reliable than others, and this is something that should be considered when choosing which language to use. A reliable program will be less likely to crash and will contain less errors. Ada is an example of a high level language that has built in tools and compilers that make programs written in this language more reliable. Expandability – Some systems are required to be used by many users at once, and some languages are able to cope with this demand better than others (PHP for example). Interactive websites need to be able to cope with a high number of users at once, but also need to work well when not dealing with a high capacity, so a language that can expand and scale well should be used. Suitability – The programmer needs to make sure that the language used will work well on the platform it is designed for. Programs written in VB will only run on Windows OS for example, so it would not be suitable if the program was being designed for any OS other than Windows. Also, the programmer needs to make sure that they use a language that has the features required to create the program, DarkBASIC is designed for creating 2d and 3d games, so it would not be suitable for web design for example. Organisational Policies – Some organisations choose to use certain hardware and software, and this should be taken into account when deciding upon a programming language. If a company is using MAC OS based equipment (because of preference or contractual arrangements) then using VB to create them a program would not be viable. Availability of trained staff – The programmer should consider using a language (when possible) that is popular and widely used, as this would make recruiting staff easier. C++ is quite a widely used and popular language at present, so there would be a lot of people available to hire that are trained in the use of C++ making it a desirable language to use. Development and maintenance costs – Some programming languages are available for free, and this should be considered when deciding what language to use, as generally the lower the costs the better. Also, some programs (RPG for example) have been designed so that they allow for quicker design and maintenance of programs, which will result in lower design and maintenance costs.

Some Advantages And Disadvantages Of Different Programming Language.

Some Considerations When Using Visual Basic Positives Easy to learn and understand. Not only a language but also an integrated IDE. Can be downloaded for free. Extensive online help environment. Includes a toolbox containing items such as buttons etc. which have built-in code, speeding up the coding process. Negatives Programs created in VB only work in Windows OS. Requires a lot of memory to install due to its GUI nature. Slower than other languages. It’s basic nature makes it unsuitable for creating complex programs. Inefficient for web development.

Some Considerations When Using C++ Positives Free to download. Syntax is similar to those used in other languages e.g. Java. Multi-paradigm friendly so can be used for procedural, OOP, generic programming, functional programming etc. Fast compared to others. There is a large community of programmers using C++ so there is a lot of available information and help. Negatives Complicated language so can be difficult to learn. Overly complex and difficult to debug when used for web applications. Mostly used for platform specific applications. C++ is only 8-bit. Can cost money to use certain compilers.

Some Considerations When Using DarkBASIC Positives Can be downloaded for free. Easy to learn. Doesn’t require as much code as other languages e.g. C++. Designed for creating 2d and 3d games, so excels in that area. Negatives DarkBASIC costs money to use without advertisements. BASIC languages’ syntax is unique to BASIC only. Is mainly focused on creating games, so isn’t very flexible regarding it’s functionality. Not very fast.

Some Considerations When Using JavaScript Positives Java is free. Developed to be secure. Cross platform compatible. Quite easy to learn (compared to C++ for example). Multithreaded, allowing for the program to perform different tasks simultaneously. Negatives Can be difficult to learn for someone with limited experience. Needs C++ to create an .exe or .app. Slow to develop and run. Slow compiler. Difficult to create frame based applications.

Some Considerations When Using HTML Positives It is free to use. Plain text is used so it is easy to learn and understand. Easy to edit because it is plain text. HTML is supported by (almost) all browsers, certainly more than any other language. It is very search engine friendly. Negatives Limited security features. It is a static language. All pages must be edited separately. No dynamic capabilities when used on its own. Structuring can be difficult to learn.

Task 3 P3 - Explain sequence, selection and iteration as used in computer programming.

Sequence An algorithm written in sequence will contain a series of steps. When the algorithm is run these steps will be executed in order from the first to the last without skipping any, because there is no method of selection and no available conditional branches. These algorithms will run the same way every time they are used, and will not respond to data.

Selection An algorithm written in sequence makes use of boolean logic, true and false. In order for these algorithms to run there must be procedures to handle control structures, such as the words if, then, else, endif, switch and case. This allows for branches in programs to be created depending on what data is being manipulated.

Iteration Iteration algorithms make use of loops, doing something multiple times. Fixed loops will perform something a set number of times every time the program is run. Conditional loops will run until a condition is met, for example it will run until something becomes true or false etc. Another example of a loop is one that will perform a specific action whilst a condition is active, i.e. the loop will run whist a condition is true, and will stop looping when that condition becomes false.

Task 4 P4 - Outline the benefits of having a variety of data types available to the programmer.

Benefits of having a variety of data types available to the programmer. Having a variety of different data types (such as strings, bytes, booleans, integers, dates, floating points etc.) can be beneficial when programming for a variety of different reasons. Some of these reasons are - Having different data types allows you to store data without waste, making it more efficient. Different data types have different maximum and minimum memory requirements, so data is stored using the least amount of memory possible. Having different data types allows code and subroutine parameters to be more expressive. Having different data types makes it harder to make mistakes i.e. if a number (integer/floating point) was accidently added into a line of text (string) it would produce an error. If this was not the case it could be a lengthy process trying to find the source of an error. Having different data types makes it easier to check for and resolve coding errors before the code is implemented. Having different data types allows you to write your code without having to re-implement standard data types.